Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java programming environment : emacs or eclipse? [closed]

I'm pretty new to Java, and I need to build up programming environments for it (editing, compiling, testing, debugging, and deploying/making jar files). And, even though I'm not a super expert of emacs, I'm a big fan of this wonderful tool.

Here comes my question.

Is it wise to use emacs for Java development? Is Eclipse better for Java development?

And, what people normally use for Java development environment? I mean, using what tool may result in getting more help than otherwise?

like image 530
prosseek Avatar asked Aug 04 '10 04:08

prosseek


4 Answers

As a die-hard Emacs user and professional Java developer, I can say that I choose Eclipse hands-down for Java, and Emacs for everything else. Every tool has its advantages, and I try lots of tools. But the ecosystem surrounding Eclipse is unparalleled (even by EmacsWiki!) and Eclipse has the best Emacs emulation of any editor I've ever found if you install the Emacs+ plugin (by MulgaSoft).

Depending on the type of Java programming you're doing, Eclipse has no competition, i.e. if you're working with anything related to Google technologies (GWT, App Engine, Android). The Mylyn component to Eclipse interfaces with just about every task management tool out there, which is fabulous if your work in a corporate environment that uses JIRA, Mingle, VersionOne, Bugzilla, etc.

My experiences with JDEE, while favorable and interesting, put in a distant 3rd place to Eclipse and Netbeans, respectively. I haven't really worked with IntelliJ, so I can't comment on that front.

like image 159
R. P. Dillon Avatar answered Oct 19 '22 15:10

R. P. Dillon


I think it's pretty critical to understand that there is a hard, non-subjective line between "AST editors" (Eclipse/NetBeans/IntelliJ) and text editors like emacs, vi, slickedit, etc. etc.

In Eclipse/NetBeans/IntelliJ they compile all the code and read that byte code back into a large, fully connected and cached internal AST. So for example when you rename a method, they follow the AST to all code in the project that uses said method and update all usages.

This is significantly different than a text find/replace which is what you get from a text editor.

Java is a strongly typed language which is an incredible advantage when using an editor that knows how to follow and manipulate that type structure.

like image 36
David Blevins Avatar answered Oct 19 '22 14:10

David Blevins


malabar-mode is the best existing solution for Java development in Emacs. It has nice maven integration, groovy shell, semantic support, etc...

Java IDE certainly outgun anything Emacs has to offer in terms of features related to refactoring and code analysis, but other than that the Emacs experience is way better - much more powerful editor, simpler and vast ecosystem of extensions and an overall aura of greatness ;-)

It's all a matter of taste in end - whether you prefer click-based programming, when everything happens in menu and popups or prefer to go down to the bare metal, write the code more carefully(because there won't be a tool to analyze it for you) and create...

If you go for IDEs do yourself a favor, ignore all the Eclipse propaganda and have a look at the competing projects - I personally recommend you IntelliJ IDEA. In the end one decides for himself, but the decision should be made objectively and not based on statements like "everyone is using Eclipse"...

like image 5
Bozhidar Batsov Avatar answered Oct 19 '22 14:10

Bozhidar Batsov


Most of the Java developers I know use Eclipse. I prefer Emacs, and at times, NetBeans. Mostly I prefer to do all my editing in Emacs and use NetBeans only to generate the build file. I recommend NetBeans over Eclipse because it has a better Emacs mode and is lighter on resources (relatively!). If you are looking for a full Java IDE for Emacs, try JDEE.

like image 3
Vijay Mathew Avatar answered Oct 19 '22 14:10

Vijay Mathew