Lambda the Ultimate

inactiveTopic The Sound of Lost Productivity
started 12/16/2003; 5:46:47 PM - last post 12/16/2003; 8:57:51 PM
Patrick Logan - The Sound of Lost Productivity  blueArrow
12/16/2003; 5:46:47 PM (reads: 9885, responses: 2)
The Sound of Lost Productivity
James Robertson, in his Cincom Smalltalk blog, writes...

[Even] though most of the learning is at the library level - the language and runtime still matter. In Smalltalk, one can extend or change any class or method you need to change. That's highly useful - because the library designers don't always make it easy to replace a given class via subclassing. Sometimes, you just have to go in and modify the base system (or build scads of wrapper classes). In BottomFeeder, I have had to both subclass and modify the base XML parser - in order to handle errors in ways that the original developer simply did not foresee.

It's a nice theory to say that the library can be fixed, or that an unchangable library is a boon - but that sound you hear is the sound of lost productivity.

Smalltalk systems typically have good version control, comparison tools, packaging tools, and browsers. An application in Smalltalk very often will add a instance methods in the Object class, and other so classes that come with the core system. These are only included in that application.

This is very hard to duplicate in languages like Java and C#, where you pretty much have to take what you can get from the vendor. Maybe "aspects" or some other mechanism can get around these core limitations to developer productivity. Doubtless not with the same ease and manageability.
Posted to critiques by Patrick Logan on 12/16/03; 5:47:45 PM

Isaac Gouy - Re: The Sound of Lost Productivity  blueArrow
12/16/2003; 7:03:03 PM (reads: 535, responses: 0)
some other mechanism
Such as multi-methods in Nice.

Doubtless not with the same ease and manageability
Reconciling third-party changes to base classes isn't that much fun.

Patrick Logan - Re: The Sound of Lost Productivity  blueArrow
12/16/2003; 8:57:51 PM (reads: 505, responses: 0)
Such as multi-methods in Nice.

Yes, for example. One of the nice things about a simple system like Smalltalk, that comes with source, is you can modify the out-of-the-box "meta-object protocols". For example, to implement wrapper methods. (PDF)