27

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,

Nachiket
  • 6,021
  • 6
  • 41
  • 47
  • Not really related to the question but resolving a conflict is hard because of SVN itself, not because of IDE:s or other related tools. – Esko Jan 10 '10 at 18:16
  • what i mean is.. I always use IDE resovle conflict double pane view.. so, its IDE feature, I am used to of.. without it.. its hard . – Nachiket Jan 10 '10 at 18:19
  • 3
    Uh? Code-completion is such a useful feature you can't work without it, and that's an *issue*? – Mirko N. Jan 10 '10 at 18:28
  • @akhnaten . yeah, because i was working on javascript, and there is no code completion all the time.. – Nachiket Jan 10 '10 at 18:49
  • 20
    Unfortunately, many of the programmers who think they're productive with a text-editor are not living up to their potential because they are either too afraid or too proud (of what?) to learn to use a real IDE. A programmer who claims to be fully-productive with a text-editor is like a farmer who has a tractor but claims to be fully-productive using a plow. Don't get fooled by old-timers who refuse to catch up with the times. – BlueRaja - Danny Pflughoeft Jan 10 '10 at 18:57
  • 12
    @BlueRaja : Lol, you keep believing that kiddo. The use of any sufficiently powerful text editor is indistinguishable from magic to IDE users. – glenatron Jan 10 '10 at 19:40
  • Why don't you find an IDE that supports autocomplete for javascript? – Denis Tulskiy Jan 10 '10 at 20:05
  • 1
    @Piligrim then it may not have support for CSS or AspectJ.. so end of the day.. I have few languages/configurations, which i have to do manually.. – Nachiket Jan 11 '10 at 06:26
  • 5
    glenatron: What's the difference between an IDE and a powerful text editor? – Esko Jan 11 '10 at 07:14
  • @Esko, The difference is in the focus. A text editor edits text, fullstop. An IDE edits (and run) code and settles dependencies automatically, among other tasks. – Pacerier Jul 23 '16 at 08:54
  • 1
    @Pacefier, while helpful, I've learned that within the last six years :) Unfortunately there's no sensible way to invalidate old comments... – Esko Jul 24 '16 at 07:38

21 Answers21

26

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

Robert Campbell
  • 6,848
  • 12
  • 63
  • 93
24

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

OscarRyz
  • 196,001
  • 113
  • 385
  • 569
  • 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. – whiskeysierra Jan 10 '10 at 18:22
11

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
  • 44,988
  • 7
  • 85
  • 112
8

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

Community
  • 1
  • 1
Pascal Thivent
  • 562,542
  • 136
  • 1,062
  • 1,124
5

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
  • 254
  • 1
  • 2
5

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
  • 233
  • 1
  • 4
  • IDEA supports Flex out of the box since version 8, dump Flex Builder 3 as quick as you can. –  Jan 11 '10 at 02:18
  • 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 Jan 11 '10 at 19:49
4

some update: take a look at http://www.sublimetext.com/2 it's commercial, but this one supports all platforms, not java based, uses own interface. I know at least 4 vim guys who already migrated to this one probably because you can write plugin in almost any language! =) there's repository for plugins. I think this is really something new and worth to have. If you develop for a company money is not a problem in here =)

holms
  • 9,112
  • 14
  • 65
  • 95
  • 1
    You should mention that SublimeText can be used for free arbitrary long. Paying is pretty much only necessary if you don't want to get reminded every 15th save or so (which can be clicked away with a simple, single click on a standard window or with ESC) that you can pay for it. (And I know from at least one guy who switched from ST to vim ;-)) – Martin Thoma May 26 '15 at 04:36
  • @moose I'm the one who switched from ST to vim :D But well.. ST is great ide, especially those vim bindings quite nice :) – holms Jun 03 '15 at 19:43
3

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.

Kshitij Aggarwal
  • 5,287
  • 5
  • 34
  • 41
2

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.

D.C.
  • 15,340
  • 19
  • 71
  • 102
  • 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 Jan 10 '10 at 18:24
2

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
  • 73,784
  • 33
  • 194
  • 347
1

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
  • 11,018
  • 13
  • 64
  • 112
  • Doesn't VS have a choice to use Emacs-style keybindings, which would surely at least prevent *that* problem? – SamB Nov 27 '10 at 00:04
1

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
  • 39,095
  • 19
  • 120
  • 139
  • This is the true answer! This thing has code suggestion if you install the jdk docs and crucially it has debugger support. And amazingly only eats up around 10Mbs of RAM and doesn't chew up the CPU for no reason. – mbwasi Dec 19 '19 at 21:36
1

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

Vasu
  • 2,406
  • 3
  • 20
  • 26
1

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

duffymo
  • 305,152
  • 44
  • 369
  • 561
1

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
  • 15,650
  • 9
  • 43
  • 50
1

I would recommend BlueJ, its a very nice simple Java IDE. It is interactive and innovative, available for Windows, Mac and Ubuntu/Debian. Features include:

  1. Code Scope Highlighting
    BlueJ Code Sample
  2. Code Auto Indent
  3. Object Inspection & Method Invokation
    run any method

There's also a Tutorial in English and Tutorial in Japanese And the bird "bluejay"
bluejay bird

Other Recommendations: jEdit & Geany

computingfreak
  • 4,939
  • 1
  • 34
  • 51
1

You can use Visual Studio Code + Language Support for Java | Java Language Support as a lightweight cross-platform alternative to Java IDEs.

niutech
  • 28,923
  • 15
  • 96
  • 106
0

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
  • 12,753
  • 4
  • 37
  • 58
0

Try gedit or the powerful jEdit.

deamon
  • 89,107
  • 111
  • 320
  • 448
0

if you using mac then Coda IDE or TextMate is your friend. Coda supports svn and sftp, have great syntax completion and highlighting. Such things as code sharing, snippets collection and some other nifty stuff really gives of IDE feeling, although many eclipse guys says that this is just a simple text editor.

Gurus sticks to VIM or EMACS which requires lots of learning in fact (two different religions, vim is command based, and emacs is shortcut based). personally I like emacs more because of funcionality and faster learning process (mac have more complicated shortcuts then windows, it's kind of more easier to use emacs for me)

on windows notepad++ already have intergrated sftp, that's would be enough for me. for svn mostly tortoiseSVN is used..

Maybe few software instead of one, seems to messy for developing - but it's not. Infact because software usability is high, workflow is really faster then with eclipse or netbeans.

Personally I stick to Coda IDE a lot. Because of text editor inverted colors, minimalism of interface, speed of actions you need to do, not-aliased fonts (like monaco 10px)... best software I've used in my life.. but it's for mac only =) I feel so comfortable with it, that I decided to buy a macbook finally (migrated from hackintosh). I'm happy more then ever was =) I wanna code so hard when I just opening this software and see my code on black background - magic feeling! =)

Cheers

holms
  • 9,112
  • 14
  • 65
  • 95
0

Use VS Code and install Java extension

Sambhav Khare
  • 61
  • 3
  • 9