Thursday, September 14, 2006

Yes, Virginia there is an Unreachable Clause.

(with apologies to Francis Church)

From Neil's update to closures being considered for Java.

I like closures as a powerful programming construct but after reading it, I can only say ...



"DEAR EDITOR of SRR: I am 44 years old.
"Some of my Java friends say there is no Unreachable Clause.
"Papa says, 'If you see it in THE SUN it's so.'
"Please tell me the truth; is there a Unreachable Clause?


"VIRGINIA O'HANLON."

VIRGINIA, your Java friends are wrong. They have been confused by dynamic languages in this web services age. They do not believe except [what] they type. They think that nothing can be which is not fixable by their little type declarations. In this great universe of ours the source is a key artifact, and using ant, javac, and lots of developer intellect, you can create a boundless platform (in source and in size), and be joyous by our intelligence capable of grasping the whole of truth and knowledge.

Yes, VIRGINIA, there is a Unreachable Clause. It exists as certainly as do generics, primitive types, exceptions and inner classes, and you know that they are bound to give to your code its highest beauty and joy. Alas! How dreary would be the world if there were no Unreachable Clause! It would be as dreary as if there were no java.lang.Object Smalltalk. There would be no childlike faith in type systems, no runtime errors, no exceptions to make tolerable this existence. We should have no enjoyment, no programming joy. The eternal light which complex type systems fills in programmer's heads would be extinguished.

Not believe in Unreachable Clause! You might as well not believe in Java! You might get your papa to hire men to watch in all the JSRs in the JCP to catch the Unreachable Clause, but even if they did not see Unreachable Clause coming down, what would that prove? Nobody sees the Unreachable Clause, but that is no sign that there is no Unreachable Clause. The most real things in the world are those that neither children nor men can subclass or instantiate. Have you ever declared an unchecked exception ? Of course not, but that's no proof that they are not there. Nobody can conceive or imagine all the wonders there are untyped and instantiatable in the world.

You tear apart the JVM and see what makes the ticking inside, but there is a veil covering the unseen world which not the strongest developer, nor even the united strength of all the type theorists that ever lived, could tear apart. Only faith, fancy, syntax, types, question marks and <> brackets can push aside that curtain and view and picture the supernal beauty and glory beyond. Is it all real? Ah, VIRGINIA, in all this world there is nothing else real and abiding. No Unreachable Clause! Thank GOD! that Unreachable lives, and it will live forever even if you cannot reach it. A thousand years from now, nay, ten times ten thousand years from now, Unreachable will continue to make glad the heart of developers.

The Editor of SRR

p.s. With this, I have received closure. It's not what I expected.

0 Comments:

Post a Comment

<< Home