vi/emacs against Eclipse (and the likes) as IDE


 
Thread Tools Search this Thread
The Lounge What is on Your Mind? vi/emacs against Eclipse (and the likes) as IDE
# 1  
Old 09-10-2010
vi/emacs against Eclipse (and the likes) as IDE

Ok, I have to ask... Smilie

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

It all started because I'm looking for a good IDE to edit my bash scripts and from what I see on the web, a lot of people seem to find vi or emacs amazing for that. For instance:
Linux.com :: Turn Vim into a bash IDE
Bash IDE Recommendations - Ubuntu Forums

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*

* I should mention here that my experience with vi/emacs is extremely limited. However I do believe that they are both console-oriented tools (let's exclude emacs' GUI for the sake of the discussion... kinda). Apologies for the ones who will be offended by the coupling of those 2 tools throughout my post, comparing them is not the point of this post and from Eclipse's point of view, they are rather similar.

So back to Eclipse**. When I code in Java, among the many things I expect from Eclipse are:

- syntax check (including warnings)/real-time compilation
- refactoring (renaming, moving, extracting values, methods, ...)
- (fairly) clean project-oriented structure
- versioning (CVS, SVN,...)
- Running/Debugging (step by step, value of variables, breakpoints, ...)
- templates, auto completion
- following dependencies (F3 on a class name brings you to it, ...)
- hover over documentation
- reverse engineering (although I usually use NetBeans for that)
- multiple languages integration (EPIC for perl, ...)
- Others: comparing files, exporting as jar/zip/...,

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**.

** note that I'm sure NetBeans is great too, let's not get into comparing those two, or any similar ones for that matter

I heard there are a few Eclipse plug-ins for bash, I'll try them soon. They may not have all the afore-mentioned features yet, but surely they COULD (since Eclipse's got pretty much everything it takes).

Now for people interested in providing their input, PLEASE put your ego/faith aside and only bring up ARGUMENTS in favor (or defavor) of vi/emacs*. I'm actually quite curious to see what people have to say, and eager to discover unsuspected things about vi/emacs*..!! Smilie

Cheers,

Anthony
# 2  
Old 09-10-2010
I use nano for C. I have my own answer. I am sure many of you will disagree:

Because once you addicted one of them, then you can't write your programs in other environments. I wrote my programs at university, home, ... I am cool everywhere because every computer has at least a basic editor. I have friends using eclipse, Netbeans, ... but once you get IDE from them they don't even know how to handle libraries in their apps.
# 3  
Old 09-15-2010
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.
It's true though that it becomes hard to switch to another environment once one get used to a specific one. I guess it's a matter of trying to keep in touch with several at a time.
As for the libraries, I agree to an extent but for instance when I learnt perl, I waited to have a good understanding of the language (and therefore of dependencies) before switching to EPIC (the eclipse perl plug-in). It's true that an eclipse like software should not be used right from the beginning.
Anyway, thanks for your input!
# 4  
Old 09-15-2010
FWIW, here is our long standing poll on editors:

https://www.unix.com/unix-dummies-que...ryone-use.html
# 5  
Old 09-15-2010
Quote:
Originally Posted by anthalamus
Ok, I have to ask... Smilie

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. Smilie ) 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.

Last edited by Corona688; 09-15-2010 at 01:36 PM..
These 2 Users Gave Thanks to Corona688 For This Post:
# 6  
Old 09-16-2010
Quote:
Originally Posted by Neo
FWIW, here is our long standing poll on editors:

https://www.unix.com/unix-dummies-que...ryone-use.html
Wow, i'm impressed by the popularity of vi over emacs, never would have thought it was so drastically preferred


Quote:
Originally Posted by Corona688
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. Smilie ) 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.
I see your point and agree to an extent however I think you've been pretty unlucky with eclipse..!

I've been using it for 5 years now and only ever encountered a compatibility problem once. I did lose like a day or so, but it really is negligible compared to the amount of time I saved with refactoring and all.

Also we're a team of 4 developers and half of us use eclipse, the other half netbeans. it has never been a problem! we simply don't commit IDE-related files. As for the organization of the project, well it was agreed upon beforehand. Eclipse can be configured in great details and I have never had to give up on a particular feature to enable!

That being said someone brought to my attention the existence of a vi plugin for eclipse, which could possibly be the graal i was looking for. getting the best of both world! since vi seems to be THE editor, i'm excited at the idea of getting it's power on top of that of eclipse.

In all fairness though you're right that java is so.damn.twisted.sometimes() that using an powerful IDE almost becomes a necessity, and that maybe languages with a more friendly syntax may do just fine with vi+make+gbg+etc

Anyway, thanks A LOT for your input, you've raised some really interesting issues!
# 7  
Old 09-16-2010
Quote:
Originally Posted by anthalamus
I see your point and agree to an extent however I think you've been pretty unlucky with eclipse..!
Eclipse, Kdevelop, Visual Studio, and a few others I forget.
Quote:
Anyway, thanks A LOT for your input, you've raised some really interesting issues!
No problem.
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How to use emacs? Also how to open existing emacs files with .cgi format?

Hi All, I am new to this forum and a beginner in unix. Please correct me if I put the question in a wrong way.. How to use emacs editor? Also how to open existing emacs files with .cgi format? I have the following link :- http link i.e. url and path : /abc/xyz.dev/xyz/documents What... (7 Replies)
Discussion started by: swathi123
7 Replies

2. Solaris

Eclipse for Solaris 11

I downloaded eclipse for x86. However when I try to start it I get the following:- ld.so.1: eclipse: fatal: relocation error: file /usr/lib/firefox//libxul.so: symbol __1cHmozillaJHashBytes6FpkvI_I_: referenced symbol not found Killed This file libxul.so is in /usr/lib/firefox. How do I get my... (6 Replies)
Discussion started by: Tenyhwa
6 Replies

3. Shell Programming and Scripting

Capturing first output from 'top'-likes command

Is this a stupid code?? top > top.out & sleep 2 kill %1 cat top.out Thanks, (6 Replies)
Discussion started by: Shawn, Lee
6 Replies

4. Web Development

Can i lock Eclipse IDE workspace ?

i joined an institute multiple users use the system there is any way to password my workspace... (0 Replies)
Discussion started by: seshumohan
0 Replies

5. Solaris

Eclipse for Solaris

i am trying to install weblogic 10.3 but for some component need eclipse from where i can download eclipse and how to install it (2 Replies)
Discussion started by: xxmasrawy
2 Replies

6. HP-UX

Eclipse 3.1 on HP-UX 11i

Hey guys how do you run eclipse on HP-UX 11i? there's a startup.jar and an eclipse file ( which is not an executable ) I get different errors try to run the jar file with different java versions. I have all the possible java vm's installed. (0 Replies)
Discussion started by: binary0x01
0 Replies

7. Programming

debug with eclipse

Hi, i' m using eclipse 3.2.2 on ubuntu. When i debug a program (C language) i cannot see any variable in the variables view. From the console (debug perspective) i can see the message: no source file named class.c. What is the problem??? thanks (1 Reply)
Discussion started by: littleboyblu
1 Replies

8. AIX

Substrings and the likes in AIX 4.2 ?

In AIX 4.2, are there any shell commands to do substrings and the text like manipulation commands ? I want to take an error log where errors are multi-ligned and convert them into single lines to ease tracking/monitoring. I may need to shorten them out too. If I can manage to put them into an... (2 Replies)
Discussion started by: Browser_ice
2 Replies

9. Filesystems, Disks and Memory

shift hard disk from primary IDE channel to secondary IDE channal

Wellcomes All, some times ago I 've installed a Debian ditribution on an Hard Disk who was set as Primary Master. Few days ago, I 've decided to install another Hard Disk with a different Operating System. When I did that, I turned off the old hard disk, and I mouted the new one on the Primary IDE... (1 Reply)
Discussion started by: thekarsillo
1 Replies
Login or Register to Ask a Question