Sign in to follow this  
IronGryphon

Linux IDE help please.

Recommended Posts

Hi all. Just finished reading the post above about all the IDE's. Still not sure from what I read there. Here is what I am looking for: 1. Fairly simple to install, has a reliable debugger. (it seems like in Windows the thrill of a program was running it. In Linux it seems to be a successful install) Thats it. I like the feel of code blocks (on Windows) but scanning their forum makes it look like a complete horror for Linux users. Anyone have success with this without having to do brain surgury?(I know Promit said he got it working on a 64 bit machine) I have used KDevelop and it was pretty unforgiving. Guess I'm just not that smart yet. I have been looking all day and about everyone I have seen (used the list from the post above) gives me the chills reading about the problems and the methods used to fix them. Anyway, any help would be appreciated. Oh, and I know it will come up, I do not want to use vi or other text editors. Just personal preference. Looking for an IDE. (I like the pretty buttons. . .) Thanks.

Share this post


Link to post
Share on other sites
Well using an IDE usually requires some background on compiling/linking/debuging and in linux also some gnu tools knowledge. So in my opinion, after that you could use Eclipse and its plugins and configure it to use gnutools (libtoolize, aclocal, autoconf, automake, ...)

Share this post


Link to post
Share on other sites
Thanks for the reply. That was one of the options I looked at from the post above. Is that what you use? Eclipse just seemed to be bloated from all the options they are trying to cram in there. I'll try it but would prefer an IDE that was designed for C/C++ and not back fitted to work through plugins.

Share this post


Link to post
Share on other sites
I use eclipse because its clean and its in java (thus its multi plataform). It works well with C/C++ but it isnt the greatest for sure yet. I also use vim because its a excelent editor and the most powerfull to write code in my opinion. But for large projects a project explorer its required. For compilation and distribution package I use gnutools. If you try to use it you will find that in one week they rock! I also used KDevelop but I prefer gnome. As far I know Code::Blocks use wxWidgets (I think) and its becoming a nice IDE. You can look at Eclipse features to compare them. At the end they are all the same shit but with diferent smell.. =)

Share this post


Link to post
Share on other sites
Quote:
Original post by IronGryphon
Oh, and I know it will come up, I do not want to use vi or other text editors. Just personal preference. Looking for an IDE. (I like the pretty buttons. . .)


To be completely honest, you are out of luck. The only pretty-buttoned GUI Linux IDE I've found stable and usable enough so far is Eclipse. Its C/C++ support leaves something to be desired but honestly, neither KDevelop or Anjuta is really better. KDevelop's feature list looks good on paper but in practice (I've tried almost every 3.x version) it has always been extremely buggy, which is a shame.

Personally I gave up the search for an IDE and just faced having to learn makefiles and autotools. IMO it has been worth it. Autotools is actually extremely flexible and useful when you need a bit more than just compiling every file and linking simple libraries. It is also very portable. I'm sure the same can be said for a number of other (simpler) build systems as well.

Some GUI apps I've found useful: kompare for handling diffs and patches, kdesvn for working with subversion projects, kwrite/kate are good if you don't want to learn vim or emacs. Take a look at kdbg as well.

Don't be afraid of the command prompt. That way you'll find using Linux much more enjoyable in the long run.

Share this post


Link to post
Share on other sites
As you can see almost all in linux community shares the same opinion.. If you want to be in the light side of the force (linux side :)) then start learning bash, those gnutools, etc..

Share this post


Link to post
Share on other sites
I appreciate your views on that but I spent too many years in dos to ever want to return to the command prompt. I know it is something that just can't be worked around (yet) in Linux but I am hopeful that dog will be drug out back and shot, burned, and put to rest eventually. I'll keep looking, thanks.

And I thought the light side of the force was supposed to be easy, helpful, friendly, and generally better than the dark side. Long way to go Linux. . .

Share this post


Link to post
Share on other sites
Quote:
Original post by IronGryphon
I appreciate your views on that but I spent too many years in dos to ever want to return to the command prompt. I know it is something that just can't be worked around (yet) in Linux but I am hopeful that dog will be drug out back and shot, burned, and put to rest eventually. I'll keep looking, thanks.


HERESY!
There is no comparison between DOS command prompt and the Linux Shell.

Quote:
Original post by IronGryphon
And I thought the light side of the force was supposed to be easy, helpful, friendly, and generally better than the dark side. Long way to go Linux. . .


You are confusing the sides, the easy path to the dark side leads.

Share this post


Link to post
Share on other sites
Quote:
Original post by IronGryphon
I appreciate your views on that but I spent too many years in dos to ever want to return to the command prompt.

Hey, you might just have pointed out the reason why the shell looks so horrifying to so many Windows developers.
People like the Linux shell because it IS more convenient and faster in many cases but most of all, because it is also an unsurpassed scripting system with which you can automate just about everything. The only thing in bash that resembles Dos that I can think of is the cd command.

