Phew…I’ve been working on porting a J2EE app from WebLogic 7 backwards to WebLogic 6.1. Made some good headway and it looks like it’s working now. Some wrangling with deployment descriptor formats, but not too painful. Next up is WebLogic 6.0 and then the dreaded WebSphere 4.0.x.
I’m envisioning a lot of pain there. Mostly because I stay as far away from WebSphere as possible. The installation was painful even with a full set of instructions. I don’t know why IBM can’t make things easier. I’ve never seen decent software (from a useability standpoint) created by IBM, and I think they’re such a great company. They could really use some decent people to redesign their interfaces. I think there must be some of the OS/2 designers trying to keep their legacy of look and feel around.
At one point a couple years ago I tried to use IBM’s VisualAge. Now, I think I’m pretty good at using software without reading any instructions. If software is well designed, it should work as the user would expect it to. Dialogs should be where you would think they should be. Preferences/Options configuration is usually under one of three different menu headings (File/Edit/Tools). And if I right click somewhere I know what I expect to see appear. If I try to use the software and have to really think about how everything is supposed to work, then it isn’t doing its job. Software should enable you to work smarter, not harder. VisualAge was not like this. I could never adjust to their methodology of Workbenches (or whatever it was…didn’t give it enough time to soak in). It just didn’t make sense to me. And I love trying out all sorts of tools even if it takes more work up front. Sometimes just because it isn’t run of the mill, I’ll give it a shot. VA just couldn’t cut it.
I also tried NetBeans/Forte for a bit. It’s about 80% useful. Not to mention that it was really only useable if you had 512M of ram. Hopefully that’s improved recently, but there was some really neat stuff NB had going for it. Ultimately there were a few things which drove me nuts. I think adding jars to a project and even just creating a new project frustrated me. Luckily, the company had JBuilder and then was really useful. I used JBuilder7 for the remainder of my time at that company.
When I went to my next company around Sept 2001, I switched to IDEA (2.0 or 2.5?) and will never switch away. IDEA rules, without a doubt. It does so much to make coding easy for you. It’s no coincidence their motto is “Develop with pleasure.” One of my favorite features is that it “precompiles” the code as you’re editing and lets you know if there are errors and you can fix them immediately before running a compile cycle. And it is able to tell you exactly what is wrong. The feature list is massive and there’s a ton of features you don’t even know exist until you need them or until you accidentaly stumble across them. We’ve actually got an internal mailing list at work called “Idea-tips” to share our tips with each other. If you’ve never tried it, give it a testdrive.
Last week I installed Eclipse 2.1 to see what all the hype is about. It’s pretty decent. Closer to IDEA than many other IDEs. Then I got messing around trying to use it on one of my existing projects. After trying many different things, I asked a guy I know has used it about my problem. I couldn’t get it to recognize my CVS project. I already setup my CVS project, but you have to check everything out from CVS when first starting a project. This frustrated me to no end. You should be able to point an IDE at a directory and start using it with CVS without having to check a fresh copy out. If someone from Eclipse ever reads this, please get working on a fix for this.
Then there are the pure text editor coders I see around my company. You’ve gotta give them respect…just for being so stubborn and sticking with it. That takes persistence (and I’m not talking about a database layer - geek joke). And you can be certain they know how to code syntax well. They must laugh at code completion in IDEs.
It would be interesting to see a study on productivity levels of 2 equal strength coders - one using IDEA and one using vi. I’d be rooting for the IDE coder, but I’m afraid to see the results - the vi coder might actually win.
I guess in the end, the important thing is that you use whatever you need to make you most productive. If that’s vi,emacs, a full powered IDE, a WYSIWYG GUI designer or a combination of all of these, just make sure you’re always productive.
Speaking of which, I guess I should stop my blogging break now.