Quote:
Originally Posted by
anthalamus
Ok, I have to ask...
At the risk of starting a huge controversy (yet another), I must ask the question: why would one want to use vi/emacs* to edit bash, awk, perl, python, [...] scripts or java, c/c++, [...] programs
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.
Quote:
Now the majority of my personal experience with IDEs come from using Eclipse for my java programing. To be honest it would never even cross my mind to work on a big java project using something like vi/emacs*
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.
Quote:
That's just off the top of my head, I'm probably missing many more. Now I really don't see how something like vi/emacs* could compete with that kind of features, most of them requiring pretty complex GUI interactions. Don't get me wrong, I'm sure vi/emacs* can be unbeatable on editing files as general editors, but as far as programming/scripting go and for specific languages, I don't see how they could be more suitable than something like Eclipse**.
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 ----------
Quote:
Originally Posted by
anthalamus
Hey Majid,
Thanks for the response,although I'm a bit surprised as I see nano as even less powerful than the others!! I mean it's very convenient and easy so i use it quite often, but I wouldn't really develop big projects with it either.
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.