Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Programming

What Tools Do FLOSS Developers Need? 310

An anonymous reader writes "I am a free software developer; I maintain one relatively simple project written in C, targeted at end users, but I feel that I could contribute something more to the FLOSS community than my project. Instead of focusing on another project targeted at end users, I thought that I could spend my time working on something FLOSS developers need ('Developers, developers, developers, developers!'). The question is: what more do FLOSS developers need from existing development tools? What would attract new developers to existing FLOSS development tools? Which existing development tools need more attention? I can contribute code in C, Python and bash, but I can also write documentation, do testing and translate to my native language. Any hints?"
This discussion has been archived. No new comments can be posted.

What Tools Do FLOSS Developers Need?

Comments Filter:
  • by swanriversean ( 928620 ) on Wednesday January 20, 2010 @02:14PM (#30834970)

    Eclipse is a fairly good ide, it could use help with C/C++ development tooling.
    gdb could stand some love, especially so that it can better be hidden behind a UI.

  • by WillAdams ( 45638 ) on Wednesday January 20, 2010 @02:20PM (#30835074) Homepage

    Try an Interface / Project Builder replacement instead:

    http://www.gnustep.org/ [gnustep.org]

    InterfaceBuilder.app clone:

    http://www.gnustep.org/experience/Gorm.html [gnustep.org]

    ProjectBuilder.app clone:

    http://www.gnustep.org/experience/ProjectCenter.html [gnustep.org]

    NeXT used to charge $4,995 / developer seat for such tools --- now one can get them for free (even w/ a Mac, one can get a free on-line membership in the Developer's Connection and download the latest version)

    William

  • Documentation (Score:3, Interesting)

    by Anonymous Coward on Wednesday January 20, 2010 @02:28PM (#30835202)

    If there is one thing FLOSS regularly needs help with, it's documentation.

    I give you OpenSSL: One of the most well known libraries, and the documentation is very lacking. How about some better examples? How do I use PSK? How about a quick start guide?

    So many projects have this problem: They have "API documentation" which is nothing but a list of what the individual functions do with no indication how they get used together. Or they document functions but not data structures, etc. So if you really want to help, write documentation.

  • Re:Let's Remember (Score:4, Interesting)

    by nine-times ( 778537 ) <nine.times@gmail.com> on Wednesday January 20, 2010 @02:30PM (#30835252) Homepage

    That's fair, but it's also worth keeping in mind that "Fork it if you don't like it" is only better than a closed source product if you have the resources and expertise to fork it. Otherwise, you're just as helpless.

    Beyond that, the software that will eventually replace the old DOS-based crap you're talking about will be whatever meets the businesses'/users' needs. If you'd like to see that be your FOSS project rather than a proprietary solution, then paying attention to user requests might be helpful.

    If you don't care whether your project gets used... well I guess users have no leverage unless they want to pay you, and maybe not even then.

  • by arevos ( 659374 ) on Wednesday January 20, 2010 @02:32PM (#30835268) Homepage

    Anyone that claims either vi or emacs is a useful editor hasn't used a modern Windows IDE.

    Anyone that claims Visual Studio is a useful IDE hasn't used Emacs SLIME :)

  • by Anonymous Coward on Wednesday January 20, 2010 @02:39PM (#30835404)

    Anyone that claims either vi or emacs is a useful editor hasn't used a modern Windows IDE.

    Umm, I've used a modern Windows IDE and I still always go back to vim to do my Linux or cross-platform development. Contextual awareness is great, but the baggage dragged over with it is not worth the cost in terms of execution speed (it shouldn't take THAT fucking long to compile a program with half a dozen modules) and corrolary features such as build and integration control. In this regard, the Unix approach of having independent tools that do a small number of things well is still better than having a single tool that does a lot of things half-assedly.

  • by sbeckstead ( 555647 ) on Wednesday January 20, 2010 @02:42PM (#30835456) Homepage Journal
    There's nothing special I've seen in Visual Studio's debugging that couldn't be done with DDD
    This must be some new meaning for the word "done" that I have previously been unfamiliar with.
    Can you edit and continue when working with C++ or C#?
    Making changes on the fly is one of the premium features of Visual Studio and I have never seen it in any other IDE. True I haven't used all of them yet but I've been thru netbeans, eclipse and a few others. The integration of the IDE with the debugger is far more important than the utility of the debugger. I have seen this with python, lua and several interpreted basics but not with C++ or C#.
  • by EsbenMoseHansen ( 731150 ) on Wednesday January 20, 2010 @03:14PM (#30835966) Homepage

    KDevelop 4 is shaping up to be a very good IDE. Probably worth to try out a beta if you're into FLOSS. Does PHP (I hear) and C++ (I know) quite well. A few stupid corner that are not quite there yet, but most of the hard stuff seems to be working.

  • QtCreator (Score:4, Interesting)

    by scorp1us ( 235526 ) on Wednesday January 20, 2010 @03:25PM (#30836120) Journal

    Yes, I'm a Qt Fanboi, but hear me out:
    Qt is free (LGPL), multiplatform (support all users), fill-featured and clean.
    QtCreator (new) is the Qt IDE, with tons of support and integrated help, including an integrated gdb (or other) debugger.
    If you're on Python, then wait a bit for PySide or get PyQt now.

    I feel I can move mountains with just one download the sdk [nokia.com]

  • by shutdown -p now ( 807394 ) on Wednesday January 20, 2010 @03:36PM (#30836256) Journal

    Qt Creator has very good visual design tools, but the editor is lacking in things like code completion compared to VS. Even more so if you compare latest development versions of both rather than stable releases - VC++2010 can do code completion correctly on the template metaprogramming mess that is Boost.Lambda, for example; the only C++ IDE that can match this, from what I've been told, is KDevelop 4.

  • by gbjbaanb ( 229885 ) on Wednesday January 20, 2010 @03:58PM (#30836548)

    Its not so suspect, its just convenient. When you're running your app through the debugger, and find a piece of code that doesn't work, quite like you expected, you can change your current statement position, change the offending code and run through it. Its no more suspect than altering a variable value whilst debugging.

    Of course, once you're done you recompile and run through again to make sure.

    I think it works by re-compiling and linking your changes at the end of the image, and then adding a jump to the relevant section (and then back again). Edit&continue doesn't work unless you have 'incremental linking' turned on, so I'm guessing its built on the ability to add code to the linked image rather than re-create it.

    I find that 64-bit E&C support is strange, I was going to criticise MS for not supporting it in C++, but then it doesn't work in VB.NET or C# either.

  • by Mongoose Disciple ( 722373 ) on Wednesday January 20, 2010 @04:08PM (#30836702)

    IMHO, Eclipse is a great example of what's wrong with Open Source software from a usability perspective -- to be reasonably productive with Eclipse, you probably need a bunch of plug-ins, a bunch of time tweaking the preferences, someone who's spent years using it, and probably all of the above. Possibly you also need twice the memory (or more) of just about any other option to run at a reasonable speed for no apparent reason.

    I'm interested in coding; I'm not interested in spending a bunch of time fighting my IDE to do it, and when I think about the years I spent using Eclipse, that's basically what I remember. Other people have a different experience with it and I won't say they're wrong, but that's what it was like for me.

  • by Mongoose Disciple ( 722373 ) on Wednesday January 20, 2010 @05:41PM (#30838118)

    I can try; to be fair, it's now been a while since I've used Eclipse.

    I remember things like:

    - Needing to choose/install/configure plugins for things I generally consider to be standard IDE features, such as user interface (Swing, etc.) design or decent debugging
    - Views switching for no reason I could discern
    - Eclipse taking a long time to start up, which is tolerable except that it also crashed a few times a day
    - Problems building/deploying, such as the infamous "Eclipse Dance" and
    - Generally, spending more time dicking around with Eclipse and its plugins' config files than I have for any other piece of software, possibly more time than every other piece of software I've used put together.

    Most of the Java work I did was web development on fairly large projects; I know many people, even those doing similar kinds of work, have had a better experience with it.

  • by Anonymous Coward on Wednesday January 20, 2010 @05:47PM (#30838228)

    Well the author of Braid (the game) seems to have a few wishes for game development. Perhaps help him out?
    Source: http://braid-game.com/news/?p=364

  • by HeronBlademaster ( 1079477 ) <heron@xnapid.com> on Wednesday January 20, 2010 @06:10PM (#30838638) Homepage

    Visual Studio's C++ Intellisense gets better with every release (try out the 2010 Express Edition). 2008 in particular made Intellisense faster and more reliable and more user-friendly. It tends to not play nicely with anonymous namespaces, though, so if you use those a lot that could be a problem.

    In any case, I've found Visual Studio's Intellisense to be better than (e.g.) NetBeans' equivalent. Purely anecdotal, of course, YMMV.

    The debugger is what keeps bringing me back to Visual Studio, at least when it comes to C++ development. I never did get NetBeans' gdb integration to work. Eclipse CDT is... clunky, and I never got debugging to work with it either. ddd is not exactly friendly, and its integration with source code doesn't always work right (or: I can't figure out how to get it to work right). gdb *works*, but it's even less friendly, and doesn't have user-friendly source code integration in the same way that Visual Studio does. I've tried a few programs which claim to be alternatives, and I've been unable to get them to work as advertised.

    No, Visual Studio is not perfect, and maybe I'm just too dumb to make the other alternatives work properly. But shouldn't an IDE just work? TBH that's what I think Linux needs before more "mainstream" companies will write Linux software - an IDE for C and C++ development that just works.

    (Yes, I know C and C++ aren't the only options for application development. Responses like "companies should use $LANGUAGE instead" are not relevant to my comments.)

  • by rastos1 ( 601318 ) on Wednesday January 20, 2010 @06:16PM (#30838732)

    You mean GDB? What "new things" could be added?

    For sure I can imagine a few things:

    • GUI where I can drag and drop an expression from source code to watch window, or easily expand a structure in watch window, or switch between threads, or set commands on breakpoints, ...
    • edit&continue
    • remembering display expressions when going into the same functions twice, automatically save/load breakpoints on exit/startup
    • ...

    Yeah, GDB can do a lot. But GDB alone is not enough for efficient debugging.

  • by Anonymous Coward on Wednesday January 20, 2010 @07:49PM (#30840006)

    IntelliJ IDEA is going Open Source [jetbrains.com] starting with version 9.0

  • by greg1104 ( 461138 ) <gsmith@gregsmith.com> on Thursday January 21, 2010 @12:37AM (#30842234) Homepage

    The fundamental unit of all SCMs is the changeset. It's possible to convert between the various changeset formats using a tool like Tailor [arstecnica.it]. So you could build a useful prototype of something like this by running incoming and outgoing changesets through that sort of tool to convert to the native format of the server SCM. You can convert them to the native format on the server, so no need to invent a new distribution protocol. People end up building one-offs for this sort of thing out of simple shell scripts sometimes while doing a VCS migration, like attaching an exporter to the post-commit hook on the master to handle the distribution side. I think part of the reason there's been little uptake on a more universal approach is because it's not that hard to hack together something that handles any two of the options here.

    As you can see on the Tailor documentation page, there's already other projects building in the direction of more universal changesets too. One major issues with aiming for really broad support here is testing to make sure every possible operation works, and in cases where they don't figuring out how to limit the subset of work to the common denominator.

  • by ajlisows ( 768780 ) on Thursday January 21, 2010 @02:05AM (#30842854)

    I'm not a real developer. I'll readily admit that. I'm mostly a Network guy that happens to have written some stuff in C++, C#, VB, pHp, VBscript, Javascript, and Java. In the last four years, I've worked mainly in Windows environments and have been mostly using C++ or C#.

    My foray into using eclipse came when I needed to develop an application on an Embedded board my company wanted to use in its project. The boards that were decided on supported only Java so I grabbed Eclipse and went to work on it. I wasn't very good at Java in the first place so when I found that the IDE had a far steeper learning curve than Visual Studio...I knew I had my work cut out for me.

    There were plenty of forums and such with people giving offering advice on using Eclipse but a lot of it was "Use this plugin", "No, use this plugin instead" to the point where I had so many different plugins Eclipse became slow and I was just confused at times.

    Somehow, I kept managing to blow up the built in web servers that are there for testing, to the point where I couldn't test my applications. I had to do a bunch of crazy stuff to get it to work again.

    The Application I was developing relied on creating a GUI that allowed you to get and put information over a network from a serial port. I expected that dealing with the serial port commands to take a lot of time and effort. What I didn't expect was how difficult it was to lay out the damn GUI compared to how it is in Visual Studio.

    Again, this was a first attempt at using Eclipse, I was using a language I wasn't terribly familiar with, and I was writing an application of a sort that I had never really written before. All that probably figured into my not so great experience with Eclipse. The project turned out great in the end though. It just took waaay more time than I expected.

HELP!!!! I'm being held prisoner in /usr/games/lib!

Working...