« archives

March 2007
S M T W T F S
« Feb   Apr »
 123
45678910
11121314151617
18192021222324
25262728293031

recently

news from around the web

» view all

Archive for March 27th, 2007


My Aversion to Java Explained

Tuesday, March 27th, 2007

I work on Java software for my day job, and now for my night job as well (don’t worry, that’s not Zenphoto). I learned Java in college, I’ve used it for years, I know it well, but I’ve never really liked it as a general rule; as in, I’ve never ever thought “Wow, Java would be really great for this project!” with any enthusiasm. Java has been the choice because of other reasons in every case — on one project, my team chose it because it was the one common language we all knew, so there was no learning curve. At work, I’m stuck with it because that’s what the “enterprise” software I customize is written in. Now in a new project I’m getting into, we’ve decided on it for scalability and a new web application framework called JSF, and it’s actually looking pretty good so far. But as I sit here learning JSF and the component framework I’m going to be working in, I came to a clear realization:

Nothing in Java is simple.

That’s the bad taste in my mouth. That’s the main thing that makes me dread opening NetBeans or Eclipse. The reason is stupid: I am a designer at heart, not a programmer. Programming is more visual for me; I try to see organization and elegance in the end user interface as well as in the code behind it, and Java pretty much obscures that notion of beautiful code entirely. It’s just not simple enough to be called that.

So what programming languages do I like? Well I’m a PHP programmer by preference, because very little gets in the way between me and the HTML. It’s inherently simple, because it gives you pretty much nothing to start with. Next on the list is JavaScript, which I like a lot, for many reasons. And after that, ironically, I guess it’s Java.

So I have a love-hate relationship with Java. On the one hand, it helps you do stuff you couldn’t ever do in a simpler language, it’s automatically cross-platform, it’s generally fast these days, and it’s easy to work with in the right IDE. On the other hand, it’s complex. So what? I can live with complex. It just annoys the heck out of me sometimes that I have to jump through so many hoops just to build an interface component. Sigh… in the long run, though, it’ll work better for it.

But one thing you can be darned sure of: Zenphoto will never be a Java application.