Alan,
I'm thinking more deeply about computers and language and have realized that, 
after programming for 15 years, I still have no idea what I'm talking about :)
After reading many of the LISP suggestions (thanks), the primary features seem 
to me to be:
parsimony (again you got to me and I finally looked it up; "extreme 
unwillingness to spend money or use resources")
little syntax - you can learn the language in 5 minutes
uniformity - everything from variables to procedures are treated the same.
power - a meta-system where you can change anything e.g. the order the 
arguments are processed in, what syntax is legal, etc.
I'm not sure where, if at all, security comes in
So, now on the way to ESUG, I've come back to what makes Smalltalk valuable and 
I came across http://www.c2.com/cgi/wiki?AlanKayOnMessaging
I'm shocked (but not really, given that the idea of Smalltalk had already 
passed into the religion phase) that this did not lead to a massive, 
enlightening thread on the Squeak list.
Here are my thoughts and questions:
> The big idea is "messaging" - that is what the kernal of Smalltalk/Squeak is 
> all about (and it's something that was never quite completed in our Xerox 
> PARC phase).
To me this says that Squeak brought something new to the "messaging" table 
beyond St-80. Is that right, and if so what did it bring? Etoys?
> "realize that a good metasystem can late bind the various 2nd level 
> architectures used in objects"
This seems like a real pot of gold, but I'm not sure I'm grokking it. Would you 
give a concrete example of what you're talking about (in any language)? Does 
Smalltalk do this? In the example about assignment that follows, I don't see 
how the meta-system is involved, which I think of as things like 
Behavior>>allSubclasses

> "assignments are a metalevel change from functions, and therefore should not 
> be dealt with at the same level"
What makes them so?
Even though I encapsulate my domain concepts, inside my objects I write (and 
see everywhere in Smalltalk) code which seems to violate what you're saying. 
Like if I was modelling a web page, maybe I'd have an instance creation method 
Webpage class>>at: aUrl; then during initialization:
        Webpage>>setUrl: aUrl
                contents := aUrl retrieveContents contents.
                ...
So here again is assignment mixed with functions (or do you really mean 
"functions" and not messages as here?). But what is the alternative? A 
WebpageContents class? What would the benefit be?
> "I would say that a system that allowed other metathings to be done in the 
> ordinary course of programming... is a bad design."
Is this a problem with LISP, where a macro can e.g. magically change what gets 
passed to the evaluator?
Gratefully,
Sean
_______________________________________________
fonc mailing list
[email protected]
http://vpri.org/mailman/listinfo/fonc

Reply via email to