Quote:
Original post by IronGryphon
And I thought the light side of the force was supposed to be easy, helpful, friendly, and generally better than the dark side. Long way to go Linux. . .

It is once you learn the ways of the Force :)
Linux developers in general (not including some commercial distros) want to make everything as configurable, scriptable, modifyable and modular(=small, orthogonal) as possible. On the Windows side programs tend to be more monolithic in nature. Learning to combine the parts takes some patience.

All this IMHO of course..

Share this post


Link to post
Share on other sites
Heh, it isn't th commands used in BASH or DOS that "scare" people away from Linux. It is the effort required to get even simple things to work. For instance, I am simply looking for an IDE that is not bug ridden and fairly simple to setup (no recompiling the kernel, compiling everything from source, reinventing the wheel for each distro, etc. . .). I know there are many Linux users out there who are completely fascinated by the power at their fingertips and their ability to use it. For those, Linux is a religion, not a tool. Then there are those who just want a tool so they can do what they want to do. I count myself in that category. I don't care how long my machine can run without reseting. I turn it off everynight. Believe it or not, I actually like a graphical representation of my file system. But I digress. . .

I don't mind paying for the software at all, are there any commercial solutions?

Share this post


Link to post
Share on other sites
Borland might have something. I tried their C++ builder once and it wasn't too bad. Eclipse is what I'd still recommend though.
Btw. why do you feel that an IDE may not be bloated? Startup time should hardly be an issue. Memory usage may be a problem if you have <=256Mb but Linux has a pretty good memory manager that handles swapping and caching very well.

About the tool vs. religion comment... it is probably true that Linux/Unix is initially more of a hobby for quite a few people. The thing is, once you learn it well it does IMO become a superior tool (at least for programmers and sysadmins). Unix is a collection of simple/specific tools to do complex things while Windows is a collection of complex tools to do simple/specific things.

For a programmer Linux is a valuable learning resource as it shows alternative solutions to some design problems. For instance the everything-is-a-file and the file descriptor reference counting system is probably the most elegant abstraction I've ever seen anywhere. fork(), clone(), execve(), mmap() and open() are some functions worth looking into.

Essentially what I'm saying is: if you want to get some work done NOW then don't waste any more time here. If you wish to improve yourself as a programmer then Linux (or any Unix) is worth looking into. Even if you don't find its interface good enough, you will definitely learn something.

Share this post


Link to post
Share on other sites
Ah, why didn't I think of this before.. If you don't mind paying, consider getting a Mac. It's unix AND has a nice, simple GUI (with pretty buttons [wink]). It doesn't force you to learn the details if you don't want to either.

Share this post


Link to post
Share on other sites
255,

I fear I may have come off sounding rather bitter. I do not mean to as I do like Linux. I have been using one flavor or another for about 2 years now and it keeps getting better. That being said, I do have my own issues with the OS. My hobby is programming. I would love to eventually get a product that is worth selling and when I do, I would love to inclue Linux in the list of markets but for now I just dont see it. You said it best, Linux is great for programmers and sysadmins. That is great but I am targeting the little people, the common folk. Until the Linux paradigm changes, that is all it will ever be, a toy for a super user. Now please don't take my criticism as anything but hope for the future of this grand OS. I have just as many complaints about Windows but it is just easier to do everthing on Windows.

I just finished downloading Eclipse. Thanks for the advice.

Share this post


Link to post
Share on other sites
I couldn't get Borland's C++ BuilderX to work under 64-bit linux. Admittedly I had a lot of problems with Codeblocks too, so this is another vote for Eclipse [grin]

Share this post


Link to post
Share on other sites
Quote:
Original post by IronGryphon
I fear I may have come off sounding rather bitter.

Actually, me too. Sorry about that.

I think I see your point. Linux may be a very good for casual users in pre-setup (possibly thin-client) environments like some offices or internet caffes but it fails when the "middle class" of computer users, generally those that want to install 3rd party software come in. The market for off-the-shelf applications, small shareware-type apps in particular, for Linux is nearly non-existant. IMHO this is not a bad thing. The free/open software stack handles all basic needs pretty well and I don't want shareware nag screens for every little desktop utility. There IS however a need for more specialized software that is not practical to produce in an OSS manner. Games are perhaps the best example. A good CAD app is another thing nowhere in sight.

It seems in your case you have portable code covered but the build system is the main roadblock. I suggest you first find a good portable build system (there are many besides gnu make + autotools) and then choose an IDE to work with the build system. The problem with every single IDE I know of is that their native build system is fragile and unportable. A good IDE should allow you to work with a makefile/scons/whatever build system without pwning the build files. Once you have set up a build system, you can switch between IDEs and editors much more freely. You can keep working with MSVC if you feel like it, or you can try out some of the generic code editors if and when you feel like it. With a proper build system and version control, nothing should go "out of sync".

