I'm torn which IDE to use. The power of eclipse or the simplicity of TextMate. I'm wondering which one has specific advantages over the other, productivity wise.
One doesn't take up 4 GB of RAM and take a minute to start up. One does.
In addition, Eclipse likes to lock you in. If theres an eclipse project, you need eclipse to build it. Text editors don't care. You can use whatever you want - some people will use emacs, others vim, others textmate. Granted, you can set up a Maven or Ant based project so its not all that bad.
I see two advantages with TextMate or a similar plain texteditor:
Advantages for Eclipse:
It takes some time to learn all the nice features like refactoring or code generation, but once you learn them they are a huge productivity boost. Also, there are alot of plugins you can download for free that will help you with whatever you work with.
Eclipse is the most used Java programming environment so it makes alot of sense to get to know it well.
For Java development most of the in vogue IDE's are pretty solid (Eclipse, IntelliJ, Netbeans), but all with various wrinkles that may make one or the other more productive for you.
I'm a recent IntelliJ convert. I found the eclipse plugin framework too hard to debug and manage, and it's maven support was not good.
For XML querying and development it's hard to get past XML Spy.
For opening ad hoc text files for inspection Notepad++ is damned good.
I guess what I'm saying is that depending on what you're doing, various tools will come into play. Don't expect "one ring to rule them all".
If you're going to use libraries, I think Eclipse would be a better choice.
I've heard a lot of good things about TextMate, and I even like to code in VIM, but setting the classpath manually can be quite a pain, specially if you develop apps that require multiple libraries.
If you're just starting out with Java and need to figure out how everything works regarding compilation and execution, I think you should go with TextMate for the time being.
wow, it really depends on you...
Text Mate I have never used but it seems to compare feature wise to other editors such as JEdit for example.
Eclipse will provide a lot more power for your money (money as in your own time you will have to put in rather than purchase cost). It provides many nice features especially so for Java. You can keep the bloat to a minimum by only including the plugins you really need. The auto-format, refactoring and code templates for me are killer features. It is possible to set this up on other lighter editors but the defaults are already pretty good and setup is more focused on Java meaning less setup time to be productive.
On the other hand the lighter editor will allow you to bring your development environment everywhere provided you took extra care in how your software builds and deploys. It's small footprint both in memory and CPU will leave more available for the actual developing or other tasks you might want to run on your system.
Looking at the productivity curve vs time I expect you would be slower at the beginning with TextMate as you would need to setup all the build environment for your project. Maven, Ivy, Ant etc can help a lot here. With Eclipse you can start working almost right away.
After a short while you start to be at ease in both environment and time comes where you need to execute your app outside your dev environment. Usually newbies with Eclipse will start looking at external build tools such as Maven etc. With TextMate you've already gone through this so this is non issue.
At this point you would be about as efficient with either of them. From here Eclipse will start to have an edge as you learn to use it's java centric features, most of which you would need to script yourself in a smaller more generic editor. Provided you are the type to scratch an itch when it comes it will take a bit longer usually with TextMate than eclipse to get what you want scripted, automated or macroed.
Frankly I do not think it matters much, it is really a question of personal preferences. Try them both !
Do take the time to ensure your project is independently buildable, it does eat-up a bit of time but regardless of the environment you choose you can always have this lowest common denominator. From this point migrating to any-other environment will be very easy.
My preference is Textmate and the like because they lack bloat. They do what I want, when I want it and nothing else. They generally run smooth and quick.
The IDE's do give you a lot of tools to work with, but I find they also disconnect you from truly learning why things are happening. You find yourself spending more time trying to your Gems attached to your project in RubyMine when you could just be coding your application.