Posted by
HeUnique
on from the good-progress dept.
I just got the message - Kdevelop 1.1 is out, along with KDK (KDE Development Kit), Kdbg (KDebug 1.0.2) and other goodies for you to enjoy. Also, Martin Konold from the KDE development team sent some pictures from CeBit - worth a look.
When I first reviewed Linux for the company I work for, KDevelop was one of the two or three products that pushed this microsoft camp into the "Yeah - Linux looks good". Since I became an Old Phart, I've become addicted to IDE's.
I'm a big fan of the KDevelop project. However, one request I would make is to have customizable code-editing widgets. KWrite is a nice widget to use, but it is simply notepad with colors -- not very many advanced features for the seasoned hacker.
If someone could hack vim into a Qt or KDE widget, for use in KDevelop or stand-alone, then I would be impressed. Such a task seems more than trivial, now that I've tried it, because it seems the vim code is not exactly event-driven (or so I gather from some vim developers.)
I agree. I wonder why there is so many who wants to make text editors? KDE has a couple, GNOME too. I think gIDE also has it's own internal editor. Is it too hard (or too boring:-) to integrate exixting editors (emacs, nvi, vim, and so on).
I would gladly use KDevelop if it could use emacs instead. But since edit text is what one does the most, I use emacs. The class browser and wizards are nice, but I will not use an inferior editor to get those features.
Nice work by the KDevelop team but please, please, don't forget the editor.
Re:Excellent news, but...
by
Edgy+Loner
·
· Score: 2
Amen to that. Nedit absolutely rules as an editor, and it's pretty easy for people used to GUIs to learn. The only real hangup I can see is that the GUI layer in Nedit is Motif/Lesstif built. That could complicate embeedding it in Kdevelop. Nevertheless the editor guts with autoindent, bracket matching, etc are still there. Here's the Nedit homepage: www.nedit.org
Nice to see the good ol' KDE gear icon...
by
Xenex
·
· Score: 2
Nice to see the good ol' KDE gear at/. after all the stuff happening in the GNOME world of late:-)
I use both KDE and GNOME, switching between the two as my default on-and-off, but KDE has always been my favorite.... (GNOME looks better though, but KDE2 seems to be catching.) Having the choice is a great thing though...
Kdevelop looks like it will REALLY help the KDE cause though, with apps being easier to write. Once again, KDE has the edge on GNOME...
Anyway, this is my $0.02, so I'm gonna put on the flame suit and brace myself:-)
Nice interface but....the debugger
by
Fnord
·
· Score: 4
This looks fairly nice, I haven't tried it personally but if its as close to VC++ as they say it is then its probably a decent interface to program in. I won't use it though. No matter how nice they make the editors/class browsers/project managers all these ides seem to slack on the debugger. They always have what looks like just a little arrow in the source window that follows the output of gdb, maybe a table of variables, maybe breakpoints. Nothing else. No real use of the power an integrated environment like this COULD give them. The best debugger I have ever used (on any platform) is the Data Display Debugger. I've made a few converts to unix just by showing people what this thing could do. And no I'm not affiliated with the developers of this in any way, I just like the thing. So for me it's still going to be vim/xemacs (depending on my mood) ddd and a makefile for my devel environment.
I downloaded the beta of Kdevelop 1.1. Kdevelop will make people coming from a Windows and VC++ environment really happy, since it offers a similar style of programming and GUI design. Kdevelop will also attract a lot of developers to the Qt toolkit, since it makes it pretty easy to use Qt.
Of course, I'm not entirely sure why this is a good thing. GNU&Linux wasn't built or used by people who approached programming that way. Is KDevelop going to bring a lot of developers from Windows to Linux? What kind of changes will they want in Linux? And what will that mean to the traditional GNU&Linux communities?
I think there is a lot of interesting stuff to be done in the traditional text-based GNU/Linux/UNIX approach to programming. Here are just some simple ideas:
a working command line version of cextract for C++
a better version of make that determines and manages dependencies among C/C++ files faster, more automatically, and more reliably than existing approaches
a constraint and rule-based language for specifying GUIs in your favorite toolkit
an SML-style module system for C (and maybe C++), integrated with a make-like facility
integrating the C/C++ bounds checking hacks into the main branch of GNU C and figuring out a good way of making that backwards compatible with old libraries
KDevelop is glitzy. It's a big and impressive development effort. It's probably useful for people who want to build Windows-like applications with a Windows-like IDE. I can even see why people have fun developing it.
But, ultimately, KDevelop looks foreign to me in a UNIX environment and less useful for traditional UNIX uses and users. I'd like to see more effort go into building tools in the traditional UNIX style (and I'm trying to help when I can).
Great for non KDE development also
by
_Gnubie_
·
· Score: 3
First of all - Thank you to the Kdevelop team!. Kdevelop is imho KDE's killer app. I havent used it to program one line of C++ or KDE code, all of my code is C (openGL stuff and believe it or not I load my Glade generated code into Kdevlop for easy GTK hackng). I have OpenGL and GTK docs available in HTML format in the IDE at the simple click of a button and its easy to add more in the doc toolbar. Kgdb is a excellent frontend to gdb. It lets you view structs in a tree form (Invaluable for linked lists etc etc).
Even if you dont use KDE its worth installing the libs just for this one app
In my humility, I always thought that base object like 'Object' in Java is a kludge to avoid the fact that there are no templates (and standalone functions). By the way there's a base object in C++. It's spelled 'void*'. --
-- Industrial space for lease in Flatlandia.
Qt IS an option, but you've got other good ones...
by
Svartalf
·
· Score: 3
Qt (NOT KDE) is an option (and a good one at that) for your work. One should be aware that the should you produce something commercial in any way shape or form, you owe Troll something like ~$1500US- and I can't remember if the Free QT license ammended the rule such that the Windows version was free for GPLed works. If it hasn't been, you'll need to pony up (and anybody else that works on it) ~$1500US to do it.
Other equally good options include GTK+, GTK+/GTK--, GTK+/WxWindows (WxWindows would use the native Windows calls under Windows...), and Fltk come immediately to mind as likely cross-platform GUI apis.
-- I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
KDevelop can be used to develop anything from KDE apps to daemons. Personally, I have only used it for non-graphical applications, and I have found it to be quite good. The Class browser is excellent, and it certainly aided me in farmiliarizing myself with the code in an already in-progress game. (adonthell.linuxgames.com)
I am developing the combat engine in KDevelop, and I have found it first class.
I won't argue with your bulleted points, just the foul smelling bits at the end. I use vi extensively, and mostly run on a command line in Linux. To say that someone using a GUI to get a job done is 'not in the UNIX style' is hog wash.
Do you really think that working with your graphics card in text mode makes you a *real man*, and a true UNIX developer?
Of course they can do what they want - and I think that the poster acknowledges that.
It's just that linux is made to be linux. Linux is a UNIX clone, and as such, has a certain heritage. What I think the guy is trying to point out is that even though you might be able to dress up Linux as something very similar to windows so that it will be attractive to certain types of people, (i.e. the windows converts as they come over to linux) that's not the main point of linux. Linux was supposed to be an alternative to windows, not a cheap bastardized rip off version that looks exactly like windows. And I don't think that that's what KDE or KDeveloper is doing, just that Linux is made to be Linux, and these types of programs are fine to run on linux, but they don't embody the soul of what the operating system is supposed to be about.
But if you get enough developers using it, you may have a real shift in what type of software shows up for linux. Since we all seem pretty happy with our operating system right now, whatever "paradigm" that is in use seems to be pretty popular and seems to be working out. Why mess with success in the name of catering to a population moving over to linux from windows? If they want a pretty GUI to develop programs in that looks just like windows, well then stay with windows.
-- --
Truth goes out the door when rumor comes innuendo. -- Groucho Marx
they [programs developed with kdevelop] don't embody the soul of what the operating system is supposed to be about
Guess what? It doesn't matter at all.
The operating system is the operating system, and the apps are the apps. the apps are not the operating system, and none of these have a soul, so they embode nothing.
KDevelop is not even specially oriented at Linux users, anyway.
I have used Kdevelop for some time and I love it. It is one of the few big projects I actually bothered hacking to compile on FreeBSD w/o a port. (this was a while ago:-)
Anyone who thinks they can exceed by a great margin the learning curve/productivity level of someone who is a veteran with VC++/KDevelop is mistaken. It takes a *god* in order to do much more.
I forced myself to become very proficient with Vi.. and im probably better/more productive WITH Vi.. But I still choose to use KDevelop because *I* do a lot of work with VC++ and VB. (Hold down CTRL+SHIFT arrows to select).. blah at work and to come home and not have to switch thinking modes when I feel like hacking some mud code.. sweet. Keep it coming I like it a lot.
I cannot tell the difference in anything except the debugging process. VC++ is GOOD. GDB gives it a good run for its money if you force yourself to become *god* with it tho. In fact I find GDB a little easier to use so the debugger thing could be a no again.. this is just me tho point.
Basically its just an awesome product and I really hate to see people slam it saying Vi or Emacs!!!! Open your mind a little and realize these are just tools to complete a job. Use what suits you best but dont Bias yourself towards a tool of equal quality just because you dont think its the *nix way.
I happen to think that Emacs is really great and I would prefer I could use Emacs all day all over.. but I cant so I am making trade offs for my sanity *snaps*.
Linux was supposed to be an alternative to windows, not a cheap bastardized rip off version that looks exactly like windows.
I have to disagree with you here. Linux is supposed to be whatever you want it to be! The source is available and open precisely so you can hack on it and turn it into whatever you want. The whole system is open and exposed to your tinkering for exactly the same reason.
This means that if you want something that looks exactly like Windows (but runs on a Unix core), then Linux is supposed to be an OS capable of giving you exactly that! It's the OS that you should be able to make into anything you like, and if that's what you like, then that's exactly what Linux should be able to deliver.
If you want Linux to be Windows, and you can't do it, then not only is Linux failing to be Windows, but Linux is also failing to be Linux!
Windows is an OS where someone else decides how you should do things and how they should look. Linux is not supposed to be like that. Anyone who therefore feels that Linux must be like Unix, or thinks Linux is "supposed to be about" emulating Unix rather than Windows or whatever other use poeple want to put it to, these people are people who still don't get it! Who are you to decide what programs are "being true" to the vision of Linux? People are diverse, we all have our own visions of what an OS should be. Linux should be able to embody all of them, except for the visions of those who think the point of Linux is to force others to work under their vision, such as some people who seem to think anyone using Linux should be forced to share the Unix vision.
I love Unix. I fell in love with it the first time I used it in 1987. I used Solaris on a daily basis for most of the 90's. I love Linux because it implements a Unix-like vision of how computers should work. But I'm not fool enough to believe everyone in the world shares my vision, or even that they should. I'm hopeful enough to believe Linux is capable of encompassing the visions of all these other users, as well as my own. If it cannot, then Linux truly will be a failure...
--
-- "Convictions are more dangerous enemies of truth than lies."
>>But I degress, if you need some IDE your not a real programmer anyway
Perhaps you could enlighten me, but I fail to understand how the way in which one essentially keeps track of his files, determines his worth as a programmer?
Well, yes, Linux is free software and people can do with it what they want, within the license.
However, that doesn't mean that one should abandon all thought on what the consequences of particular developments are. What happens if Microsoft ports Office to Linux and releases it? What happens if Linux development becomes more and more Windows-like?
Your answer seems to be that it doesn't matter: there will simply be more and more distributions catering to different tastes. That may turn out to be the case. I hope so, because I think that's the best of all worlds.
But it isn't the only way things can unfold. he fact that many of the Windows UI windows don't resize, that they lock each other, that MFC has serious flaws in its inheritance hierarchy, that the Windows requires various kinds of even tables, etc., are all consequences of a particular approach to programming.
Some of those issues are related to historical developments, some to programming style prevalent in the Windows community, and some are related to the use of an environment like VC++: it allows people to fix problems by building wizards and graphical tools that then generate complex source code that is difficult to maintain by hand.
It's useful to think about this ahead of time because a lot of the design you see in the Linux kernel, GNU libraries, and Linux libraries comes out of a tradition and development environment that made certain things hard and therefore forced people to come up with different (I think better) designs. I believe that traditional UNIX environment forced you to design more cleanly, build general tools, and build good abstractions, because it simply didn't support good visualizations and expedient fixes.
I believe it is worth thinking about these issues now while KDevelop and tools like it aren't that widely used yet. Maybe we can improve the way the two approaches to programming can live side-by-side. Maybe it doesn't matter because KDevelop might not catch on. Or maybe your optimism is warranted and different communities of people will just use different distributions, all somewhat interoperable.
I didn't say it was a "bad" thing, I just meant that it's a different thing. What I was trying to say with the paragraph that you quoted was that what we have works, so why mess with success? I didn't say that anything that isn't the preordained way of doing things is necessarily bad. That's obviously not true.
I also didn't claim that it's dumbing down linux. Those are your words you're putting into my mouth. They are again two completely different ways of doing things that I don't necessarily think mix well. That doesn't mean that I think one is "dumber" than the other.
In my view projects like KDE are obviously redundant? Wrong again - I didn't say that either. I don't think KDE is redundant, I just think it's got a different user market than other projects. And I wouldn't necessarily say that Kdevelop the way it's being described is the same as the rest of the KDE project. I personally don't use KDE, but I don't begrudge people who do. KDE isn't redundant, it's just different. And before you go claiming that I slagged KDE, I said "different" not "bad" or "inferior" - they're very "different" things.
About how using linux as a desktop OS could be a bad thing - it wouldn't be bad necessarily. I just think that if you're going to switch from windows to linux, then you may as well actually switch and learn something new, rather than just having people on the linux side of things rewrite all of your favorite apps for windows under linux. There's a time and a place for windowish applications under linux, and there's a time and a place for straight windows applications under linux (i.e. vmware, wine). I just don't think that they should slowly become the DEFAULT, which is how it seems to be going. (You need not insult me on that point, it's just an opinion)
Oh, and by the way, I've used gdb in its pure command line form plenty of times, and I don't frankly find anything wrong with it. GDB is working on the assembly level of things, where there isn't much in the way of datastructures to visualize. After you invest the time in learning the way the app works, you can fly with just a command line gdb.
-- --
Truth goes out the door when rumor comes innuendo. -- Groucho Marx
You are shooting down a straw man: nowhere did I say that development from within Emacs was more "manly" or that you could only develop graphical applications in KDevelop. In fact, if KDevelop were only for graphical applications, it wouldn't much interest me who uses it.
What I'm saying is that different people have different preferences and styles. KDevelop may well be enormously productive for you and the majority of programmers (just like VC++ is). But for me (and at least some other people), it's just not a good tool (believe me, I have tried). That doesn't mean either way is better than the other, it means that there are different groups of people with different skills and preferences. Just like command line users ought to admit that GUI-based development tools are useful to some, the reverse ought to be conceded too.
What is an open question to me is whether the two kinds of styles can co-exist in the same community. Will I be able to make sense of, and contribute to, your libraries developed in KDevelop using my programming tools? Will you be able to handle modifications that I make to them outside KDevelop? I have dealt with MFC by hand, moved software packages back and forth between VC++ and the command line, etc., and I'm not that optimistic in the long run.
Tools like VC++ and KDevelop tend to encourage much of the intelligence to move into the development environment, making the actual code difficult to read and maintain any other way. And, conversely, tools like VC++ and KDevelop tend not to be able to make a lot of sense of interesting abstractions implemented "by hand".
Maybe my concerns are unfounded: KDevelop, KDE, and Qt are a lot cleaner than VC++ and MFC, and KDevelop tries to fit in well with the current Linux development styles (in fact, I'd much rather use KDevelop than VC++). But I'm not convinced that in the long run, this can work out.
So, Linux may well split into a Windows-like community and a UNIX-like community, with less and less code sharing between them as time goes by. That's probably still better than a MS Windows/Linux split, but maybe by thinking about it ahead of time, we can at least make such a transition easier and have realistic expectations.
Tools like VC++ and KDevelop tend to encourage much of the intelligence to move into the development environment, making the actual code difficult to read and maintain any other way. And, conversely, tools like VC++ and KDevelop tend not to be able to make a lot of sense of interesting abstractions implemented "by hand".
Take a closer look at KDevelop. Don't let it's superficial appearance fool you into thinking it's a VC++ clone. It is not. (tree on left, view on right and messages below actually makes sense).
Beneath it all, KDevelop uses exactly the same tools you are: g++, make, autoconf, etc. No, its makefiles are not the most readable in the world, but that's an artifact of the autoconf schema, not of KDevelop. And unlike VC++, it won't try to write your classes for you. Other than the brief application "template", which you can easily replace, it does no coding for you. If you have it create a new class for you, it creates an empty one. KDevelop is essentially an editor, class browser, documentation browser, dialog editor and debugger, all rolled up into one with a ton of documentation thrown in to boot. It's not trying to change how you program, like VC++ does, but instead is trying to give you all the tools you need in one package.
No, the editor doesn't have the power of emacs. So what? For some people, this is actually a plus. And the debugger isn't as rich as ddd, and the dialog editor isn't as full blown as QtArchitect, etc. That's not the point. The point is that KDevelop has a whole bunch of good tools integrated into one IDE.
-- A Government Is a Body of People, Usually Notably Ungoverned
When I try it, the KAppWizard of KDevelop generates more than 500 lines of source code for an empty GUI program, complete with VC++-style "fill in the blanks" comments. It also has a "dialog editor" just like VC++ that lets programmers design GUIs "visually".
Perhaps emblematic of what I'm getting at is that KDevelop makes it possible to write a KDE GUI program without any clear understanding of how the toolkit works--as I demonstrated myself. To me, it still looks like KDevelop supports and encourages a style to programming similar to what prevails on Windows. Both opinions and preferences differ on this point, but to me, that is not a plus.
The application template that the appwizard creates is just that, a template. What's the big deal? Most developers have their own templates anyway, whether or not they're using an IDE. If you don't like the templates that KDevelop gives you, replace them with your own (under/opt/kde/share/apps/kdevelop/templates) or just don't use them.
And what's your beef with dialog editors? Do you think that this came straight from the VC++ world? Hardly! Unlike VC++, the output of KDevelop dialogs is real code, not a bunch of numbers. Again, it's up to you whether or not you want to use a dialog editor, or if you prefer to use the straightforward and easy layout widgets of Qt directly.
But your quote that "KDevelop makes it possible to write a KDE GUI program without any clear understanding of how the toolkit works" makes me think that you haven't really used KDevelop on a real project. The dialog editor may layout the visual aspects of a dialog, but all it really does is generate widget declarations, leaving the actual code to the developer.
To use KDevelop, you have to know how to program! How can I make it any clearer than that? I have a coworker who spent a few years writing VB programs. He thought he was a programmer because he could create programs. To compare a KDevelop programmer to this type of person, who doesn't even know what a pointer is, is insulting.
-- A Government Is a Body of People, Usually Notably Ungoverned
Qt is extremely portable between Windows and X (and rumours abound of a Mac version in progress). In fact, 99% of the code is identical between Windows and X. For closed-source work, you will need to buy the professional edition license from Troll, which shouldn't be too much of a problem if you can get your work to spring for it. Also, there is no free Windows version yet (Win users won't even register shareware, so why would they buy something for proprietary use if there's a free version around?).
Some things you won't get is the *environment* stuff, since Qt is not meant to be an everything-in-one-packlage library like MFC. You will have to use the platform versions of thread libraries, configuration management, etc. But overall, an intelligent design will relegate all this stuff to just a single source file and a few #ifdef's.
A good place for more info is the qt-interest mailing list, which you can sign up for at www.troll.no. The subscribers seem to be evenly split betwen X and Win users. It's definitely not a KDE dominated list.
-- A Government Is a Body of People, Usually Notably Ungoverned
But I degress, if you need some IDE your not a real programmer anyway
Real programmers don't give one shit if you approve of their tools or not. You are meaningless to them.
-- A Government Is a Body of People, Usually Notably Ungoverned
This is bull. Learn some OO.
by
rambone
·
· Score: 2
The notion that casting down from Object is a replacement for tempaltes is pure and utter garbage. Please go on comp.object and post this opinion - it would be amusing to see them fry you like bacon.
Here's your first hint - casting from Object removes all your static type checking. Your basically taking a stab in the dark at that point.
No base class in C++ because it isn't pure OO
by
rambone
·
· Score: 2
C++ is a multi-prardigm language. You can program in OO. You can program procedurally. Its up to you. This is considered a strength of the language - if OO falls out of fashion, Java is hosed. C++ can easily be adapted to other paradigms, such as generic programming.
Since C++ is mutli-paradigm, having a set of built-in classes wouldn't make sense.
Also, having built in classes can be either a benefit or a curse. When they are well designed (smalltalk), they make programming a joy. When they are a moving target (Java), you're sometimes better off avoiding them altogether.
When I first reviewed Linux for the company I work for, KDevelop was one of the two or three products that pushed this microsoft camp into the "Yeah - Linux looks good". Since I became an Old Phart, I've become addicted to IDE's.
Alas gallinaceas de urbe bovis volo
--
"Convictions are more dangerous enemies of truth than lies."
I'm a big fan of the KDevelop project. However, one request I would make is to have customizable code-editing widgets. KWrite is a nice widget to use, but it is simply notepad with colors -- not very many advanced features for the seasoned hacker.
If someone could hack vim into a Qt or KDE widget, for use in KDevelop or stand-alone, then I would be impressed. Such a task seems more than trivial, now that I've tried it, because it seems the vim code is not exactly event-driven (or so I gather from some vim developers.)
python -c "x='python -c %sx=%s; print x%%(chr(34),repr(x),chr(34))%s'; print x%(chr(34),repr(x),chr(34))"
Nice to see the good ol' KDE gear at /. after all the stuff happening in the GNOME world of late :-)
:-)
I use both KDE and GNOME, switching between the two as my default on-and-off, but KDE has always been my favorite.... (GNOME looks better though, but KDE2 seems to be catching.) Having the choice is a great thing though...
Kdevelop looks like it will REALLY help the KDE cause though, with apps being easier to write. Once again, KDE has the edge on GNOME...
Anyway, this is my $0.02, so I'm gonna put on the flame suit and brace myself
This looks fairly nice, I haven't tried it personally but if its as close to VC++ as they say it is then its probably a decent interface to program in. I won't use it though. No matter how nice they make the editors/class browsers/project managers all these ides seem to slack on the debugger. They always have what looks like just a little arrow in the source window that follows the output of gdb, maybe a table of variables, maybe breakpoints. Nothing else. No real use of the power an integrated environment like this COULD give them. The best debugger I have ever used (on any platform) is the Data Display Debugger. I've made a few converts to unix just by showing people what this thing could do. And no I'm not affiliated with the developers of this in any way, I just like the thing. So for me it's still going to be vim/xemacs (depending on my mood) ddd and a makefile for my devel environment.
here is a mirror of the pics: http://squadron.org/CeBit/
Of course, I'm not entirely sure why this is a good thing. GNU&Linux wasn't built or used by people who approached programming that way. Is KDevelop going to bring a lot of developers from Windows to Linux? What kind of changes will they want in Linux? And what will that mean to the traditional GNU&Linux communities?
I think there is a lot of interesting stuff to be done in the traditional text-based GNU/Linux/UNIX approach to programming. Here are just some simple ideas:
KDevelop is glitzy. It's a big and impressive development effort. It's probably useful for people who want to build Windows-like applications with a Windows-like IDE. I can even see why people have fun developing it.
But, ultimately, KDevelop looks foreign to me in a UNIX environment and less useful for traditional UNIX uses and users. I'd like to see more effort go into building tools in the traditional UNIX style (and I'm trying to help when I can).
First of all - Thank you to the Kdevelop team!. Kdevelop is imho KDE's killer app. I havent used it to program one line of C++ or KDE code, all of my code is C (openGL stuff and believe it or not I load my Glade generated code into Kdevlop for easy GTK hackng). I have OpenGL and GTK docs available in HTML format in the IDE at the simple click of a button and its easy to add more in the doc toolbar. Kgdb is a excellent frontend to gdb. It lets you view structs in a tree form (Invaluable for linked lists etc etc).
Even if you dont use KDE its worth installing the libs just for this one app
In my humility, I always thought that base object like 'Object' in Java is a kludge to avoid the fact that there are no templates (and standalone functions). By the way there's a base object in C++. It's spelled 'void*'.
--
Industrial space for lease in Flatlandia.
Qt (NOT KDE) is an option (and a good one at that) for your work. One should be aware that the should you produce something commercial in any way shape or form, you owe Troll something like ~$1500US- and I can't remember if the Free QT license ammended the rule such that the Windows version was free for GPLed works. If it hasn't been, you'll need to pony up (and anybody else that works on it) ~$1500US to do it.
Other equally good options include GTK+, GTK+/GTK--, GTK+/WxWindows (WxWindows would use the native Windows calls under Windows...), and Fltk come immediately to mind as likely cross-platform GUI apis.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
KDevelop can be used to develop anything from KDE apps to daemons. Personally, I have only used it for non-graphical applications, and I have found it to be quite good. The Class browser is excellent, and it certainly aided me in farmiliarizing myself with the code in an already in-progress game. (adonthell.linuxgames.com)
I am developing the combat engine in KDevelop, and I have found it first class.
I won't argue with your bulleted points, just the foul smelling bits at the end. I use vi extensively, and mostly run on a command line in Linux. To say that someone using a GUI to get a job done is 'not in the UNIX style' is hog wash.
Do you really think that working with your graphics card in text mode makes you a *real man*, and a true UNIX developer?
Come on, you're smarter than that.
There's no such thing as "the" OO thing to do. OO means different things to different people.
Gosling wants templates in Java. Go figure.
--
Industrial space for lease in Flatlandia.
Of course they can do what they want - and I think that the poster acknowledges that.
It's just that linux is made to be linux. Linux is a UNIX clone, and as such, has a certain heritage. What I think the guy is trying to point out is that even though you might be able to dress up Linux as something very similar to windows so that it will be attractive to certain types of people, (i.e. the windows converts as they come over to linux) that's not the main point of linux.
Linux was supposed to be an alternative to windows, not a cheap bastardized rip off version that looks exactly like windows. And I don't think that that's what KDE or KDeveloper is doing, just that Linux is made to be Linux, and these types of programs are fine to run on linux, but they don't embody the soul of what the operating system is supposed to be about.
But if you get enough developers using it, you may have a real shift in what type of software shows up for linux. Since we all seem pretty happy with our operating system right now, whatever "paradigm" that is in use seems to be pretty popular and seems to be working out. Why mess with success in the name of catering to a population moving over to linux from windows? If they want a pretty GUI to develop programs in that looks just like windows, well then stay with windows.
-- Truth goes out the door when rumor comes innuendo. -- Groucho Marx
they [programs developed with kdevelop] don't embody the soul of what the operating system is supposed to be about
Guess what? It doesn't matter at all.
The operating system is the operating system, and the apps are the apps. the apps are not the operating system, and none of these have a soul, so they embode nothing.
KDevelop is not even specially oriented at Linux users, anyway.
I have used Kdevelop for some time and I love it. It is one of the few big projects I actually bothered hacking to compile on FreeBSD w/o a port. (this was a while ago :-)
Anyone who thinks they can exceed by a great margin the learning curve/productivity level of someone who is a veteran with VC++/KDevelop is mistaken. It takes a *god* in order to do much more.
I forced myself to become very proficient with Vi.. and im probably better/more productive WITH Vi.. But I still choose to use KDevelop because *I* do a lot of work with VC++ and VB. (Hold down CTRL+SHIFT arrows to select).. blah at work and to come home and not have to switch thinking modes when I feel like hacking some mud code.. sweet. Keep it coming I like it a lot.
I cannot tell the difference in anything except the debugging process. VC++ is GOOD. GDB gives it a good run for its money if you force yourself to become *god* with it tho. In fact I find GDB a little easier to use so the debugger thing could be a no again.. this is just me tho point.
Basically its just an awesome product and I really hate to see people slam it saying Vi or Emacs!!!! Open your mind a little and realize these are just tools to complete a job. Use what suits you best but dont Bias yourself towards a tool of equal quality just because you dont think its the *nix way.
I happen to think that Emacs is really great and I would prefer I could use Emacs all day all over.. but I cant so I am making trade offs for my sanity *snaps*.
Jeremy Allen
I have to disagree with you here. Linux is supposed to be whatever you want it to be! The source is available and open precisely so you can hack on it and turn it into whatever you want. The whole system is open and exposed to your tinkering for exactly the same reason.
This means that if you want something that looks exactly like Windows (but runs on a Unix core), then Linux is supposed to be an OS capable of giving you exactly that! It's the OS that you should be able to make into anything you like, and if that's what you like, then that's exactly what Linux should be able to deliver.
If you want Linux to be Windows, and you can't do it, then not only is Linux failing to be Windows, but Linux is also failing to be Linux!
Windows is an OS where someone else decides how you should do things and how they should look. Linux is not supposed to be like that. Anyone who therefore feels that Linux must be like Unix, or thinks Linux is "supposed to be about" emulating Unix rather than Windows or whatever other use poeple want to put it to, these people are people who still don't get it! Who are you to decide what programs are "being true" to the vision of Linux? People are diverse, we all have our own visions of what an OS should be. Linux should be able to embody all of them, except for the visions of those who think the point of Linux is to force others to work under their vision, such as some people who seem to think anyone using Linux should be forced to share the Unix vision.
I love Unix. I fell in love with it the first time I used it in 1987. I used Solaris on a daily basis for most of the 90's. I love Linux because it implements a Unix-like vision of how computers should work. But I'm not fool enough to believe everyone in the world shares my vision, or even that they should. I'm hopeful enough to believe Linux is capable of encompassing the visions of all these other users, as well as my own. If it cannot, then Linux truly will be a failure...
--
"Convictions are more dangerous enemies of truth than lies."
>>But I degress, if you need some IDE your not a real programmer anyway
Perhaps you could enlighten me, but I fail to understand how the way in which one essentially keeps track of his files, determines his worth as a programmer?
www.umr.edu/~tcaton
However, that doesn't mean that one should abandon all thought on what the consequences of particular developments are. What happens if Microsoft ports Office to Linux and releases it? What happens if Linux development becomes more and more Windows-like?
Your answer seems to be that it doesn't matter: there will simply be more and more distributions catering to different tastes. That may turn out to be the case. I hope so, because I think that's the best of all worlds.
But it isn't the only way things can unfold. he fact that many of the Windows UI windows don't resize, that they lock each other, that MFC has serious flaws in its inheritance hierarchy, that the Windows requires various kinds of even tables, etc., are all consequences of a particular approach to programming.
Some of those issues are related to historical developments, some to programming style prevalent in the Windows community, and some are related to the use of an environment like VC++: it allows people to fix problems by building wizards and graphical tools that then generate complex source code that is difficult to maintain by hand.
It's useful to think about this ahead of time because a lot of the design you see in the Linux kernel, GNU libraries, and Linux libraries comes out of a tradition and development environment that made certain things hard and therefore forced people to come up with different (I think better) designs. I believe that traditional UNIX environment forced you to design more cleanly, build general tools, and build good abstractions, because it simply didn't support good visualizations and expedient fixes.
I believe it is worth thinking about these issues now while KDevelop and tools like it aren't that widely used yet. Maybe we can improve the way the two approaches to programming can live side-by-side. Maybe it doesn't matter because KDevelop might not catch on. Or maybe your optimism is warranted and different communities of people will just use different distributions, all somewhat interoperable.
I didn't say it was a "bad" thing, I just meant that it's a different thing. What I was trying to say with the paragraph that you quoted was that what we have works, so why mess with success? I didn't say that anything that isn't the preordained way of doing things is necessarily bad. That's obviously not true.
I also didn't claim that it's dumbing down linux. Those are your words you're putting into my mouth. They are again two completely different ways of doing things that I don't necessarily think mix well. That doesn't mean that I think one is "dumber" than the other.
In my view projects like KDE are obviously redundant? Wrong again - I didn't say that either. I don't think KDE is redundant, I just think it's got a different user market than other projects. And I wouldn't necessarily say that Kdevelop the way it's being described is the same as the rest of the KDE project. I personally don't use KDE, but I don't begrudge people who do. KDE isn't redundant, it's just different. And before you go claiming that I slagged KDE, I said "different" not "bad" or "inferior" - they're very "different" things.
About how using linux as a desktop OS could be a bad thing - it wouldn't be bad necessarily. I just think that if you're going to switch from windows to linux, then you may as well actually switch and learn something new, rather than just having people on the linux side of things rewrite all of your favorite apps for windows under linux. There's a time and a place for windowish applications under linux, and there's a time and a place for straight windows applications under linux (i.e. vmware, wine). I just don't think that they should slowly become the DEFAULT, which is how it seems to be going. (You need not insult me on that point, it's just an opinion)
Oh, and by the way, I've used gdb in its pure command line form plenty of times, and I don't frankly find anything wrong with it. GDB is working on the assembly level of things, where there isn't much in the way of datastructures to visualize. After you invest the time in learning the way the app works, you can fly with just a command line gdb.
-- Truth goes out the door when rumor comes innuendo. -- Groucho Marx
What I'm saying is that different people have different preferences and styles. KDevelop may well be enormously productive for you and the majority of programmers (just like VC++ is). But for me (and at least some other people), it's just not a good tool (believe me, I have tried). That doesn't mean either way is better than the other, it means that there are different groups of people with different skills and preferences. Just like command line users ought to admit that GUI-based development tools are useful to some, the reverse ought to be conceded too.
What is an open question to me is whether the two kinds of styles can co-exist in the same community. Will I be able to make sense of, and contribute to, your libraries developed in KDevelop using my programming tools? Will you be able to handle modifications that I make to them outside KDevelop? I have dealt with MFC by hand, moved software packages back and forth between VC++ and the command line, etc., and I'm not that optimistic in the long run.
Tools like VC++ and KDevelop tend to encourage much of the intelligence to move into the development environment, making the actual code difficult to read and maintain any other way. And, conversely, tools like VC++ and KDevelop tend not to be able to make a lot of sense of interesting abstractions implemented "by hand".
Maybe my concerns are unfounded: KDevelop, KDE, and Qt are a lot cleaner than VC++ and MFC, and KDevelop tries to fit in well with the current Linux development styles (in fact, I'd much rather use KDevelop than VC++). But I'm not convinced that in the long run, this can work out.
So, Linux may well split into a Windows-like community and a UNIX-like community, with less and less code sharing between them as time goes by. That's probably still better than a MS Windows/Linux split, but maybe by thinking about it ahead of time, we can at least make such a transition easier and have realistic expectations.
Qt is extremely portable between Windows and X (and rumours abound of a Mac version in progress). In fact, 99% of the code is identical between Windows and X. For closed-source work, you will need to buy the professional edition license from Troll, which shouldn't be too much of a problem if you can get your work to spring for it. Also, there is no free Windows version yet (Win users won't even register shareware, so why would they buy something for proprietary use if there's a free version around?).
Some things you won't get is the *environment* stuff, since Qt is not meant to be an everything-in-one-packlage library like MFC. You will have to use the platform versions of thread libraries, configuration management, etc. But overall, an intelligent design will relegate all this stuff to just a single source file and a few #ifdef's.
A good place for more info is the qt-interest mailing list, which you can sign up for at www.troll.no. The subscribers seem to be evenly split betwen X and Win users. It's definitely not a KDE dominated list.
A Government Is a Body of People, Usually Notably Ungoverned
But I degress, if you need some IDE your not a real programmer anyway
Real programmers don't give one shit if you approve of their tools or not. You are meaningless to them.
A Government Is a Body of People, Usually Notably Ungoverned
Here's your first hint - casting from Object removes all your static type checking. Your basically taking a stab in the dark at that point.
Since C++ is mutli-paradigm, having a set of built-in classes wouldn't make sense.
Also, having built in classes can be either a benefit or a curse. When they are well designed (smalltalk), they make programming a joy. When they are a moving target (Java), you're sometimes better off avoiding them altogether.