Fosdem Linux.com
2005 Edition Free and Open Source Software Developer's European Meeting






Interviews

2005-02-14 - Alexander Dymo & Harald Fernengel

kdevelop

An interview conducted by FOSDEM & the LinuxFR readers
FOSDEM - First and traditional question: please present yourself !

Alexander Dymo - I was born in the south of Ukraine (it was the part of the USSR at that time) in 1979. I studied machinebuilding and computer science in Ukrainian State Maritime Technical University. Presently I am a postgraduate student studying project management issues in open source projects.

Harald Fernengel - I am a long-time KDE contributor currently living in Oslo. I enjoy working on open source and I am currently invoked in several KDE releated projects, for example KDevelop, KDE Accessibility, D-BUS and others.

FOSDEM - How did you both start working on KDevelop?

Alexander Dymo - I started to work on free software projects in May 2002. I was trying to improve Kugar (part of the KOffice suit) and I was looking for an IDE. At last I've found an IDE of my dream. That was not a KDevelop 2.x. The IDE of my dream was named "Gideon" (known thereafter as KDevelop 3). At that time the only thing that worker was application wizard. Next time I checked Gideon in November it was more robust. It crashed only two-three times per minute so I became exaltated and started to use it (I was still working on Kugar these times). Eventually I stopped being a user and became being a developer. So... I've been a KDevelop developer since then and a KDevelop maintainer since KDevelop 3.0.1 release.

Harald Fernengel - I was looking for a good IDE since vi and EMACS weren't my thing. KDevelop looked very promising, so I started contributing. With the powerful KDE component system, it was really fun to work on KDevelop since a lot of problems were already solved in the KDE core, for example version controlling, a difference viewer, an editor-independent integration layer and so on.


FOSDEM - What can we expect from KDevelop 4?

Alexander Dymo - Oh, that's a hard question! You can always expect that KDevelop 4 will be the best IDE you've ever seen :)

Seriously, we plan to work on the architecture. We've gained plenty of experience working on KDevelop 3 with plugin-based architecture and now we plan to make it even more flexible for KDevelop 4 than it is now. Among the most interesting things you might see in KDevelop 4 I must mention a new C++ parser which is being developed by Roberto Raggi. Improved parser will allow us to implement code refactoring and improve code completion.

There's also work on new project management facility with a brand new architecture (workspaces enabled) and improved support for various build systems available on Unix. You might see the beginning of that work in KDevelop 3.2 and 3.3 releases.

KDevelop 4 will be based on Qt 4 and KDE 4. The release date will probably coincide with the KDE 4 release date. Also there will be probably a possibility to build KDevelop on platforms other than Linux/Unix. According to the announcement from TrollTech Qt4 GPL will be available for MacOS and Windows also.

Harald Fernengel - We are currently working on a new core improving the interoperability of plugins. Another rather big step will be the native ports to Mac OS X and Windows, making KDevelop the number one platform and language independent IDE.


FOSDEM - Will there be code autocompletion in future version of kdevelop ?

Alexander Dymo - Well, we've had automatic c/c++ code completion since 3.0 release. Code completion works automatically for symbols in a project and requires the code completion database to be built for symbols in external libraries. That can be done in configuration dialogs. Of course for KDevelop 4 we plan more improvements to the code completion engine, so stay tuned ;)

Harald Fernengel - We already have that for several years. Roberto Raggi wrote a complete C++ parser for KDevelop, which is the most advanced C++ parser released as open source. We even support preprocessor directives and have recovery points so the parser will continue after a syntactical error if possible. The quality and speed of the parser beats most commercial solutions out there, which makes us pretty proud.


FOSDEM - What is your opinion on using UML to design and document programmes ? Should Umbrello be integreated with KDevelop ?

Alexander Dymo - I have a strong preference that software design and software development should be two parallel processes. Times of waterfall model are gone. Design and development should not be separated now. I don't share all the buzz about UML but I do consider it as a fairly good language for program design. Being a language UML poses a task of conversion between UML and the actual language (s) the software is being developed with. At this point both Umbrello and KDevelop come into the play.

Ideally, Umbrello and KDevelop should offer painless two-way integration. You can think of it as of automatic conversion between model and a code. Currently you can import code into Umbrello and export the model back it into a code. But that process currently is not seamless. Fortunately, there are efforts to make such kind of integration possible. We (KDevelop developers) had fruitful conversations with Umbrello developers during the last KDE conference. Therefore hopefully we will come with a solution in the future.

By the way, one can think of Umbrello/KDevelop integration as of embedding Umbrello into KDevelop. So I want to comment on this too. While I see no point in such of integration, it is technically possible. Thanks to the KParts (KDE component technology) every Qt/KDE application can be integrated and Umbrello is not an exception. Same kind of integration using KParts was already done with editors (Kate, Kyzis) and KDevelop Designer (available from version 3.1).

Harald Fernengel - With doxygen, we support a pretty powerful documentation generator. Our documentation browser features powerful code indexing and the support for a lot of formats (for example, even CHM).
Umbrello is a nice product and can be used parallel to KDevelop. Integrating the two projects is on our roadmap.


FOSDEM - How do you think KDevelop compares to the compeition such as Anjuta ?

Alexander Dymo - I've been watching over Anjuta for a long time. Sometimes I borrowed ideas, sometimes I looked through the code. Anjuta is a very interesting project but it is still relatively young so a comparison is not possible. Anjuta 2 which is going to be released soon with it's new plugin-based architecture reminds me of Gideon times. Really, the whole history of Anjuta development reminds me of KDevelop. At the same time Anjuta 2 has a lot of potential. It's just a matter of time for it to mature.

Speaking about competition, I must notice Eclipse. Eclipse plays in the same league as KDevelop now. It also offers a platform to build IDE applications, a plugin-based architecture and support lots of languages. The same does KDevelop. Therefore Eclipse should be mentioned as a first competitor to KDevelop.
Nevertheless it's quite hard to compare them. They often offer different features and tools. For example, I'd choose Eclipse for Java development but KDevelop for C/C++, Ruby or other languages.

Recent voting at LinuxQuestions.org confirms that competition between KDevelop and Eclipse is very tight.

What makes me feel good is that KDevelop is being choosed over Eclipse by users! We have LinuxQuestions.orgMembers Choice Awards, LinuxWorld Expo 2004 Award, Linux New Media Award 2003 and others. Each time Eclipse was the second!

Harald Fernengel - Anjuta has a long way to go, so it would be pretty unfair to compare it to KDevelop.

Eclipse seems to be the most promising competitor and it is surely better suited to develop Java applications. For large C++ projects though, KDevelop performs a lot better when it comes to speed of parsing, code management or
code navigation.


FOSDEM - What do you expect from your FOSDEM talk ?

Alexander Dymo - I'm very proud of being the part of KDevelop project. The KDevelop team does great job improving the application. And it is amazing that such complex project is being developed only by volunteer developers with so few resources. Therefore I always proud to speak about KDevelop and promote it to other people. At the same time KDevelop as an application is a powerful tool that can boost Linux/Unix development for a company and for a single developer. I'd like to see more developers using it and of course more developers improving it!

Harald Fernengel - I hope I can exite a lot of people to start developing on GNU/Linux and give them an overview of the richness of KDevelop.



 








© FOSDEM 2003-2005 - powered by Argon7