|
This post originated from an RSS feed registered with Agile Buzz
by James Robertson.
|
Original Post: Re: ACM Queue: Schizoid Classes
Feed Title: Cincom Smalltalk Blog - Smalltalk with Rants
Feed URL: http://www.cincomsmalltalk.com/rssBlog/rssBlogView.xml
Feed Description: James Robertson comments on Cincom Smalltalk, the Smalltalk development community, and IT trends and issues in general.
|
Latest Agile Buzz Posts
Latest Agile Buzz Posts by James Robertson
Latest Posts From Cincom Smalltalk Blog - Smalltalk with Rants
|
|
Lambda the Ultimate links to an interesting article discussing types, modules, and objects. take this, for instance:
Smalltalk-80 was an important and enlightening experiment in just how far object-orientation can be taken in a programming language. It is simple, compact, and shows a rare and refreshing integrity of concept. To accomplish its goals, it introduces the idea that the variables of a class can be either class variables or instance variables, and the methods can be either class methods or instance methods. This turns the class into a mixture of two fundamentally different concepts - type and module - with very different semantics. Smalltalk manages to do this relatively cleanly.
Unfortunately, two more recent languages, C++ and Java, have taken this same distinction and turned it into a gratuitous mess. Let 19s look just at these two languages for a moment, then come back to Smalltalk.
The author then goes on to demonstrate how the consistency of Smalltalk makes it simpler than the alternatives. I do have a quibble on one thing:
Smalltalk pays a high price elsewhere for taking object orientation to the extreme, notably in complete loss of static typing and serious runtime efficiency penalties. Special, one-instance forms of classes are, for many programming problems, not as good a conceptual match as modules. But at least it provides a single, consistent, and syntactically explicit call mechanism.
That's simply not the case. Smalltalk doesn't suffer from "serious runtime efficiency penalties" - arithmetic can be slower in Smalltalk (although it need not be - see the work done on StrongTalk, for instance)> It's an interesting article either way
Read: Re: ACM Queue: Schizoid Classes