[squeak-dev] Re: talk on Newspeak online

Vassili Bykov smalltalkbigot at gmail.com
Fri May 9 19:33:33 UTC 2008


On Thu, May 8, 2008 at 11:04 PM, Florin Mateoc <fmateoc at gmail.com> wrote:
> One thing that I particularly like about Smalltalk is precisely the small
> number of features/concepts.
> I don't think that more is always better, and all those "crappy" languages
> prove it again and again.

Hi Florin, it's good to see you. Here are lists of core concepts of a
couple of modern Smalltaks, and of Newspeak. I'm skipping secondary
and transient artifacts such as categories, method arguments, temps
and contexts.

Squeak:

Instances
Classes
Traits
Methods
Messages
Assignment
Instance variables
Class variables
Class instance variables
Pool dictionaries
SystemDictionary (global scope)

VisualWorks:

Instances
Classes
Methods
Messages
Assignment
Instance variables
Class shared variables
Class instance variables
Class imports
Namespaces
Namespace shared variables
Namespace imports
Name visibility
Import visibility
SystemDictionary (global scope)

Newspeak:

Instances
Mixins (classes are only applications of mixins)
Methods
Messages
Slots
Access modifiers
Initializers

> Not all developers are the same, not even if we only consider the brilliant
> ones. Some are more paranoid than others, some are more over-engineerish
> than others, some are more frugal, some are more hackish. If you happen to
> find yourself downstream from a paranoid one, and the language supports his
> or her paranoia, you are out of luck

Right. This is an old argument, and my sympathy has always been (and
still is) with the side arguing for less control and paranoia. It
feels funny to seem to argue the opposite. But it often helps to
analyze your own weaknesses. One of the big weaknesses of Smalltalk is
the inability of untangling your application from the rest of the ball
of wax. The proof of this are the niches where it is successful. One
of the characteristics of those is that deployment is very
controllable. You are either on a server or in a position of not
scaring users away by a multi-megabyte monolithic install. "20M for an
RSS reader? You've got to be kidding!" The second important factor,
Dolphin being a pleasant exception, is that the users shouldn't be
scared by ugly and clunky GUIs. Marketing megadollars and
institutional stupidity are big problems, but there are the technical
issues that exacerbate them. Show me how my Smalltalk app can be
separated from image version 3.10.1234 with custom patches to
WorldState and initialization of ClassBuilder circumvented by my very
special subclass, and shipped over the wire to run elsewhere. Funny
that I should be among the least unhappy with the status quo--I've
been paid for working in Smalltalk for 15 years straight. Perhaps if
us Smalltalkers are happy to mediate on the perfection of our navel
with no regard to what happens outside the image, we shouldn't be
concerned with vulgar issues such as relevancy and paid jobs.

> And here I have to disagree again. I have worked on a large and successful
> Smalltalk project, where some such internal machinery was developed to add
> all kinds of semantics to the slots: default values/initializers,
> constraints (types/values), persistence, object-graph ownership relations,
> ... Yes, if you looked, you could see the wiring.

I'd be interested to see an example. I really mean it. Especially
default values/initializers.

Cheers,

--Vassili



More information about the Squeak-dev mailing list