Forgot your password?
typodupeerror
Programming IT Technology

FOSDEM Interviews On Free Development Tools 102

Posted by timothy
from the what-software-wants-to-be dept.
FOSDEM writes "The Free and Open Source Software Developers' European Meeting folks, aka FOSDEM, have just released the second part of their speakers' interviews. These interviews are dedicated to their development tools track, with Andreas Zeller for ddd, Benoit Minisini for Gambas and Alexander Dymo & Harald Fernengel for kdevelop. Previous interviews were already discussed on Slashdot here"
This discussion has been archived. No new comments can be posted.

FOSDEM Interviews On Free Development Tools

Comments Filter:
  • C++ autocomplete... (Score:4, Interesting)

    by Cyberax (705495) on Tuesday February 15, 2005 @03:48AM (#11675563)
    When will we see C++ autocomplete support in free tools at least equal to Visual Assist [wholetomato.com]?
    • by jokumuu (831894) on Tuesday February 15, 2005 @04:00AM (#11675586)
      In general there is a problem with many of the tools in the world of free software.

      The general problem is that those are usually built by true experts, that is people who know their programming inside out. The tools are built to "scratch a personal itch" thus they are generally very powerfull but not so userfriendly.

    • by Frymaster (171343) on Tuesday February 15, 2005 @04:00AM (#11675587) Homepage Journal
      When will we see C++ autocomplete support in free tools at least equal to Visual Assist?

      maybe i'm blowing smoke out my ass (puff puff) but it seems like you can get 80% of that just by using vim. let's look at the feature list from visual assists website:

      • Enhanced Listboxes no
      • Suggestion Lists ctrl p and ctrl n in vim will auto complete and cycle through all the similar options. you can set your dictionary to include a syntax file. the whole skinny on that is here [sourceforge.net]
      • Enhanced Syntax Coloring i don't know how "advanced" the coloring is... but vim certainly allows you to write some pretty "advanced" syntax files
      • Goto well, there's bookmarks in vim. that's similar.
      • Underlining of Misspelled Words there's a swell spellchecker for vim here [vim.org]. it "highlights" mispelled words... which may be as good as "underlining".
      • Auto Recovery. vim does a fine job of recovering (see here [vim.org]) i don't know how "auto" you need it.
      • by jokumuu (831894) on Tuesday February 15, 2005 @04:03AM (#11675593)
        I agree with you on that but maybe you are missing the point atlest a bit.

        Wast majority of people doing any sort of programming in the world are quite frankly not that good. Thus they need easy, preconfigured tools that will help them do the basically simple things they have to do, but that seem so difficult and intimidating to them.

        • Easy preconfigured tools like the third-party extension to VC which this thread is about?
        • by kwerle (39371) <kurt@CircleW.org> on Tuesday February 15, 2005 @05:45AM (#11675822) Homepage Journal
          Wast majority of people doing any sort of programming in the world are quite frankly not that good. Thus they need easy, preconfigured tools that will help them do the basically simple things they have to do, but that seem so difficult and intimidating to them.

          What a crock.

          If "having easy, preconfigured tools that will help me do the basically simple thing I need to do" makes someone dumb/lazy/whatever, sign me up.

          I don't want tools that could do something, or that can be tweaked to do something, or that can do something if you add other tools. I want tools that do what I want, right now.

          Saying that those tools nearly exist, or can exist with some work, is saying that the DO NOT exist - only it makes it sound better to some OS folks.

          (lover of jEdit, gnumake, etc)
          • I was not saying that easy tools make someone dumb or lazy. The point I was trying to make was the opposite, The world is full of bad programmers that cannot get much done without such tools. I have nothing against people useing anything that saves them time, very much the opposite, but a good programmer can do a lot without these tools, wereas a bad programmer will tear their hair out.
            • I was not saying that easy tools make someone dumb or lazy. The point I was trying to make was the opposite, The world is full of bad programmers that cannot get much done without such tools. I have nothing against people useing anything that saves them time, very much the opposite, but a good programmer can do a lot without these tools, wereas a bad programmer will tear their hair out.

              And to me that just sounds like more apologist crap. I like to think I'm a good programmer, and I tear my hair out witho
          • Amen to that...
            When I was in graduate school, and learning about things like genetic algorithms, or implementing a distributed file system, I needed operational tools now. I had to design and implement some pretty hardcore software in a matter of weeks. This is the kind of case where any/all help that my tools can provide is welcome, as I tended to be more focused on design. However, if the proper implementation tools are not redily available and usable, they might as well not exist at all.

            ~D

            • I had to design and implement some pretty hardcore software in a matter of weeks. This is the kind of case where any/all help that my tools can provide is welcome, as I tended to be more focused on design. However, if the proper implementation tools are not redily available

              [I'll probably sound like a crusty old SOB, but here it is:], one of the reasons that turbocharged software development tools get a bad rap is because they are used too quickly by novice programmers (I'm not implying you or anyone else

          • I don't want tools that could do something, or that can be tweaked to do something, or that can do something if you add other tools. I want tools that do what I want, right now.

            If you're going to be a professional software developer, you should invest some time in your tools. As you use a tool like vim, over time you build up a bunch of personalized settings, shortcuts, key mappings, etc. that is perfectly suited to the way you work. These go into one or two text config files.

            Once you have that, you ca

            • I'm an emacs person, so my config files are somewhat more extensive than "one or two text config files." :-)

              While I agree that a professional software developer should expect to spend some time configuring their tools, and investing time into making them as efficient as they can be, I don't think that many developers have very different needs.

              "everyone wants":
              Syntax coloring
              Indenting
              Word Completion (+ more (blocks, etc))
              Macros

              OO coders want:
              Class browser
              Method completion (+ constructors, etc)

              Have I miss
        • Actually, that's what they _want_. W they _need_ to find a different job and don't waste others' nerves by their 1337 pr0gramming skillz.
        • by Hamfist (311248) on Tuesday February 15, 2005 @07:07AM (#11676014)
          Maybe I'm not very good. Maybe that's a result of my job, where 20% of the time is programming and the rest of the time is tons of other stuff that keeps the company running smoothly. I've had to learn like many different programming languages over the years. Powerful autocomplete helps clear the cobwebs. If you mostly program in Java, do you remember your C++? How about javascript /PHP /perl and all of the other web languages, how about all of the associated standard and custom libraries? Sure I can read a man page, or heck, a paper page to remember the arguments; but why should I? Good autocomplete will tell you the function arguments, their types, reference styles and return values as you type. You simply cannot compare this to anything that requires additional keystrokes, window changes, book opening. I know the syntax, I know how to program effectively, but what was the name of that function? Did it take one argument,2 or 20? Modern programming requires access to a lot of information, and autocomplete is one of the best things I've seen. Add to that an annotated class/library browser and wow, holy productivity.

          Being an effective programmer often means picking up new tools. As these new tools inevitably come with reams of new functions / objects etc. Having a powerful editor flattens the learning curve greatly. How much quicker is it to become productive in a New language when you have autocomplete?

          btw: the point of this message is not 'difficult and itimidating', the point is 'getting the job done'. If having imperfect memory means 'frankly not being good', then welcome to the human race, mate.
          • This is fine if all people used autocomplete for was "remembering". I argue that this is not the case.

            All too often, Bob will find himself using autocomplete to see if a funciton in the list looks like what he wants to do. He has no idea how to do this task, but look - there is a function that sounds like it does what he wants. Forget that it may or may not do this task exactly, and forget that the documentation for the function may specify pre-conditions and post-conditions and other requirements... what
        • "the majority of people doing programming" cannot setup an editor to do what they want?

          We are not talking about average joe, these people are *programmers*. Maybe you wouldn't expect all of them to be able to implement an editor from scratch, but managing a simple vimrc file?

          That said, i have yet to see a preconfigured "easy-to-use" editor that can match the functionality of good old vim. My question is "Are there any programming tools that offer the functionality of traditional editors in a more userfri
        • Wast majority of people doing any sort of programming in the world are quite frankly not that good. What about the nuclear wessels? Sorry couldn't resist ...
        • Wast majority of people doing any sort of programming in the world are quite frankly not that good. Thus they need easy, preconfigured tools that will help them do the basically simple things they have to do, but that seem so difficult and intimidating to them.

          I don't think that only junior programmers need user friendly tools. The less you need to think about the tool, the more brain power you have left for the real problem you are trying to solve. This is why tools such as Whole Tomato's Visual Assist

      • You are blowing smoke out of your ass. Unless you've actually used Visual C++ and Visual Assist don't bother commenting.

        That vim auto-completion stuff is *extremely* primitive. It's just autocompletion of keywords basically. VC++/VA have full blown language based auto-completion. That means they actually have a complete parser for the C++ language, which is by no means an easy thing to do. A "syntax file" is just matching regular expressions (a glorified grep) and isn't doing any real parsing of the l
      • by Cyberax (705495)
        I don't care about user friendy interface, nice drop-down lists, etc. I need functionality.

        For example, VAssist correctly understands smart pointers, template parameters, partial template specialization and functors. No other tool can do it (yes, I did look at VIM and emacs).
      • by WARM3CH (662028) on Tuesday February 15, 2005 @05:25AM (#11675782)
        Guess you've never seen Visual Assist. No, you can't do MOST of what it does by simply using VIM. First, Visual Assist is not a text editor, it is a plugin for an already very good programmer's editor: Visual Studio. But it goes far beyound normal syntax highlighting. Why? Beacause Visual Assist is aware of the syntax of C/C++/VB/C#... and acts accordingly. For example, it can diffrentiate between local can globalr variables. The functions you have in your code and the functions you have used from other libraries. When you use it with existing libraries with source (like Boost for example), it will parse the whole thing and now Suggestion lists and spell checker will be aware of the new functions, methods and classes. So you can't simulate it with just a hand made syntax file, as suggestion lists and spell checker are project dependant. It also learns from the patterns you use more often in your code and sorts the suggestions in a way that the probability that you'd need to scroll down the list of the suggestions becomes lower and lower. Spell-checker nows the name of the local variables, included functions and namespaces so even before running the compiler, you know that you have not miss-spelled that function call. All in all, Visutal Assist is in a whole different class than VIM.
        • I haven't done any C/C++ for ages, but i do use vim, mostly for PHP these days. And it does add functions, variables etc that you define in the current file or that exist in files you include() to the completion list. I've never really investigated exactly how it works, so I don't know exactly how smart it is, or if it actually parses the code. I'm guessing it simply looks for keywords, but it adequate for me at least.

          I'm sure Visual Assist is a fine tool that is very useful to you, but if you try to compa

        • by mav[LAG] (31387)
          No, you can't do MOST of what it does by simply using VIM.

          Yes you can if you a) set up Vim properly and b) use ctags and TList whenever you can.

          Beacause Visual Assist is aware of the syntax of C/C++/VB/C#... and acts accordingly.

          Check.

          For example, it can diffrentiate between local can globalr variables.

          Check.

          When you use it with existing libraries with source (like Boost for example), it will parse the whole thing and now Suggestion lists and spell checker will be aware of the new functions, m
        • OK - great. One problem, the manufacturer of Visual Studio is Microsoft. Speaking from 20 years of programing, 7 of which was on the MS Platform, Microsoft is the developer's enemy. They will:
          1)Deprive you of an open community who shares code-level relities of programming
          2) Deprive you of an understanding of how libraries you use are implemented
          3) Make debugging the &*(^iest experience that you can ever imagine
          4) Force you to buy things just to be creative
      • I'm not sure that Vim's autocomplete is anywhere near as advanced as Visual Studio's or KDevelop's. In those IDEs (haven't used KDevelop for ages), you get a completion list for classes with annotations indicating whether they're private or public, members or methods etc.

        The completion in Emacs and Vi is far less advanced - it just selects from a list of matching terms. No list, no information and if I mispell a member, I get no indication, the auto-complete just starts selecting random matching symbols f
      • The VA stuff is a lot more advanced than (at least whats built into) vim. Many of the features aren't directly comparable, because they're things you'd want in a GUI environment rather than a terminal-based editor like vim. VA parses all your source files, including supporting libraries and dependencies (pulled from the Visual Studio project files). It does this in real time, as you work. The syntax highlighting is actually context-sensitive, not simple keyword highlighting.

        You could probably implement muc

    • kdevelop supports autocomplete. In the Project Settings I think under C++ one can select directories to parse for classes, which then are autocompleted. Aswell there is a plugin which does autocomplete with words written in the same file.
    • Autocomplete is not so useful as integrated help and other tools. It's intrusive, sometimes it pops up when you don't want it and slows down simply editing operations (the database of all possible c++ libraries is quite large).
      Also it's quite difficult to implement. I see many opensource projects spending huge amounts of efforts trying to implement these trendy features and then they leave basic things like usability and debugging support half finished
    • I've been absolutely itching to work and this problem for months, now, but what with work on my PhD corrections, I can never find the time :( I have, however, been thinking about the problem very intensively, and the following seems to be just about tractable - if I could work on it 10 hours a day, I reckon it could be done within 8 weeks. When (if ? :( ) I start working on it, I'll be using a language like Python as coding in C/C++ will be a nightmare. Here is what I would like to (and believe I could) i
    • Try Anjuta [sourceforge.net] (or here [anjuta.org] )
  • FOSDEM run linux?
  • New IDE (Score:5, Interesting)

    by should_be_linear (779431) on Tuesday February 15, 2005 @04:11AM (#11675611)
    Really neat free C/C++ IDE for both Linux and Windows is Ultimate++ http://upp.sourceforge.net/ [sourceforge.net] [SF]. It also includes framework for developing cross platform GUI. On windows it supports mingw and free (well "free") MS C++ Toolkit and native MS debugger. Nice part is that you can have single workbench with projects where you can switch toolchains (mingw/MS).
    • by Anonymous Coward
      Here [widestudio.org] : free (speech and beer), multi platform, multi language, own object library, GUI builder, etc. Looks really promising.
    • by Cato (8296)
      Anyone know if this includes the equivalent of MSDEV? This is the one thing I needed to build Apache 2.x on Windows, having downloaded Microsoft Nmake and their free Visual C++ Toolkit.

      Any other approaches to developing for Apache on Windows without having to pay for development tools would be great to know about.
      • According to the Apache docs, you can compile with nmake using Makefile.win
        • by Cato (8296)
          Thanks, but I already have nmake and would be using Makefile.win - the problem is MSDEV, which is missing from the free downloads that Microsoft provides.
          • Why do you need MSDEV if you're compiling with nmake? MSDEV is only needed for compiling from the IDE project files.
            • by Cato (8296)
              The nmake Makefile.win supplied with Apache 2.0 makes many calls to msdev - so the build process relies on both the IDE project files and (top level) makefiles.
  • GNU Bison!

    Holler for old-skool compilers =P

  • About smart editors (Score:5, Interesting)

    by aCapitalist (552761) on Tuesday February 15, 2005 @06:01AM (#11675847)
    I've been programming on Linux professionally since 1997 when we saw the writing on the wall for OS/2.

    Now I love vim, but mostly because of its keybindings and not because I think it's really a great program. It and Emacs are terminal programs at their heart, no matter what kind of guis you slap on the front-end.

    I've always like IDEs. I don't care about any false machoness about only using Vi or Emacs in the Unix world. You, as a developer, are a user too and the computer should be there to do the mundane stuff that you shouldn't be doing manually anyway. Just think if you didn't have ctags or etags and had to manually grep through source to find stuff. A pain in the ass.

    Now something like Visual Slickedit is nice because it can do refactoring and actually understands C++, but will cost you about $300 or more. That's fine for us commercial developers, but maybe not for the hobbyist. KDevelop 3.x, after the long rewrite, has finally got a somewhat functional C++ parser for it, but you have to bring in most of KDE to use it. Eclipse has a C++ parser, but then you have a dependancy on java and it's not so lightweight.

    My point is, if GCC was modularized then we might have had a lightweight editor/IDE that had a deep understanding of C++ to do cool stuff like Visual Assist does. Just look at what Eclipse or IDEA does for Java developers.

    I want to express my design in source and would rather have the development environment do some of the drudgery, menial work for me.

    Things have improved in recent years, but I still think that windows has a leg up on the number and quality of development tools.

    I now await the "ed is the only editor a real programmer needs" responses.
    • by BenjyD (316700)
      Precisely. I think there is a lot of macho posturing over programming tools, but if something can reduce the amount of state I have to hold in my head while coding, it's very useful. Of course, the tools can become a crutch - I really struggled going from Visual studio to emacs, because I was used to having everything laid out for me - but for an experienced developer that's not an issue.

      The only problem I found with both Kdevelop and Annjuta was that they didn't cope well with annotated function declarati
      • Of course, the tools can become a crutch

        Vim/Vi has been ported to every platform under the sun, so I always know that no matter what platform I'm on I'll have at least that.

        By the way, Anjuta 2.0 is just around the corner (later on this month I believe). Let's hope it comes with a decent parser. http://www.anjuta.org/wiki/index.php/Anjuta2 [anjuta.org]I've never really understood why Gnome people haven't put more emphasis on creating a top-notch IDE like the KDE folks have.
        • Vim/Vi has been ported to every platform under the sun,

          I know - someone even offered to hire me to port Vim to PalmOS a while back. I turned them down, but it would have been funny to see people trying to type Vi commands with a stylus.

    • I dunno - windows has a leg up on shiny editors (though I'm with you on vim - it may be a terminal program at heart, but it's a programmer's best friend). I'm watching yzis with some interest - building a ttuly GUI-oriented implementation of vim's core design would allow some nice improvements.

      But, I would argue that windows trails far behind in other development tool areas - tools like valgrind and oprofile. On the win32 projects I work with, I would trade visual studio for mingw any day if that meant I c
  • A large part of my coding and designing time is spent refactoring the code and I have been trying to find a good tool since forever.

    I have tried Borland's Together but would love to see something cheaper and more "integrable" into popular IDEs.

    • I'm no compiler expert, but it's my understanding that C++ refactoring depends on a deep understanding of the already complex C++ language - more so than say code-completion(intellisense).

      I know that visual slickedit has it (proprietary - somewhat expensive), but i'm not aware of any other editor/IDE that can.

      I know that http://cedet.sourceforge.net/ [sourceforge.net] for emacs can do intellisense type stuff, but not sure about refactoring.

      I wouldn't be surprised to see the Eclipse CDT plugin project get it eventually.

      I
  • SharpDevelop (Score:3, Informative)

    by Anonymous Coward on Tuesday February 15, 2005 @07:43AM (#11676124)
    Check this out... See if it meets your needs:

    http://www.icsharpcode.net/OpenSource/SD/ [icsharpcode.net]

    Works pretty well for me....
    • I tried out this open source IDE for C# on a fairly large project built using VS.NET and the results were that it was way too slow. It's pretty good for small projects, though.

  • by ahmetaa (519568) on Tuesday February 15, 2005 @10:20AM (#11676807)
    I do not get it.. why there is almost no mention of Eclipse or Netbeans in these articles? why java is the bastrad child of the open source community? is it because people still dont get it? Those IDE's are far beyond C++ counterparts. Even Visual Studio. Or take IDEA. it is free for open source use now and probably the best programmers tool ever desgined.
  • Smalltalk (Score:3, Insightful)

    by GnuVince (623231) on Tuesday February 15, 2005 @10:57AM (#11677148)
    When are programming tools for languages such as C++, Java or C# going to be as advanced as the stuff you get with Smalltalk?

Put your Nose to the Grindstone! -- Amalgamated Plastic Surgeons and Toolmakers, Ltd.

Working...