A good debugger is another thing entirely. Here I honestly think MSVC will do best but gdb+valgrind is not a bad combination either.

Share this post


Link to post
Share on other sites
It seems this thread almost jumped into the common Linux vs Everything else argument...

Anyway, Linux is a more powerful environment for developing apps in certain cases just just Windows it better in others...

For Java I use Eclipse for Windows and Linux, although with Java I prefer to use KDE Kate in Linux and just copy my code to window boxes for testing to make sure the JVM aint being a beotch.

For C++ in Windows I use and prolly will always use Visual Studios. Programming C++ in Linux I haven't bothered with yet since all apps I have been requested to develop in C++ have been for a windows box (C++ lacking cross-platform). I will give you the advice of my professor's tho, "learn it all"...

Learn command line compilers and IDE's as the fundamentals can be interchanged between OS and IDE.

Linux is bug ridden, it is not meant for the middle man computer user. I myself spent several days and several distro's before I finally got a 'working' Linux OS, by working I mean unstable. With that said, the Linux potential is infinite so I suggest using a simply text editor (Kate) and running command line compilers; Apparently from all these posts there is no good c++ IDE for Linux, but just wait and one will come out -- you'll be ready. Perhaps EMACS except that previous post on that EMACS was ruined by the author...

I guess programming C++ in TextEditors for Linux brings programmers back to the 70's...(1979-1983 was C++ development stages or 'C with classes' lol).

Share this post


Link to post
Share on other sites
Quote:
Original post by Halsafar
...(C++ lacking cross-platform)...


huh?

Quote:
Original post by Halsafar
...Linux is bug ridden...


double huh?

Quote:
Original post by Halsafar
Apparently from all these posts there is no good c++ IDE for Linux, but just wait and one will come out -- you'll be ready. Perhaps EMACS except that previous post on that EMACS was ruined by the author...


I use XEmacs myself on both Windows and Linux, but the OP specifically said no Text Editors, just full blown IDEs

Quote:
Original post by Halsafar
I guess programming C++ in TextEditors for Linux brings programmers back to the 70's...(1979-1983 was C++ development stages or 'C with classes' lol).


triple huh?

Share this post


Link to post
Share on other sites
Learn to properly use the shell. Learn some basic makefiles and how to run the shell debuggers(or even ddd). Learn to use the tab key and wildcards. This step is optional but highly recommended, but learn to use one of the big text editors(vi/emacs) properly, it'll take a while to learn one of these but once you learn them almost every other editor feels awkward to use again(what no command mode? No box editing? No regex?). Combine this with a good version control system and you've got the tools needed for development.

Share this post


Link to post
Share on other sites
Kwizatz,

You goona argue that Linux is not bug ridden???
I don't even know where to start shooting down that one...

C++ is cross platform but ur code compiled in Windows will doubtfully work on Linux without some major changes, unless ur looking a SUPER basic programs, even then u'll need to recompile.

Lastly, okay maybe my years where off a bit... The site I checked was incorrect, here is a more accurate history of C++

http://www.hitmill.com/programming/cpp/cppHistory.html
http://www.cplusplus.com/info/history.html

Share this post


Link to post
Share on other sites
Quote:
Original post by Halsafar
You goona argue that Linux is not bug ridden???
I don't even know where to start shooting down that one...


I don't find Linux (the kernel) that buggy really.. Some of the newest device drivers or filesystems might be though (and they are usually marked as experimental). As for the rest of the OS... I have yet to see a single bug in the bash shell or any of the basic utilities in /bin or /sbin.

When it comes to graphical apps it gets different. I'd say KDE and konqueror are about as buggy as Windows and explorer. Both (file) browsers crash and do odd things once in a while but nothing that serious. Still, remember to consider that KDE/konqueror have about twice as many features.

If you start comparing all of the (hundreds of) graphical apps that come with most distros then yes, you will find many that are buggy. However if distros only included the basic system (like Slackware does) then you'd probably say the distro is crap because it doesn't include enough packages. There are plenty of buggy apps available for Windows as well..

OK, now this thread has really gone off-topic.

Share this post


Link to post
Share on other sites
Quote:
Original post by IronGryphon
Thats it. I like the feel of code blocks (on Windows) but scanning their forum makes it look like a complete horror for Linux users. Anyone have success with this without having to do brain surgury?(I know Promit said he got it working on a 64 bit machine)


Well, you 've probably seen the "old posts" ;)
In CVS (and the upcoming RC2), the build system for non-windows platforms has changed to autotools.
This means, you checkout from CVS (or download the upcoming RC2) and run the usual stuff:

./bootstrap <-- needed only for CVS version and only the first time
./configure
make
sudo make install

Simple and easy.
It's also unicode-aware (if your wxWidgets lib is).

Yiannis.

Share this post


Link to post
Share on other sites
Sign in to follow this