I have restarted using text editor after using IDE for a few years to write my code. I use Ant to build/package/test/run my code. What are your experiences in using IDE's vs using text editors? Does one become more java proficient by coding with text editors (I read an author mention this on one of these forums)? Thanks and regards..
I used to be a real Emacs bigot and I looked down on all IDEs. But the latest generation of IDEs has really changed my opinion. IDEs used to all have editors that were vastly inferior to Emacs, and they "assisted" you mostly by generating large amounts of really ugly code that you couldn't understand and were encouraged not to look at or (especially) touch. Today's IDEs aren't like that anymore. Eclipse and especially IntelliJ IDEA (and probably others, but these are the only two I'm working with) help you without getting in your way at all. The "Intellisense" kind of feature, where a menu of possible completions can popup, and the "Intention action" kind of feature where a menu of possible actions like "insert cast" and "surround with try/catch" pops up, save you lots of typing and speed up development, without making you stupid. I think it's hard to argue with a straight face anymore that using "just an editor" makes any kind of sense. Now, I still think Ant is ridiculous compared to good old "make". But that's another story.
Now, I still think Ant is ridiculous compared to good old "make". But that's another story. Umm, we have an app that consists of 2,000 classes and is packaged with a few dozen of JARs, hundreds of JSPs, and various resource files into an EAR. It's a big task to pull files from a version control system, compile, build, package, and deploy everything as an enterprize app, -- a little too much for a good old "make".
author and iconoclast
It's not at all too much for make. It's way easier with make. The control file is way shorter with make. My big beef with Ant is that it can only do things for which someone has written a task. If I need to do something unique, I have to code it up in Java. Now I love Java, but Java's lousy at many things that UNIX shell tools are great at. So why would I want to code something up as a big Java class, then write a big blob of XML to invoke it, when I could have simply written a one-line shell command to do the same thing? Why would anyone want to write
when they could write
There is one nice thing about Ant, and that's the platform-independent thing. If you need to send out build scripts that have to run on toy computers -- Windows without Cygwin installed, say -- then Ant is definitely the way to go. But as far as getting work done -- there's no contest, sorry!