Software Development with Linux

Meet the Linux Family Martin Lacasse

THU, 01 APR 2010

Meet the Linux Family is a series of interviews with various software developers, managers, and users, who all have a point in common : they use Linux.  They will bring different point of views on various Linux related topics and share their Linux experience with you.

It's already the fifth interview in the series.  I sincerely hope that you are enjoying them as much as I am.  This time, I've discussed with Martin Lacasse.  Martin is the Director of Software Development at Optosecurity.

Laurent : For how long have you been using Linux?

Martin : 5 years.

Laurent : For how long have you been doing software development using Linux?

Martin : Again, 5 years!

Laurent : Why did you choose Linux for your software development projects?

Martin : The main reason is the smaller footprint.  Also, starting with Linux 2.6, there's better kernel preemption.

Laurent : What are the advantages of developing for/with Linux?

Martin : GCC, which is a general purpose compiler, makes code almost platform independent.  Also, this compiler is running a lot faster than its competitor while generating the same highly optimized code.

Laurent : What are the disadvantages of developing for/with Linux?

Martin : I haven't found a good IDE (Integrate Development Environment) for C++ yet.  Also, GDB is not enhanced for all the newer language aspects, like setting breakpoints for a particular template specialization, etc.

Laurent : Are there differences between managing Linux and non-Linux software development projects?

Martin : No, not really.  It's only when you get to low level functions, which are often tied to Linux distributions, that you have differences.  For the managing part, there's no differences.

Laurent : From your experience, does it take the same time to develop the same software for Linux and for Windows?  Or do you think that it is faster for one of those platforms?

Martin : If you use Eclipse on both platform, the coding phase is comparable.  However, it can be faster, for an average developer to use an enhanced IDE such as MS Visual Studio, with IntelliSense.you see the biggest difference in the compilation and the debugging phases.  When using on the same hardware, the compilation and linking phase using GCC on Linux is a lot faster than Visual Studio, or even the Intel Compiler on Windows.  On the other hand, the debugging phase is a lot more faster with Visual Studio, especially with multi-threaded applications that uses standard C++ library (STL).

Laurent : Ok.  So, summing all this, do you have a winner?

Martin : Well, for an experienced developer, which will pass 90% of its time writing the code and 10% for debugging it, both platforms are comparable.  Linux developers will often says: "I must use console output to be as productive as on Windows", while the average Windows developer will says : "The compilation phase is killing me! To be efficient, I must recompile only a few times a day!".

Laurent : Which Linux software development tools do you used / like the most?

Martin : GCC, Python, Konqueror (for its fish transparency).

Laurent : Which software development tools you'd like to have for Linux (which currently doesn't exist, or no good solution exist)?

Martin : A better C++ IDE for sure.  Better debuggers, would also be great.

Laurent : Any recommendations/hints/wisdom for people new to Linux software development?