I am somewhat embarrased to admit that I do not use an IDE.
I started programming with LISP, did some assignments in Pascal and moved on to C, mostly on UNIX machines, during my undergraduate days. Used vi as the editor and good old pritnf as debugging tool. Learn't to use a command line debugger towards the end but was never very comfortable with it. Most of my early programs involved low level coding in environments where there was little debugger support and I got used to debug programs by reading source code.
During my early days of learning Java, during year 1997-98, I took upon an ambitious project of writing a UML editor in Java with beta Swing code. Things were moving slower than my expectation and I though that an IDE and a GUI builder might help me. Installed Symantec Visual Cafe, played around a bit and concluded that it was not for me. There were many reasons -- foremost being the fact that even after upgrading my machine from 64MB to 128MB, the IDE would take more than a minute to load and once it loaded, everything would be really slow. And I could never spend enough time to train myself to be proficient with it.
Around the same time I had moved from UNIX to Windows and was really missing vi. Did try Windows version of vi and it worked okay. By this time, I was more time with Word, Outlook, Powerpoint, and Excel. Kept switching among notepad, vi and write for occasional coding. One of my colleagues suggested I should switch to xemacs. I installed xemacs, spent a couple of days and concluded that the I have neither the time, nor the inclination to learn all its idiosyncarcies.
Around the same time, I saw some people use Textpad for editing. Liked some of its features. The best part was that there was no learning curve. It became my default editor. Not only for Java code but also for HTML pages and XML content. (Actually, I have begun to like the simple HTML editor with Web interface used to create these weblog entries !).
I have also dabbled with jEdit, JBuilder and NetBeans. But none has been able to hold my attention for more than a couple of weeks.
In recent days, I have been doing more of coding. Things are quite okay with ant as the build utility, Textpad as the editor and various JDK tools. Most often used JDK tools are javac, java and jar. Sometimes jdb for debugging. Less frequently the -Xrunhprof option of Java for profiling. Occasionaly, I may use a decompiler. My sources are in a CVS repository and I use WinCVS (with ssh from Cygwin) to checkin and checkout code.
There are certain aspects of my current arrangement that I don't like.
- CVS operations through Cygwin over ssh is a pain, with every command requiring password in a DOS window.
- Getting Javadoc documentation requires firing up a browser instance. This is actaully quite okay with the appropriate shortcuts on my desktop.
- I use BeanShell for experimenting with small segments of Java code. This works okay but can be better.
- Getting a model (basically the class diagram) from code involves use of paper and pencil.
- Decompiling and Exploring jar libraries has proved useful in debugging. But the tool I use, DJ Java Decompiler, leaves a lot to be desired.
- Creating GUI applications involves too much repetitive coding.
I have downloaded eclipse and have started playing around with it. Looks good, unlike most of the Swing base applications. I really liked its integration with CVS.
The debugger interface is also great. Am yet to explore Ant integration. Lack of profiler support and lack of a GUI builder is dampener but not a showstopper. I would also have preferred integration with a UML based modeling tool and a decompiler.
Need to spend more time with it. Looks like my search has finally ended.
Comments (1)
A free UML plugin
http://www.omondo.com/download.jsp
A free decompiler
http://sourceforge.net/projects/jadclipse/
Both DJ Decompiler and JadClipse are built on Jad. So, if you are not happy with one, you might not like the other too.
Posted by LakshmiNarayanan Balasubramaniam | January 11, 2003 5:50 AM
Posted on January 11, 2003 05:50