If your IDE upgrades a version, it may ruin all your projects. If automake upgrades a version, it may decide all your projects are invalid. And when any of these happen you'll have a very hard time abandoning your IDE since you've depended on it instead of learning how to use the simple
make utility.
I've had all of these and more happen to me.
Java forces you to write statements like system.class.class.class.class.omg.wtf.bbq.print("hello"). It'd take rain man to use this language without computer-assisted editing. Other languages aren't quite so schizophrenic. That's all well and good until Eclipse breaks down, or upgrades and is no longer able to understand all your projects. Every single IDE I've ever used, including Windows ones, suffers from this problem. Eventually I gave up and just learned how to use
make.
The point isn't what features other editors offer, the point is what things they
don't do. They don't force me to indent my code the way it wants instead of the way I want. They don't cram useless boilerplate down my throat(nice when you need it, obnoxious when you don't, and often obsolete the instant its released), and never throw in libraries I don't need. They don't puke just because I edited the file with MyFavoriteEditor v3.6.5 instead of 4.0.1 the last time I opened it. They don't blow up when automake breaks compatibility with itself for the 13415152345th time. And I can use them just as well on a remote terminal as a local one(if you want to try that with Eclipse over a laggy satellite link, be my guest.
) Learning how to write and build things without an IDE will teach you what many mysterious options in your IDE were actually for, too.
Oh. And I can use
any language I want. No "plugins" required.
Not that I abhor software assistance in programming. When graphics are available, the GNU
Data Display Debugger is very useful. It's all the parts of an IDE I actually want but demands absolutely no control over my projects. When debugging a program from the outside in,
strace is also very useful. And of course
gdb but that goes without saying.
And lastly, remember that whenever you release a project to the wild, you're demanding that whoever wants to modify it use your coding environment of choice. Not just Eclipse in particular, but a version compatible with the one you were using when you wrote it -- which could be a difference of years if development isn't recent. And if you happen to favor a non-free environment like Codewarrior it gets downright obnoxious. "Please enjoy my free source code! Optional $400 IDE required!"
---------- Post updated at 10:15 AM ---------- Previous update was at 09:52 AM ----------
nano these days has some advanced features which people might not often use, like color syntax highlighting and a full-out regex search/replace with backreferences. It's also designed for a relatively modern PC keyboard, instead of the
ADM3A(vi) or the
Space Cadet(emacs). I find it quite sufficient. But that's a matter of taste, I guess.