Book: Psychology of Computer Programming

Posted Sun, 17 Feb 2008 21:02:56 GMT

If you haven’t read this, read it now - http://www.bookdepository.co.uk/WEBSITE/WWW/WEBPAGES/showbook.php?id=0932633420

I can not believe I have only found this book recently - it’s been around for 25 years! How good is that for a computer book. I reckon that’s because programming is not as much about technologies as it is about human behaviour, thought and self-awareness.

Gerry Weinberg explains, in his extremely effective and efficient style, familiar from Secrets of Consulting, what this stuff is all about.

Thanks to Ludo, on whose desk I spotted it. When you read it, pass it on - it can only do good to everyone who reads it and their immediate surrounding.

no comments | no trackbacks

Java enums over IIOP

Posted Sun, 17 Feb 2008 18:42:00 GMT

If you pass an enum argument over IIOP, the value in the deserialised object on the server has very strange properties. Here’s what I observed (someEnum is the deserialised object on the server):

someEnum = null
someEnum.name() = null
someEnum.toString() = null
(someEnum == null) = false

Clearly a fairly useless instance for any possible purpose. It’s null, but not quite. It has no value and can not be meaningfully compared.

You can’t work around it with Externalizable, because the immutable enum can not modify itself, and for the same (perfectly valid) reason write/readObject are useless.

This was reported in May 2005 - here - http://bugs.sun.com/bugdatabase/viewbug.do?bugid=6277781

The last comment on that entry, made in Aug 2007 says: “btw, is someone working on that?…”.

Seems either people who use Java 5 and later do not use IIOP and vice versa, or you’d have thought someone would have done something by now….

Any super-clever ideas for a workaround are most welcome.

“Don’t use enums” and “don’t use IIOP” do not count as super-clever on this occasion.

no comments | no trackbacks

Home

Who's George?

Recent entries