Send to Printer


Balkanization and Smalltalk

February 11, 2010 8:59:40.542

I just got done reading Kent Beck's "The Balkanization of Smalltalk" piece. While he makes some good points, I simply don't see an organized effort getting us to the place he wants things to go:

The thing about a Nash Equilibrium is that what is rational from within the game can be absurd from an outside perspective. I'm calling bullshit on the state of Smalltalk. Vendors, you're acting crazy. Have the tiniest possible core defined in terms of test cases. Build a shared library on top of that, implemented in terms of the core. Include numbers, collections, meta-objects, code structure, and code loading. None of this parcel/bundle/package/pundle/category nonsense. Compete on VMs, graphics libraries, and enterprise-y tools.

Let me draw a small analogy here - this argument reminds me of various wishes I read from people who dislike the suburbs. "If only people would all live in small towns and cities, then we could have working mass transit..." etc, etc, etc. The trouble isn't with the vision - it's with the reality of the built environment we have. Getting from here to the desired nirvana of such people is a less than trivial task, regardless of what you think of the desire.

And so it is with Smalltalk. Had ParcPlace set itself up like Sun back in the late 80s, instead of letting anyone run wild with Smalltalk anyway they wanted to, things might be different. But they aren't - we not only have commercial distros, we have lots of free ones as well (listen to our recent "State of Smalltalk" podcast for an idea of how big the field is)

But let's say you limited your scope to just a few players, on the assumption (possibly flawed) that the rest would follow. Cincom is heavily committed to Store (as are her customers) - Instantiations is even more heavily committed to Envy (as are her customers). How do you get from here to the core loader Kent speaks of? What's the incentive to build that? What paying customer would rather have that than, say, compliance with (insert your favorite spec here)?

If any such standardization is to come about, I suspect it'll happen via a mechanism Kent touched on. He spoke about Grease, a portability layer that Seaside uses. Every Smalltalk implementation that supports Seaside also supports Grease. There's your starting point. As Pharo gains traction (especially commercial traction), I suspect that the commercial vendors will start to feel pressure to comply with "the emrging standard". That's the way this will play out, if it plays out at all. I just don't see a new standards effort getting a whole lot of formal traction.

Technorati Tags:

posted by James Robertson


Re: Balkanization and Smalltalk

[anonymous] February 11, 2010 11:22:23.797

Which is probably why he wrote this in his next paragraph:

know this can’t be a sensible proposal. There must be huge, insurmountable problems with it. After all, I’m too mad to think straight. But it would have made my job a lot easier today.


The crux of his point still stands. Often times it's aggravating.

Re: Balkanization and Smalltalk

[anonymous] February 12, 2010 22:49:26.159

and there are others that hope there will be an effort to expand on the current ANSI standard...

 Share Tweet This