Emptiness
Usually, when I complete a program, not matter how small, I experience a fulfillment of having done something. Everyone knows that it feels great to build things, may it be a Lego town, a Snowman or a simple program to upload blog articles.
This time the only thing I felt was nothing but a hollow emptiness. I’ve spend a good week to understand Enterprise Java Beans. Now I’ve completed a huge part of the requirements and was watching the debug output of my program, waiting patiently for some kind of satisfaction… nothing.
Before working on the EJB assignment, I was working on a password cracker. It took me several days to discover that I had a silly bug and my program from the first day would have done well. Even then I had a feeling of satisfaction. It was fun building the cracker, I could play with a bunch of nice algorithms and do some bit-fiddling. It kept me working for hours without noticing it, even the completion of a small part (a nifty loop for example) gave me the motivation to dig deeper and solve the riddle.
Often the source of this kind of fulfillment is not the end-product itself but the way to get to it, or the way it was build.
I don’t know why it’s completely different with the EJB assignment. One guess is that the whole thing is so complex that I don’t have the feeling of understanding. I could not explain (in great detail) how Enterprise Beans work, not to speak how to implement them. It’s a pity, the aim of EJB is to ease the programmers tasks, now the programming is really easier (but counterintuitive in some cases), but the configuration of the whole thing is insane. I’m pretty sure that I spent 80-90 % of my time figuring out how to write the deployment descriptors and the configuration.
Addendum: I’ve been talking to Ben about this issue. He, as always a step ahead, said that the upcoming EJB 3 specification simplifies the whole story. It’s funny to see the typical complexity curve – at first it goes up until the users don’t get it anymore, then it goes down to an acceptable level. Why don’t we throw out the complexity at first? Ahh, no – that would be too good… .
Time to quote my favorite again:
—
The price of reliability is the pursuit of the utmost simplicity. It is a price which the very rich find most hard to pay. —Sir Antony Hoare (oh so true!)