tags:

views:

662

answers:

17

Hello friends, I am really happy that I got my work in Java programming, and I am doing it since last 3 yrs.
And I am netbeans user, and worked on eclipse for sometime (4 months)..
Now I am tired on IDE's and its issues..

few issues are:

  • Doesn't work on slow computers - sometimes i have to work on slow computer..
  • You can't work without them, like I am trying to work on javascript, but it was hard for me because of no code-completion support
  • Many times does not support all the features, but other IDE does, which will make you to try other IDE and results in spending lots of time behind tooling... like I started using AspectJ but there is not much aspectJ support on netbeans.. so decided to try eclipse.. but changing IDE is another pain point..

I heard that many programmers does not use IDE's they just need text-editors (code-coloring/navigation), And i think its cool, and productive (overall), as their need of tooling is not much, so able to adopt new technologies/frameworks fast..

So, what should i do to shift from Java IDE's to text-editor only world.. ? And what are famous advanced text-editor (free/open-source) available ??

Few steps towards console-world I have already taken..

  • Now using Maven, and running from console always..
  • Doing SVN checkin/checkout from console.. But still it hard to resolve conflict

EDIT: I am using Linux & (sometimes Windows).

Cheers,

+15  A: 

Look no further, embrace vi ( you can start using gvim - graphic vi improved - )

OscarRyz
Agreed, vi(m) is the only text editor i am using next to eclipse. Additionally you learn everything you need and have on *nix servers.
Willi
+14  A: 

Emacs. You can take a look at JDEE to get started.

rcampbell
okay, after seeing a vi link get 6 upvotes, I have to upvote this, just to be fair.
Nickolay
It seems the heretics are strong this evening.
glenatron
Of course Emacs can be used as an IDE ( http://stackoverflow.com/questions/63421/using-emacs-as-an-ide ) which may technically make it beyond the scope of the question...
glenatron
Emacs isn't merely an IDE, it's a full-featured OS :P
Tobu
Emacs is a brilliant Operating System, all it lacks is a decent text editor.
Lucas Jones
+1  A: 

Maven and SVN are a good start. Other than that, you will probably just want to master the shortcuts of a good text editor. There are the two holy choices: vim and emacs. I prefer neither, and usually go with textmate for mac.

Even though IDE's can be a pain in some regards there is a lot of stuff you give up without them. For example, I am not a gifted enough Java developer to have memorized the Java and Spring API's, so code complete is huge for me. Also, having the IDE flag compiler errors on the spot is a huge time saver. Adding TODO's to my code and coming back to them is handy. Do you think your overall time will be saved without these features? If so, then definitely give the vim/emacs approach a try.

darren
I have stared programming Java with Netbeans 5.5, Never did programming without IDE's, so I am used to of all you have mentioned.. and By the way, I am very scared by not having auto-imports.. I don't know what I will do for import statements.. but still wanted to try.. there must be some way.
Nachiket
+1  A: 

The Text-editor of choice for many developers is Emacs. It's amazingly powerful, sophisticated and extensible but it's also entirely keystroke oriented and once you get used to the keystroke combinations they are great but for a while you feel a bit lost trying to work out how to do everything. Also by default the keystrokes it uses are different from the ones you may be familliar with elsewhere, which is fine once you have learned them but sometimes you end up using the wrong key combinations for the program you are using and doing different things. For example in Emacs "Save file" is CTRL-x CTRL-s which means then when I open up Visual Studio I tend to cut whatever I have currently selected out of the file before saving it. Of course, that is configurable, I just have never got around to configuring it...

Because it has been around for a while and is the choice of a lot of elite developers, Emacs has different plugins available for most languages and development tasks, making it very flexible and well equipped to do more or less anything you ask of it. You can also get hold of it for most platforms and it will run fine on older or more limited systems or on a terminal if you're logging in to remote machines.

glenatron
A: 

So, what should i do to shift from Java IDE's to text-editor only world.. ?

Obvious, switch from Java to a less verbose language :)

Nickolay
Unable to understand, what you are trying to convey.. I don't mind writing { } () new and all verbose java things by hand.... :)
Nachiket
If you coded in Python, you wouldn't need a Java IDE. Seriously if you're writing Java, use IDEs and thank God you have them. Learn another language to let your brain practice working without "smart" code completion.
Nickolay
-1 - gratuitous flame-bait.
Stephen C
@Stephen: I respectfully disagree. I don't believe in a Java programmer using text editor without Java-specific features.
Nickolay
A: 

Like @darren said, you give up a lot of comfort especially with code completion when switching to a pure text editor.

Perhaps you give Java-Editor a try. It's a java IDE, but it's very light, running even on slow computers.

From the description of Java-Editor:

Integrated Java development environments set high requirements on the computer equipment. These requirements are not always met in schools. If the students shall work at home with these development systems, only freely available systems come into question. There are hardly any systems left which actually can be used for teaching. This was the reason for me to develop the Java-Editor which is described below.

tangens
+4  A: 

Notepad++ is another good alternative for windows. It is a very light-weight editor which has syntax highlighting for a variety of programming languages (including java). Notepad++ also supports multiple tabs.

David-Zazeski
i used notpad++ for XML/HTML/CSS.. but i need linux support.. still I can try with WINE. thnkx
Nachiket
+1  A: 

I know someone who uses vim + cscope and he says it works pretty well.

Vasu
+5  A: 

I took the Pragmatic Programmer's advice of learning one editor well (Tip 22: Use a Single Editor Well. The editor should be an extension of your hand; make sure your editor is configurable, extensible, and programmable.) an applied it to IDEs. I'm very happy with sticking to Eclipse, in particular since it's very extensible, so whenever I need tooling for something new, it's mostly available in Eclipse, and my keyboard shortcuts etc. work.

Fabian Steeg
+2  A: 

I would suggest either Emacs or vim (in GUI mode) as an editor, as they are de-facto standards on Unix in general. Then use ant to build your code using javac.

Thorbjørn Ravn Andersen
+3  A: 

I can appreciate you concerns and I felt similar until I found IntelliJ Idea. I realize you were asking about text editor alternatives but you didn't mention whether or not you'd tried Idea so I thought I'd mention it. I found it to be a breath of fresh air. Its fast, easy to use, and easy to configure. I love using it and it really felt like they had me personally in mind when they designed it. Unfortuantly, its not free, but you can do a trial and see if you like it at http://www.jetbrains.com/idea/download/

If you really must use text editors, I can second recomendations for Notepad++ and Textpad, both of which I've enjoyed at one time or another.

I am now using Flex Builder 3 for some flex work and I hope you are never subjected to that abomination or you may give up IDEs forever :)

Anyway, best of luck!

Marshall Alsup
IDEA supports Flex out of the box since version 8, dump Flex Builder 3 as quick as you can.
fuzzy lollipop
Thanks, thats a good point. Alas, I'm on version 7 still but one of these days I'm going to open the wallet and make an upgrade happen. Version 7 does have some flex integration, but its not good enough for my needs. I need to just go ahead and upgrade anyway for my java work.
Marshall Alsup
A: 

gedit (gnome) or kate(kde) + ant.

People who suggest emacs forget that, while it is a great OS, it really needs a decent text editor. Learning vi, while useful if you actually have to use a cli editor, is about as much a pain in the ass as learning an IDE. Both kate and gedit are about as hard to learn as notepad.exe except they support syntax highlighting.

Ant is easier to learn than make IMO (probably due to the way c/c++ compiling works), but takes longer to write (it's xml). I guess you could use make to compile java. I've been told that maven2 replaces ant, but have never used it. If it does, you could use it instead of ant.

As for svn merging, there are a variety of tools ranging from diff (cli, produces difference files) to meld python gui that gives you side-by-side diff. On windows, tortoisesvn ships with tortoisemerge, which does 2 and 3-way diffs graphically.

KitsuneYMG
+3  A: 

If you are using Linux, then have a look:

But I can't suggest one in particular, this is subjective and a matter of personal preference/taste. And, to be honest, I still think that you should use an IDE when doing Java development, text-editors won't solve all your issues and you'll loose very important features (e.g. refactoring). Seriously, when working with a given technology, get the right tool (and computer). With Java, this means using an IDE. And if you want AspectJ support, use Eclipse; if you want good Grails + Groovy support, NetBeans is a good choice; etc etc. Using several IDE is actually the norm for me.

Just for the record, check out what James Gosling says in Don't use Emacs, says Java's father (which applies to all text-editors IMO, not only Emacs).

Pascal Thivent
A: 

Try gedit or the powerful jEdit.

deamon
+1  A: 

Textpad is a good choice if you're running on Windows.

duffymo
A: 

Just for interest: Why do you develop on a slow machine? Usually developers get decent developing-machines.

For scripts or some configuration files I love to use text-style editor vim. But I cannot imagine to go for java-developing without an IDE. Main reason: Better support of automated refactorings, which are a killing feature to me.

Maybe have a try on Intellij. At some point I also got annoyed with eclipse and switched IDE. Some while ago I posted a blog-entry, it shows you a direction of eclipse vs. intellij. Some details though are a bit outdated (it discusses IntelliJ 7, current IntelliJ 9 in my view now has better maven support as eclipse). The Ultimate edition costs money, but this is OK (if I compare the costs saved on better productivity).

manuel aldana
A: 

I would vouch for Netbeans. It has been my favourite IDE since the last 5 years. It has excellent code completion support for almost all the languages. It also has added extensive support for Javascript and Maven in its latest releases.

I would definately recommend it to everyone. It can be found at www.netbeans.org. Do check out the site to see list of all the features.

Available for both linux and windows. And is much ligther on system resources then eclipse.

Funkyidol