Category Archives: Soft Where It Hurts

[BlogEntry] The Tedium of Web Apps

I've been a little unfair to Java in my previous posts. I don't really have anything against the language or the environment. Overall, it's a really cool, productive language. I've gotten pretty spoiled about not having to clean up after myself. I don't think I could go back to C++ without leaving awful memory leaks all over the place.

The real problem, as I see it, is with writing web apps. It's a really tedious process of shuffling parameters from layer to layer, and there's very little really interesting code. It's really a shame that the richest, most accessible business opportunities involve the most boring kind of software. Databases are dull. HTML is laborious. The only really hope for good stuff is a little interesting business logic, a few compelling classes, and some snazzy Javascript. It sure ain't the fun of embedded systems.

On the other hand, the end result is very cool. The possibilities presented by web apps are quite exciting. You can do some really amazing stuff, just by creatively assembling these few boring bits of software. It's an interesting trade-off.

[BlogEntry] OPC

Other People's Code is the bane of the programmer.

I used to write code for embedded, real-time systems like cockpit displays and flight simulators. Basically, I wrote code on the bare silicon, with the occasional API for an A/D converter or graphics chip. Other than that, it was me and the compiler and the hardware. And the compiler was usually the biggest problem. Compilers for embedded systems are notoriously buggy. The audience is less than a thousandth the size of mainstream software, so everybody's a beta tester.

Java is the most miraculous environment for code reuse. I find that my code makes up a small fraction of the actual software in any application. You've got an operating system, of course, a JVM, a container, and loads of jars. This is at best a double-edged sword. We are suddenly able to write much higher-level code, since we're building on top of all these other pieces of code. This is wonderful. But the pain of trying to learn these new libraries and get them to work together is almost worse than writing it yourself.

[BlogEntry] Mother, Mother Java

Sung to the tune of
A Pirate Looks At Forty
by Jimmy Buffet

Mother, Mother Java,
I have heard your call.
Wanted to write cool software,
Since I was three feet tall.
You cast a pall,
You cast a pall.

Watched the men who wrote you,
Go from geeks to gods,
In your bytecode you hold the tortures
Non-programmers never see.
NPE.
NPE.

I have debugged now for over two weeks,
I printed and I stepped through and
I log4j-ed gigs.
But it's time to stop bitchin'
Time to start wishin'
Back to Nintendo again
Just a few rounds
Just a few rounds

Mother, Mother Java
After all the years I've found
Occupational hazard being
C++ is just not web-sound
Feel like I've drowned
I'm container-bound
I'm container-bound