KDevelop review
A reader writes "Joe Barr has written a very interesting review of KDevelop. KDevelop seems to be a strong contender for folks looking for a C or C++ IDE environment under Linux.
" We're going to be reviewing this as well, along with other IDEs - but you can check out our current review of Cygnus Solutions' Code Fusion for Linux.
I believe the original poster meant inhouse use, not redistributed code. For inhouse use, you can do whatever you want with GPLed code, but as soon as it goes out-of-house, the GPL kicks in. I've never looked at the QPL, but from what's been implied here and there (and from my readings of other licenses), even inhouse use of Qt requires payment (correct me if I'm wrong).
Bill - aka taniwha
--
Leave others their otherness. -- Aratak
Aloha
;-)
In every Slashdot thread about related issues, I see a lot of people immidiately taking their distance from IDE's, with the appearant opinion that poor programmers use IDE's and good programmers use CLI. That is not true.
This is simply not relevant. I have seen very poor developers use vi/emacs and very good/talented developers use Microsoft Developer Studio.
It is a matter of individual taste what environment people prefer to use.
I prefer the best of both worlds; I usually start projects with an IDE (like KDevelop) that sets up the GUI framework quickly and easily, then does the source editing with xemacs.
Please, boys and girls, put yourself above that. There's no point.
No, the real enemy are Visual Basic
KDevelop is still in beta so segfaulting should be expected. Don't complain about that sort of thing until the thing hits 1.0.
Anyway - if you're such a code monkey then why not find out the cause of the segfault and fix it - that's the whole idea of GPL'd software isn't it?
Ooops, sorry. I forgot- the lamerz out there will kill me for this, but I hit the "3" instead of the "4". It should say "k001 4ppz", not k001 3ppz. Sorry, my mistake. And true, it won't make good coders worse- but will it make the bad ones any better?
BC:even inhouse use of Qt requires payment BC:(correct me if I'm wrong).
From the qpl:
6. You may develop application programs, reusable components and other software items that link with the original or modified versions of the Software. These items, when distributed, are subject to the following requirements:
a,b deleted
c. If the items are not available to the general public, and the initial developer of the Software requests a copy of the items, then you must supply one.
Seems to protect privacy like the GPL, but without the GPL loophole (that allows someone to sidestep the freedoms the GPL is meant to protect).
(correct me if I am wrong).
Ah. another name-caller. RMS and Bruce refer to the "Free Edition", not the "Professional Edition". Since you are so up on all things Qt, you won't need to go to the site and compare the two, will you?
The "Free Edition" license only applies to the the development of free, non-commercial software. That is not the topic under discussion.
To develop commercial or non-free (proprietary) software YOU MUST pay the $1550 for a license. Per developer.
I grant that this is better than MS, where I have to buy the (NT+Visual Studio Pro) combo to develop anything -- free or commercial.
But you and your brethren -- the angry, ignorant supporters of KDE (you keep confusing the "free edition" of Qt with the "Pro" edition, and don't understand the difference) -- are my target with these posts. I print a fact, you call me names. I laugh at your ignorance.
It is really sad when the licenses are there for everyone to read, they clearly support the facts as I have stated them, yet you cannot understand the simple english they contain.
Just read the Qt licenses (BOTH the "Free Edition" and the "Professional Edition") and admit:
1) It is more expensive to develop commercial applications under Qt than using Microsoft products by a factor of nearly 2 (pricewatch.com);
2) You arguably get a lot more for your dollar from Microsoft.
Is that so hard to do? Find the ignorance, READ!
If you want to bake an apple pie, you could grow your own apples, wheat, have a cow or two for the milk, some chickens for eggs, grind your own flour etc. The pie will probably taste nicer for it, but only to you. The people you share it with or sell it to wont taste the difference. That's because there isn't any.
These RAD tools take a lot of the tedious work, that is more or less the same every time out of your hands.
There already is a multitude of useless apps for Linux. Apparently everyone who learns how to code for X eventually writes his own version of Tetris and a fractal generator. A RAD tool isn't going to help 'script kiddies' write their own tools, although some really weird ones (with a sense of humour?) may compose a GUI for the scripts they use.
I wonder if there was this much resitance against the first assembler, or the first HLL compilers. There probably was.
People call QT free because they are referring to QT Free Edition which is published under the QPL which is a free software license (according to RMS and the DFSG).
... The real issue is Qt. Qt is not free, it's not open source, it's not even close
People call QT open source because QT free edition is open source software (according to the open source defintion).
When you say
First off, KDE is GPL from what I know. Anyone can examine, use, modify the code base to their hearts content under the terms of the GPL
you look like an idiot because you are writing like one.
You make statements that are nothing but blatant lies ("it's not open source"). You say the GPL is ok, and then criticise the QPL with criticisms that are equally applicable to the GPL.
If you want people to take you seriously you need to stop posting and starting educating yourself about what free software and open source software actually are.
I'm sick of it too, but when I get called an idiot for printing a fact, it just makes me more tenacious.
I'm in a position where I write proprietary code for money. It seems like I have to explain the difference between the "pro" and "free" licenses for Qt everyday, especially this week, with all the new releases.
Like many here, they are sure I'm "Flaming" or "Lying" or "Confused" or "An Idiot". But when I sit them down in front of the trolltech page, and show them, they slowwwwwwwly start to understand.
It *is* sickening and frustrating the way people refer to the Qt license as "Free", when that is clearly not always the case -- there are two licenses.
Just a nitpick: Windows© is a complete misnomer. You never see the copyright symbol after a trademark, because they aren't at all the same thing. It's Windows®
I've finally had it: until slashdot gets article moderation, I am not coming back.
i use slick edit too, and it is by far the best editor i've found for coding (but i also use jed or fte when i'm in text mode).
what i really like about slick edit it's how easy you can configure everything you like (key bindings, syntax highlight)..
and it's also available on a lot of platform (win 32, os/2, many unix flavors, even os/390!)
but it's no free software. and it uses motif.
there's also a very annoying bug.. i always switch between slick and a xterm, but everytime i get back to slick, the focus is on the menubar. argh!
you are just jealous cause programs like KDevelop make it easy for anyone to write a program, instead of how it used to be. That only the 'elite' could write programs. If you hate windows, don't use it. There are obviously millions of users that find windows to be just fine. There's room for everybody here on earth, and that includes people writing silly programs. Personally, I switch to windows because there are NO linux programs that do exactly what I need to do. And there are plenty of windows programs that do. Quantity doesnt count for much, but at least I am not stuck being limited by half-assed unfinished apps!!
Your comments are a bit harsh. The problem with GUI IDEs is that can you paint an interface in no time - but the really part of programming, getting the logic/backend right remains difficult. So you get a large number of people drawing a pretty GUI interface (wow, electronic crayons), but the program logic is a broken, tangled, inefficient mess. As for envy - I pity those so-called programmers who are stranded with out a point and drol IDE.
Talking about software that isn't even alpha yet while KDE's is almost complete, functional, and relatively bug free... I am getting used to this.
I'm all for KDevelop and I hope that it succeeds, but it brings to my mind at least a question. If normal people with very little programming experience get their hands on such an easy to use RAD environment (and it is REALLY easy to develop apps with this thing, that's not the point) and decide that they want to make this program or that one, who's going to stop them? Will we Linux users be flooded with dozens of useless apps "written" by a load of point-and-click programmers who came from the VB world? Personally I prefer using the console mode with Emacs in hand (figuratively speaking, of course) and a good old compiler such as gcc or g++ behind me on a secure system like Slackware. That's my IDE. But the other day, on the GNOME web site, I noticed a notice for an update for a program which "keeps track of your comics collection." I personally enjoy comics, but I can name every one that I have. I don't need an app to tell me.
I guess the point to all of this rambling is that don't we want more quality software than quantity? Windows© has quantity, and frankly I hate Windows©. I can't stand it. And I can't stand all of the "k001 3ppz" that the script kiddies can make in VB with little/no programming experience/knowledge. Over the next few years, do we want more useless apps or less frequent but stabler (plug: I like stability) and more useful apps? That's what I'm looking for. (plug: go KOffice!)
By providing online references and such it should help coders that lack a clue get one ;-)
When Code Fusion came out, I posted a question asking people about other IDEs available for Linux. After searching for myself for a few hours, I came up with several that weren't mentioned. In fact, I downloaded all the IDE's I could in order to evaluate them.
I found that Code Warrior and one other IDE had no evaluation versions, but I looked through all the rest.
Code Crusader was the basic vanilla-box editor which has none of the advanced features I was looking for. However, it was also the easiest to use and is probably a good starting point.
The second one I tried was KDevelop. The interface was very easy to use, but there were several things that bothered me about the program itself. One was that the integration was not complete. In order to develop C++ programs, it was necessary to edit command line arguments. Althought the docs were helpful, this type of tweaking should be unnecessary in an IDE. The other problem was that KDevelop kept crashing at random intervals with a Segmentation Fault. I don't know if anyone else has experienced this, or even if it was my fault, but I didn't experience any problems of this type with the other six or seven IDE's that I installed.
Code Fusion I believe was one of the IDEs that had no evaluation version.
Of all the IDE's that I reviewed, I found that several were missing important feature sets.
Take for example SlickEdit. This was IMNSHO, the best C++ editor available for Linux. The interface was intuitive, the code-complete features were especially dazzling, and the class browser was first-rate. However, SlickEdit lacks Multi-User functionality, and there is no integrated debugging. The debugger can be linked in of course, but there is no way to make the multi-user portion work. Although SlickEdit interfaces with several IDEs on other platforms, it does no such thing with any of the other Linux IDEs. I was very excited about this product and was disappointed to learn from their tech-support department that there was no way to get the type of integration I needed for multi-user support. Oh well, maybe next release.
Sniff+ was next on my list. To tell everyone the truth, I never even got around to installing it the first time. The download page was the most annoying I have ever seen. I hate it when companies ask for such extraneous information as postal code etc.. Just to get an evaluation version. Ok back to the topic at hand..
Sniff+ was simply exasperating and the installation was a hassle. I know that many people use this product successfully, but I had to make a fast decision about the choice of IDEs and after looking at the ugly custom interface that Sniff+ provides, and the lack of a real-time color coding tool, I decided Sniff+ was not for me.
The next product on my list was C-Forge. Initially, I did not like this product. I found it very hard to make even a simple hello world program. There was no help available within the program, as documentation is only available online. The program advertises that it has complete abstraction of the make tool. Well, this is all very nice, but it only serves to complicate matters. For example, the tutorial that shows how to create a hello world program fails to mention that for some reason C-Forge will ignore any #include statements in the code. Maybe I didn't have my libraries set up right or something, but there was no #include statement at all in the tutorial, and even I know that this is necessary to access printf() or cout.. My Linux installation used all the defaults, so there is no excuse for why the program should not work right away.
These faults are however temporary, and are not an underlying problem. The multi-user support of this package is immediately obvious as it requires a TCP port on which to run the server-side portion of itself. It has complete integration with RCS, and the way it handles everything is superfluous. The editor is very nice in that it will actually auto-tab to the correct space for code-beatification etc.. Of course, some people may find this annoying, but it can be turned off.
The function and class browsers are first-rate, and supposedly, there is a code-complete feature that I haven't gotten around to figuring out. The program itself is pre-setup for interfacing with the debugging tool DDD, which I have not yet had a chance to use.
This IDE had everything I needed, with a decent interface to boot. Although I was set on SlickEdit, this program simply has more of the functionality that I need. In the end, this was the IDE that I decided on, and it will be the one I use in the future. The support options look great. Included in the $150 price tag is a free upgrade to version 2.0 which is due out later this year.. For a little bit of additional money, the makers of C-Forge will send out quarterly updates on CD.
There were several other IDE's that I reviewed (I went through all the ones I could find, in total maybe 8 or 9 of them), but none of them were of any note.
One German one, of which I can't remember the name initially looked good, but I found such a simple fault in it, that I lost all confidence in the product. Simply put, the code-colorizer was crap. I had a class called "fooclass" and even though the "class" was part of the variable name, it was still highlighted as if it was a keyword.
In the end, c-forge was the right product for me. Even though the documentation is lacking, and the program has a steeper learning curve, it does not have any fundamental flaws that would keep me from working with this product successfully.
This attitude of program crashes being the fault of the user is one of the saddest legacies of the Microsoft Dynasty. Illegal input should not crash a program, it should only generate an error message and the program should continue on in a sensible fassion (even if it's exit(1)).
Bill - aka taniwha
--
Leave others their otherness. -- Aratak
GNOME is an architecture. Some of you have seen the GNOME desktop and some of its components. But the GNOME system is much more than this. GNOME includes a printing architecture, a component model, a CORBA implementation, a number of look and feel utility routines and various tools for developers. In short: GNOME is a platform for developing applications. the GNOME team would love to know how to improve the memory usage of GNOME and the speed of GNOME applications. Please, do not hessitate to contact us. We do have a web page where we take comments and wish list items, please check it out: http://bugs.gnome.org
You can't use the GPL at all for commercial modification unless the author gives you permission (and he may require bucks too).
I am really getting sick of this flamewar shit. It's been gone over hundreds of times....
If a commercial company wants to *modify* a GPL app in a proprietary way then yes the author can demand payment. In this way the GPL and QPL are pretty much the same. QPL is a free license, I think the poster was confused with LGPL which allows commercial companies to use free code in commercial apps - something RMS dislikes.
What you don't get with MS:
cross-platform compatibility.
source code.
Part of the cost of the toolkit is borne by the user. So the user has to pay a runtime fee of $(license cost of Win9x,WinNT)
Real support (this costs losta $$$ extra)
The $1550 is penalty the developer pays for writing non free software. It is subsidizing the free version. Also if you want smaller quality projects, maybe try contribution towards one yourself instead of whining?
Why is it that when someone says "I don't want to start a flamewar", you know that their comment is totally flameinfested.
Hello, Qt *IS* Open Source. Maybe you haven't accepted it but rest of the OSS community has.
Read this: http://www.opensource.org/osd.html
Then you rant that you have to pay for writing proprietary software. Many with me have the opinion is that if you write proprietary software you should pay for it.
Then you rant about bloat and C++. And in the next sentence you say that you would prefer Java. Earth calling, Java on Linux is one of the most bloated things you could use. Java on Linux is a painful experience, which really defeats the write once run everywhere slogan.
Please stop pushing down your opinions down peoples throats. We have our own opinion and if you don't like it, it's you problem.
So how is this less free than the GPL ? Try developing proprietary software with libreadline or libgdbm.
1) It is more expensive to develop commercial applications under Qt than using Microsoft products by a factor of nearly 2 (pricewatch.com);
(1) To get anything close to a devlopment environment on Windows, you need visual studio. Which is about $1000- last I checked. Then you need to plonk down some more $$ for NT.
(2) the fact that Qt costs more does NOT mean that it's more expensive to develop with.
(3) Try developing portable software with Visual studio, then watch your development time ( and hence project costs ) soar. BTW, if you're silly enough to try this, you are probably violating your EULA by developing for other platforms with MS tools ( this is at least true with visual basic, not that it works with other platforms anyway )
(4) Maybe you have to pay for QT, but you can get several helper apps such as Kdevelop, and the KDE libs without paying anything. By the time you throw all of these into the equation, it makes Qt considerably more appealing.
(5) Developer time is not cheap. If Qt saves so much as 2 weeks of development time on a project, it is a money maker. When you consider the amount of work that goes into maintaining software, it is more than conceivable that a high quality, well documented toolkit could save developers two weeks or more. I take it that you are not budgeting any major commercial software ventures, otherwise, I would expect to see considerably more rigorous cost analysis. You say that it's "too expensive", but give no justification for this claim
(6) And again, don't forget that making you pay to develop propreitary apps is LESS restirctive than outright saying that you can't do it.
I think it is important try really try and use the word "free" sparingly.
A very _smart_ marketer started to use it to serve a purpose and we seem to all be taking the bait.... hook line and sinker.
Let's try to create an awareness about this instead of tempers.
You get a friggin HUGE market!!!
Like the size of Sputnik!
with its own eco-system!
Arrrrgh HEED get me my pants!
The german Unix magazine IX has a review of Kdevelop in their october issue. unfortunately, only in the print version.
anyway, you might care to look up www.heise.de/ix, it's a great journal.
-gregor
All this allows is people just learning coding on Unix to get started easier. Sure, some of these people will make silly apps - but otherwise they would be making no apps at all.
I absolutely love KDevelop; it made me appreciate that it's actually easier to program for KDE/Qt than for MFC/Win32 (which I also do), if you have the right tools.
More importantly, I wanted to mention that an article on KDE/KDevelop programming (by yours truly) should be showing up in "Visual Developer" magazine in the November issue, God willing. Anybody interested in something that goes a little bit beyond the included tutorials should check it out. It's very cool to see a traditionally Windows-oriented magazine branching out to cover serious Linux programming topics.
When is there going to be a "Linux Programmers' Journal"? It's really strange to me that all these magazines have "How to hack the Linux kernel" articles sitting right next to "How to install X for the first time".
--JRZ