“The KDevelop team is proud and happy to announce that KDevelop 4.0 is finally available as stable release. KDevelop comes with lots of innovative features, even though many features from the 3.5 series were dropped due to a nearly complete rewrite. In particular the developers have focused on building an excellent C++ IDE instead of trying to integrate lots of languages and features halfheartedly. Of course KDevelop 4 also builds an excellent basis for other languages, the best proof for that is the PHP plugin that is released alongside KDevelop 4.0. KDevelop 4.0 has an excellent C++ code understanding engine, which allows the IDE to understand your code better than you do, and which is then used to assist you by releasing you from tiresome tasks.”
As a relative newcomer, I was using Kdevelop 3.x for my Ruby/Qt4 programming and it was BEAUTIFUL: well documented, easy to learn, and easy to use. I was making GUI apps with that combinatio inside of 2 months
While I was at first dismayed at the lack of “official” support for Ruby in KDevelop4; but there has been a LOT of really impressive other work being done by a number of folks (Richard Dale, Alexander Dymo, and others) to turn KDevelop into THE top notch non-Java based IDE for Ruby GUI desktop and Rails app development. There is a plugin I believe though it isn’t officially stable, and the integrated Kate is a pretty sweet editor for Ruby on its own…
So all you Ruby folks wanting to use KDevelop4 for Ruby, keep your eyes peeled, as it is activelyt evolving…and give it a shot…I know I will be…
What Qt4 bindings do you use for Ruby? Is the binding up-to-date?
Ruby is an awesome language… and an up-to-date Qt4 binding would be awesome.
QtRuby in the KDE svn is up to date and supports Qt 4.6. The version on the Korundum site on RubyForge is less up to date, and a new release is a bit overdue.
QtCreator seems to be one from the best IDEs.
What KDevelop has for C++ and QTCreator don’t ?
I don’t know why there is so much IDEs, why not choosing one and making it perfect rather than losing time building many ?
Support for languages other than C++ really counts for some of us. There’s more of them
Edited 2010-05-03 15:25 UTC
Qt Creator is missing some useful features. And it really makes signals and slots a pain. I can’t create the on the fly and have the code be generated. I basically have to go to three different places to do something as simple as making a button quit the application. I miss that from Visual Studio. Also missing is good code auto-formatting (you can’t configure it, so you are stuck with their annoying style), refactoring support, project structure browsing (not just file browsing) and so on. But it does look nice and for a basic IDE, it’s pretty solid. Doesn’t really have any crashes or glaring bugs. It’s just short on features.
WOW, as I’m reading your post I have to ask myself if you are using all the features. Qt Creator allows you to add a UI to your project then when you open your newly added UI file you can add buttons, layouts, spacers to it. After that you can click on the edit slots icon and drag and connect slots. You can even write a simple GUI app without writing a single line of code. I’m sure if I was manually creating everything with code Qt Creator would be difficult to use for that. but I find Qt Creator to be one of the highest quality, intuitive IDEs I have ever used. maybe I’m not understanding something. I may not use Qt Creator as extensively as you have and maybe that is why I’m not understanding where you are coming from. I hope this does not sound confrontational, I’m just interested in your point and why you would say what you said.
The 2.0 beta seems to work as expected, but I couldn’t get the older versions to behave that way.
Qt creator is the best C++ IDE i’ve used so far, specially because it works equally well on Windows, Mac and Linux.
But yeah, it lacks support for other languages..
Nothing, as I see.
Kdevelop 4.0 is too late, I’ve switched to QtCreator since 1.0, and it is a wonderfull tool for development, even for C (not C++) and not using Qt in your project – I have on in SDL.
It is the best IDE I currently know.
Sorry Kdevelop, I loved you, but where you were when I needed you? Now I have a new love
Edited 2010-05-03 15:41 UTC
KDevelop is a pure community project, while Qt Creator development is paid by Nokia (with some community contributions as well). KDevelop was there first, Qt Creator (“Greenhouse” back then) was announced during KDevelop 4 cycle.
There was some controversy about why Qt Creator had to be started (instead of contriburing to KDevelop), you can google it up.
-Semantic highlightning
-Semantic autocompletion
-Documentation integrated in autocompletion (in a better way)
-It generate graphics and UML on the fly
Those features are quite unique, MSVC++ and Eclipse look outdated when you code in KDevelop. As for QtCreator, it is a good little IDE, but not a fully featured one. I most admit that I still code in Kate because of the stability, even if QtCreator is getting there.
If qt creator doesn’t have semantic autocompletion, what does it have instead? Do you have an example of what kdevelop can complete, and qt creator cannot?
It completes pretty much everything for me (and has more “convenience” completions than most, like #include completion, signature completion for function definitions in cpp files, signal/slot completion…)
Try it, it’s free
But it is more the way it autocomplete. It is not syntax completion or dictionary/index based completion. Acording to KDevelop devs, the “duchain” parser understand the code instead of just completing it
I’ve used it.
Last time I tried it, it seemed to complete just like Qt Creator, i.e. correctly.
That’s what Qt Creator does as well (ditto for Eclipse, visual studio…).
What it does for me when you write the beginning of a function name it suggests matches found anywhere in the includes. So if you include a.h and a.h itself includes z.h when also functions from z.h are suggested. That is pretty normal.
Though then when it comes to the parameters the function takes KDevelop automatically suggests variables in your current scope of that type and afaik this is something Qt Create can’t do, no clue about Eclipse.
Further the colouring is a huge win –> local vars have their unique colors, members have a unique color … . At first I was shocked like “omg give me my black back” but once you got used to it it is a lot easier to read and understand code.
PS.: I don’t code for a living, for me it is a hobby.
Edited 2010-05-04 21:30 UTC
Visual Studio does all those things.
When it comes to C++, Visual Studio is objectively pure, unadulterated garbage. It’s not just bad, using it is a truly atrocious experience.
That may be true. I’ve only used it for C# (I’m more than happy to skip on the C++ experience — been there, done that).
Yeah, Visual Studio’s auto-completion and general source management for C# is top notch. For C++ yeah, it’s crap.
Visual Studio is the single best IDE in existance with the most integration of advanced features. C++ syntax highlighting is old news. Microsoft has had drag-and-drop GUI design for MFC (which sucks, btw) since before 2000. The problem with community-based large projects like this (5 years in development for KDevelop4??) is that people don’t get paid to do the boring work with nagging bosses that makes products really polished. Community products are labors of love, not products that meet customer requirements.
That being said, QTCreator is nice, but lacking for now. XCode is getting closer, but is still not quite VS2008-quality.
I’m looking forward to giving KDevelop4 a try once it comes to Ubuntu 10.04 repos. Hopefully they’ll prove me wrong.
Is that supposed to be a joke? When I first started coding in Visual Studio I was completely shocked at how little it did in comparison to the Java IDE’s i was used to working with. Luckily I found Resharper (add another $150 to the cost) which added back in most of the missing functionality.
I’ll admit that VS2008 isn’t bad, it seems like every new release now adds in the features that Resharper gave the previous one, and it’s much better than it used to be. But I’d hardly call it the pinacle of IDE’s that all others should strive to match.
I don’t care that you could do drag and drop interface design for mfc a hundred years ago. Being the first doesn’t mean being the best, and the fact is that as a C++ ide visual studio for the last ten years has gathered a lot of additional annoyances, performance and stability problems without getting any useful new feature.
I’ve been using it professionally since visual c++ 6.0 and went through every version since then so I’m speaking from experience here. Extensive and frustrating experience.
Your remark about polish and the little things that make an application great is also quite funny.
Here’s why it is such a pain in the ass nowadays, and yeah, it include many little annoying details. Perhaps open source developers aren’t great to fix that kind of things, but neither is microsoft.
Visual studio is generally slow and take ages to do things like opening a solution or reloading projects after a subversion update. It dutifully asks for for evey project if you want to reload it, if for some reason you wanted to reload half of the project in your solution.
The project setting windows is still not resizable, despite it often having to contain lengthy lists of include path or libraries. Non-resizable dialogs are about as laughable in the year 2010 as amigaos’ lack of usb 2.0 support.
Starting the debugger takes ages. Sometimes even launching a program takes ages.
After using it for the entire day, sometimes you try to change a project setting and it whines with a cryptic message because it exhausted some handles. Handle exhaustion, in 2010? Nice work.
So, then you have to restart it and suffer through a 5 minute solution loading… Again.
Sometimes it also just crashes.
When I right click something a project in the solution, it pops up a giant menu that contain a bunch of crap I never use, great interface design there.
The c++/cli forms editor is slow and doesn’t manage to succesfully parce the source if you ever changed anything in it. Of course, since it generate things according to a craptastic model of “everything in a .h file and then the user have to insert his code in the middle”, it’s guaranteed to break whenever you do anything with it.
The completion is unreliable as hell, I rarely bother using it.
Some things that are vital to find your way through large projects and source files tend to become unexplainingly slow when dealing with large projects and source files. We have some files in our project where opening the search window takes 20 seconds, the kind of file where you want to open that window to locate anything. It’s sometimes faster to do a project wide research.
Visual studio’s project management is (and always has been) a pain in the ass because project files pointlessly contain a list of files in the project, and it’s a regular source of svn merge conflicts.
Mixing together the project management and the build system is also a pretty bad design requiring you to click a million times in a million windows to set up anything mildly complicated such as a custom build step.
We’ve tried visual c++ 2010 also, to see if anything was improved. The only thing was that the search window stopped taking ages to open for no reason on some files.
For the rest, no noticeable improvement anywhere, but a bunch of extra exciting annoyances.
On an out of the box installation the pop up menu you get when right clicking on a project is even larger, but now if your mouse pointer is near the top or bottom of the screen the menu isn’t shifted up or down to fit entirely on the screen, it gets truncated and you have to hover an arrow to scroll through it. Of course, the most frequently used item in that menu (properties) is at the very bottom.
Another hilariously ill-thought change in vs 2010 is in the still not resizable project properties window.
You know those usually long and important lists like the include paths that are impractically stuffed into a single line property field?
It used that clicking them showed a small button to open a window to edit the list. Now it’s an arrow drop down button with two option: inherit from parent, and edit.
So not only you have one extra click to edit those, but if you accidentally select the first option, it clears the entire list.
I don’t understand how people can say that this is a good ide for C++ unless they never used anything else. Feature-wise it’s been stagnating for years, while the performance decreased and the usability got worse with each major release.
I actually believe that this ide is one of the major reason why people say that c++ sucks.
Edited 2010-05-04 08:15 UTC
I believe people say that because they haven’t tried Qt. They miss the easy-to-use libraries of Java/Python/C#, and blame C++ the language for whatever bad library they have been using previously.
You are mostly right: QT is a very good api (we are switching from MFC ), and it makes it easy for both java and MFC programmers to work with it, after a short accommodation.
But the flexibility and c heritage makes it worst actually. This should not be a problem however if you use it properly (as a OOP language).
And NeXT (now Apple) has it since the 1980s.
KDevelop’s problem isn’t that it’s a community project. The whole KDE is a community and not a corporation.
It’s the amount of contributors. KDevelop has AFAIK only roughly five.
I don’t know about today, but at least a few years ago most KDE developers didn’t even want an IDE. They preferred VIM inside the Terminal (a poll among KDE devs came to this conclusion).
I think you are correct.
I have even been playing with Vim and the Ruby plugins lately, though more for novelty and nostalgia for the days when I was using both XEDIT on VM/CMS as well at on UNIX at the school mainframe terminals…
As a ruby dev, though, I check a lot of other IDEs out from time to time and keep coming back to Kate. And of course with Kate’s integration into KDevelop and the Qt bindings, KDevelop is more like a juicy fast Kate with Ruby GUI drag and drop tools, which is kind of nice…or “Kate with benefits” to mix metaphors…
Personally, I am surprised more Ruby guys don’t use it…and when Quanta is in it full swing I can see them using it too…
No, it does not, not that way, at least. UML in visual studio was pushed in Visio the last time I checked, it was not native and interactive.
Completion is not there at all, it’s not in the same league, end of the line.
Syntax highlighting in VS is not better than Notepad++ (last time I checked was VS.Net 2008, I have not tried 2010 yet)
And the documentation in KDevelop is integrated in the completion, not only the header and doxygen @name, the whole doc.
It does not have it for c++, but it is there for c# and I guess for other .net languages (like VB). It is not complete but sufficient and well integrated.
There is some, but bad. Yet visual assist will provide a very good one (NOT FREE)
Again Visual Assist
I could not find a free and very good plugin for doxygen, but if you pay, or/and you are willing to use something based on XML you will find it.
I’m not saying that VS is batter. I didn’t try KDevelop 4, but the 3 was not so good as VS+Visual Assist.
Anyway NetBeans and Eclipse are batter than VS (at least in standard configurations), QT is the best for small projects, but has problems managing big ones, and KDevelop4, don’t know but I trust those who are saying it is the best non-java IDE.
You assume that kdevelop developers would be working on qtcreator if they were not working on kdevelop. Fewer IDEs does not mean that more people are working on a single one. And more people working on a single project does not mean that project will be better.
Edited 2010-05-03 16:17 UTC
But people not working on yet another (IDE/text editor/window manager/whatever) can work on some other project instead, perhaps something unique or innovative.
I’ve only used KDevelop4 briefly. Maybe a few hours this afternoon.
KDevelop4’s code completion is way more powerful than Qt’s. It was able to provide useful code completion in cases where Qt Creator can not.
http://zwabel.wordpress.com/2008/11/11/c-code-completion-rethought-…
Then you have the code assistant stuff.
http://zwabel.wordpress.com/2009/03/13/really-rapid-c-development-w…
Bear in mind, that’s from over a year ago.
It also has better refactoring support (the last version of Qt Creator I used didn’t have any).
As for why KDevelop exists at all… it’s actually older than Qt Creator. Way older. Did you expect the KDevelop team to drop everything they’d been working on to contribute to Qt Creator instead?
They don’t really fill the same niche anyway. Qt Creator is a cross-platform IDE for building Qt applications. KDevelop is a C++ IDE for KDE, which can be used to build KDE applications, or anything else.
I was actually using it as an IDE for devkitPro. You can’t do that with Qt Creator. I tried, since my only alternative was Visual Studio 2008. VS2008 barely worked (IntelliSense kept dropping out on me), and it’s editor is like something from the stone age compared to Qt Creator.
Oh yeah… I still prefer Qt Creator’s UI over nearly anything else. It took a while to get used to, but it works really well. I’ve not used KDevelop for long enough to compare them on that ront.
I’ve tried both and used both for a while.
I’m working on a project that is part c++ part javascript, using cmake, with some files in a custom interface definition language used to generate javascript bindings.
It’s a bit of a mess, and it doesn’t fit well in qtcreator, because when you import a cmake project into it, it inserts only the c++ files referenced by the build into the project tree and ignores everything else (the js files, the idl files, heck even the todo file I have lying around).
For some reason they deemed necessary to display only a subset of the directory tree of the project gathered from the cmake files, instead of just the entire directory tree of the project.
I don’t understand why they don’t do that, it’s not like people have projects lying around in directories full of unrelated stuff.
If it’s in the project directory tree, then it’s part of the project.
Now kdevelop 4 impressed me because despite the hybrid nature of my project (c++, javascript, and my own little idl language), everything just works. I can see all my files in the tree, and code completion works rather well, despite that my code contains a lot of C++0x things that kdevelop doesn’t know how to handle yet, as well as a lot of templates.
It even manage to color my idl files almost properly out of the box simply because they look like a subset of C++, even though they don’t even use an extension that’s anywhere usual for a c++ file.
There are lots of nice goodies. It hilights the symbol under the cursor everywhere in the code, it automatically assign a unique color for each function parameter name, local variable names and members.
It’s pretty nice overall.
QtCreator has a lot of the same shortcoming as visual studio: it’s pretty much really designed for projects created in the ide, the way the ide wants it. Basically it’s fine if what you want to do is a standard, qmake-based qt project, which is I guess exactly what trolltech needed it to be.
kdevelop on the other hand seems to make a lot of effort to work with what you throw at it.
Edited 2010-05-03 17:20 UTC
I’d like to try it out, but i don’t feel like compiling it and no ubuntu packages seem to be available.
Trying out new software in linux sure is a drag…
At least qtcreator has a binary installer that works well..
There are Kubuntu packages at http://www.kubuntu.org/news/kdevelop-4 ….which should work fine in Ubuntu…
Archlinux has KDevelop 4.0 since May 1st, which was the day of the release.
Ubuntu sucks for all kinds of KDE software. The packages receive less testing.
Wouldn’t be if all software developers used Build Service and let it create packages for all popular distros more or less automatically.
Oh that’s all it takes? No testing and tweaking needed for the other distros? I can build a program in Qt and not have to worry about it having problems in a Gnome based distro?
Sure you need testing and in a few cases tweaking. Build Service makes things vastly easier, but it’s not magical fairy durst.
Whole repos can be forked in Build Service, then OBS can be told to apply a patch (=tweak) to that forked repo, and then you hit “Trigger rebuild” in the web interface.
So instead of going through the whole packaging procedure for every single distro out there and possibly even one additional time for each architecture, a developer/packager does it once using OBS and then only adds tweaking patches if really necessary.
AFAIK Launchpad has a similar feature set, but no cross-distro support. Build Service was initiated by openSUSE (hence its OBS abbreviation), but was adopted later by the Linux Foundation and LF makes sure it stays cross-distro.
IIRC I’ve read somewhere (but please don’t quote me on that, because I’m really not 100% sure) that as a proof on concept openSUSE’s Build Service team wants to make the whole KDE SC available for multiple distros.
Why should Qt make any problems with Gnome? Pure Qt should integrate well into Gnome.
What stunned me is the drop of autotools.
KDE dropped Autotools years ago.
KDevelop is an IDE to create KDE software.
Why should KDevelop support build environments the whole KDE community doesn’t even use?
I’m sure the KDevelop maintainers happily accept patches to add support for Autotools from 3rd parties, but they likely have more important items on their TODO list for themselves.
Edited 2010-05-03 21:05 UTC
Thank heavens!! The autotools have done more to harm portability than anything the GNU project has ever put out. The sooner people move away from autotools, the better off we’ll all be.
It’s not dropped, it’s available via an external plugin. Currently it’s not up to release standards, unfortunately. But if developers need it, helping getting it up to standard are quite possible.
Delaying the release in wait for the automake plugin does not make sense, since KDevelops main target user group are developers of KDE application and they have switched to CMake.
Besides if the current lack of autotools support in KDevelop makes developers not choose it for new projects, or make existing projects move away from autotools it’s only a benefit.
The KDE team is great. That will certainly make KDE development even more productive.