Wednesday, July 21, 2010

Java Smalltalk

When I'm between contracts I can end up in some odd "HR" conversations called "technical interviews."

Young Java team leads generally know nothing of Smalltalk (but they've heard tell of it), so they cannot believe that someone outside the fold would understand the difference of
  if  ( x == y )  {}
from
  if ( o.equals( obj ) ) {}
And yet this is the very difference that makes Smalltalk's IdentityDictionary suitable on one occasion and a mere Dictionary on another.

But how to talk about that to a Java interviewer? Better not to mention it. A Smalltalk Set of integer keys is not a Java Set.

And as for generics and Collections, best not to mention how long Curl (of http://www.curl.com/ ) had typed collections ( a Smalltalk abomination) and an {Iterator-of t:Type} class.  Or that Curl abstract classes with multiple inheritance an interface framework make.

There once was a day when COBOL developers could opt to work in Smalltalk on some banking and financial systems.  But would one of today's few Smalltalk teams be any too happy to be joined by someone with years in C++? Hmmm.  And some wonder why so little gets done in Logtalk or other specialized languages while talk goes on of "dialects" and "language-oriented programming".  What can multiple-paradigm languages such as Oz be taken for in the monoculture of C# and J2EE shops?  And all the while the scripting hares nibble quietly on their Python deployment scripts hidden from CIO- and CTO-view in over-grown weed patches ... called "integration" and "minifying" and "monitoring".

Perhaps it all stems from the obsession with mowing and trimming the chemically-perfected green lawn.  What humble vegetable gardener grows only the green bean, or only spuds? 

Monoculture.  Best practiced in the dark.  Now where was that Erlang posting? Hares, rabbits, meerkats ... it must be the O'R libra colophony.

No comments: