Java

Java language features

Bruce Eckel says at artima.com

But we need to become especially conservative when considering major, fundamental language features like closures which, while they can be very appealing in theory, may have a cost that is too great in practice when they are forced into a language that values backward compatibility over the clarity of its abstractions.

I am a traditionalist.  I live and breath the Java language since the days of Java 1.1 back in ’97.  I have seen the goods and bads of the language and devised ways to best implement things despite Java’s shortcomings.

Just like my stand regarding additional functionalities to the language, I’d rather opt for the traditional ones.  It’s not that features added since Java 5 were bad, my point is, the vast majority of Java code in the wild is still written in the old way, and sadly and I bet, in a primitive newbie-like way.  Introducing new features to the language will just dilute developers’ attention and logic-formulation.

Just my piece of mind regarding Java…

Powered by ScribeFire.

of Quality and other issues

Just got a memo from a colleague and a fellow senior staff stressing quality. The memo came from upper echelon of middle management. Being one of the manager-level staff, I would beg to be the lone dissident from the popular perspective. Most, though they won’t readilly admit, blames poor quality to people and teams (and hey, blaim it on the managers as well, heh). It pains me to see that these slipups are just a result of a bigger bombshell waiting to explode. I see from a different perspective. I’d like to ask why poor quality-result?

But first, a parallelism.

Why Java EE 5? Because earlier J2EE versions’ programming model is tedious and very hard to execute.
Why Mac OSX? Because OS9 was so outdated.
Why Firefox? Because Netscape Navigator sucked badly.
Why Web Services and new standards? Because CORBA did not realize its promise and was not future-proof

Bottomline: All the stakeholders of the above realized that indeed, a rewrite, or shall I say, re-invention is the only solution.

In my opinion, quality does not emanate only from human factors such as poor-unit testing or non-compliance to defined standards. Quality goes down from the very basic: the foundation; the framework. We have built the framework from ancient cross-J2EE-J2SE approach that the technologies we use are already are already outdated as well. The bottomline is that a brittle foundation will cause a brittle application as well. It will therefore be impacting the things that are evident; foremost; Quality, development process, Time to delivery and developer morale.

I can’t further stress the importance of re-evaluation of technology and the development processes involved, rather than doing continous-rectification and counter-rectification. I say, developers given a mature process, a mature tool, a sturdy foundation component and a rejuvenated culture will err much much less.

When can change be effected? Can we survive a rewrite? Or is it better for me to go?

Powered by ScribeFire.

No Java lately for me

There has been no significant Java post in my blog for quite some time now. I used to be overzealous of Java and its up-to-date development in the commercial and in the open source world. But why the mellowing down? It’s because I have not had a kick-ass Java project or a eureka moment for a long time now. What I do in Java, in my work, is a rehash of what I already know, what I have amassed through the years since the days of Java 1.0. I am on the look for an opportunity both from my current company and or from others. I am, in many months (years?) now been looking for “that” challenge to revive my umph power in Java.

Someone might ask why I don’t do extra-curricular after-work keyboard pounding? It’s because the crunch in the workplace saps all my will to read a little more, program a little more. And besides, a family man spends time at home for, well, you’ve guessed it, for family.

Ahh, life. When will Google Singapore open up for developers?

Here’s a parting shot: “It’s our choices that define us, not our abilities” – Albus Dumbledore. As for me, I choose to strive to improve.

Powered by ScribeFire.