Using Java SE5.0 features effectively (and becoming an effective developer)

This month’s JDJ magazine has an excellent article on ‘Experiences with the New 1.5 Java Language Features’.

Over the last year or so I’ve read many overview and introductory articles outlining the Java SE 5.0 new features, but this article is interesting as it outlines best practices and gives tips on when and how to use the new language features more effectively.

Given a couple of Java books and a couple of months experience any developer can pick up the Java language. However, to effectively use the language, to understand and be aware of the pitfalls and common gotchas, and to make sensible choices about when to use a particular feature to best solve a problem – this ‘deep rooted understanding’ (as one of my colleagues once called it…) takes a lot longer to develop and grow. Depending on the environment you are working in and the level of experience of your colleagues you are working with, it can take a number of years to get to a point where you are using the language effectively.

Something I’ve noticed over the past few years is that new developers or developers new to Java (but not as often as new developers) initially think that once they ‘know’ the language, that is it, they are masters, they have the knowledge and know how to implement anything. Unfortunately this naive attitude results in some of the worse code I’ve seen, as the developer blindly codes away, not aware that there may be better, more appropriate solutions to the problem.

I think in order to realize that there is far more than just ‘knowing the language’ a developer has to acknowledge that there is always far more to learn and understand. Knowing a language is not the same as knowing how to use it well. I may know how to use a screwdriver, but that doesn’t make me a carpenter.

So, not everyone likes the new Netbeans release?

In his blog, Malcolm Davis lists many reasons why he is not happy with the latest NetBeans release. I still haven’t downloaded it and taken a look myself, but my first impressions from reading articles and the info and screenshots on websites is that it looks impressive and is definitely worth a look.

Malcolm however is not as happy, although his main complaints seem to be cosmetic. However, that’s a valid issue if you have to work with the tool every day and stare at your screen for 8+ hours a day.

What was your first computer?

News.com have an interesting article interviewing several notable people in the IT industry asking ‘What was your first computer?’. The answers are surprisingly varied, from the obvious first IBM PC, Apple II, to Commodore 64.

My first computer we had at home was a Sinclair ZX Spectrum, an 8 bit machine with 48k RAM and 16 colors (8 in two shades). It was and still is the only computer I know of on which you couldn’t type directly, meaning that all the keys had an assigned keyword in BASIC. When you pressed a key it output that keyword to the screen (a TV), and different variations from the same key depending on the context in which it was pressed, or due to a combination of control keys.