Smalltalk and Squeak (was: [q]squeak is too slow?)

Alejandro F. Reimondo aleReimondo at smalltalking.net
Wed Dec 8 13:18:15 UTC 2004


Hi all,

> Andreas Raab wrote:
> > It always annoys me when people [...] confuse the language with
> > the system. That Croquet has been written using the Smalltalk language
> > means nothing whatsoever. It might as well have been written in
> > JavaScript, Python, Ruby  (or Logo for god's sake ;-) for all which we
> > now have Parsers. None of which would make much of a difference.
> > What we _have_ been doing and what does matter is that we have been
> > using Squeak as a system with all that implies - starting from being
> > able to use BitBlt for image processing, the mp3 plugin for sound and
> > video up to being able to run Morphic right inside a Croquet texture. We
> > would NOT have been able to do this with VisualWorks, Dolphin, GST or
> > any other "Smalltalk" implementation.

Yes! I agree.
Most people that use Squeak can´t do the same with other Smalltalks,
 but not all of Squeakers can't do the same with other Smalltalks.
Squeak is a Smalltalk Ambience adapted for this community,
 and constrained to the community needs and limitations.

> > For all of this "Smalltalk" is totally meaningless - it just happens to
> > have been the programming language of choice for people who did the
> > important part: Make it accessible for us in Squeak.

The most relevant word in the sentence is "us", but
 all Smalltalks are "systems" and (also) have a language,
 but there are not a language (as Squeak is not a language).
People that can use any Smalltalk system (and are not limited
 to using Squeak) have the oportunity to use virtual objects
 in an open system (a Smalltalk ambience) under other points
 of view not present [yet] in the Squeak community.

Saying that Squeak is not a Smalltalk,
 (and Squeak community is not a Smalltalkers
 community) reveals the aceptance of a loose in
 diversity of the Smalltalkers community.
And it is really bad news (of course, only time will
 show that diversity will be preserved or not).

> > It is Squeak which matters, plain and simple.
> > We could have done without Smalltalk but we
> > couldn't have done without Squeak.
> >
Klaus Füller wrote:
> That seems to be very interesting to me - from a philosophical point of
> view. (I am relative new to squeak - not to Smalltalk - and still
> struggeling with some concepts.) So - what of the following is
> acceptable und what is a misconception:

It is interesting for me too, but under a "practical" point of view.
Considering Smalltalk as an ambience (a virtual open system)
 make it a practical device for education in ambience
 (if you can read Spanish I must recommend the reading at
http://www.smalltalking.net/Papers/Educación%20en%20Ambiente/index.htm
 and consider any Smalltalk as a self-driven device
 for adults education and not only for instruction of children)

> - Smalltalk is object-orientation(OO), plain and simple, with a minimum
> of fuzz and a minimum of syntactic overhead. OO means:
>     - a conciese object-hierarchy;
>     - classes, snippets of code and as much of the operating system and
> the machine as possible are objects too;
>     - a support for concepts such as MVC and other programming paradigms
> which are intellectual tools to cope with complexity.
> Smalltalk also means: "direct manipulation"(DM), e.g. represent an
> abstract entity so that the user can directly touch it. DM is a direct
> consequence of Smalltalk's OO-concept, it even reflects the
> postfix-notation of operations in the code.

Smalltalk is not object "oriented"; Smalltalk is an ambience
 where you can build virtual objects.
Smalltalk is a:
 1) medium for expresion of concepts as objects (do modeling with object
oriented methods - object models emerges and make robust through experience
cycles).
 2) a container of virtual objects. The concept of image encapsulates the
objects as an organism, and it forces the humman part to grow the organism
preserving identity (of the System) with a stable pathway (evolution emerges
as a result of development that way).
 3) an ambience. an instance of Smalltalk (a.k.a "your smalltalk") , as a
system, is an open system where co-evolution of internal object models can
be observed; as an ambience let you work not only Object Oriented (using
reduction and object methods), it also support the realization of non-formal
activities that can´t be done with OOLs.

(1)+(2)+(3) is present in each instance of aSmalltalk ambience.

(1) as a placeholder for definition of formal systems. (smalltalk as
specified in ANSI X3J20)
(2) as an "image", an organism.
(3) as an open system, evolving through time in a stable way.

IMHO, No advances has been done in the use of Smalltalk as an open system
yet. In Squeak, nor any other Smalltalk platform.
In my opinion, it is because the advance must be donde in Smalltalkers and
it's education (in ambience) and not in "development tools" or "smalltalk
contents".

-Preservation of diversity.
-Realization of non-formal activities (complementing formal work).
-Inclusion of problematics of other regions (non-developed
 countries) and the posibility of use of Smalltalk as device for
 training in non-formal knowledge.
are some of the topics to be learned.

> - Squeak is based on Smalltalk and first of all illustrates Smalltalk's
> principles. So the question if Squeak could have been written in another
> language is largely irrelevant: Squeak breathes the Smalltalk-concepts
> of OO out of every user-interaction.
>
> - Squeak allows to play with _additional_ concepts (that's the point
> where my difficulties regarding Squeak come to surface):
> - There are *Morphs*. Morphs may be a replacement for MVC. MVC tends to
> be rather bureaucratic; who really knows what a "controller" is, anyway.
> ??? May be Morphs carry restriction with them, too and I finally don't
> want to completely mix up the core-solution of a problem with it's
> graphical representation.

Morphs is in its design a "natural/native/naïve" solution of the
 problem of (re)presentation of objects.
MVC copes with a more advanced objetive (MVC as a model
 of interaction in Information System Theory). I don´t know if the
 origins of MVC are related with Systems theory, but there is a
 high coherence with the formulation of controllers in IS.
In my opinion, MVC and morphic are not related topics,
 but share something common (or point of view about
 interaction with objects).

cheers,
Ale.


----- Original Message ----- 
From: "Klaus Füller" <klausf at schule.de>
To: "The general-purpose Squeak developers list"
<squeak-dev at lists.squeakfoundation.org>
Sent: Wednesday, December 08, 2004 3:19 PM
Subject: Smalltalk and Squeak (was: [q]squeak is too slow?)


> Andreas Raab wrote:
>
> > It always annoys me when people [...] confuse the language with
> > the system. That Croquet has been written using the Smalltalk language
> > means nothing whatsoever. It might as well have been written in
> > JavaScript, Python, Ruby  (or Logo for god's sake ;-) for all which we
> > now have Parsers. None of which would make much of a difference.
> >
> > What we _have_ been doing and what does matter is that we have been
> > using Squeak as a system with all that implies - starting from being
> > able to use BitBlt for image processing, the mp3 plugin for sound and
> > video up to being able to run Morphic right inside a Croquet texture. We
> > would NOT have been able to do this with VisualWorks, Dolphin, GST or
> > any other "Smalltalk" implementation.
> >
> > For all of this "Smalltalk" is totally meaningless - it just happens to
> > have been the programming language of choice for people who did the
> > important part: Make it accessible for us in Squeak. It is Squeak which
> > matters, plain and simple. We could have done without Smalltalk but we
> > couldn't have done without Squeak.
> >
> That seems to be very interesting to me - from a philosophical point of
> view. (I am relative new to squeak - not to Smalltalk - and still
> struggeling with some concepts.) So - what of the following is
> acceptable und what is a misconception:
>
> - Smalltalk is object-orientation(OO), plain and simple, with a minimum
> of fuzz and a minimum of syntactic overhead. OO means:
>     - a conciese object-hierarchy;
>     - classes, snippets of code and as much of the operating system and
> the machine as possible are objects too;
>     - a support for concepts such as MVC and other programming paradigms
> which are intellectual tools to cope with complexity.
> Smalltalk also means: "direct manipulation"(DM), e.g. represent an
> abstract entity so that the user can directly touch it. DM is a direct
> consequence of Smalltalk's OO-concept, it even reflects the
> postfix-notation of operations in the code.
>
> - Squeak is based on Smalltalk and first of all illustrates Smalltalk's
> principles. So the question if Squeak could have been written in another
> language is largely irrelevant: Squeak breathes the Smalltalk-concepts
> of OO out of every user-interaction.
>
> - Squeak allows to play with _additional_ concepts (that's the point
> where my difficulties regarding Squeak come to surface):
>
> - There are *Morphs*. Morphs may be a replacement for MVC. MVC tends to
> be rather bureaucratic; who really knows what a "controller" is, anyway.
> ??? May be Morphs carry restriction with them, too and I finally don't
> want to completely mix up the core-solution of a problem with it's
> graphical representation.
>
> - There are *EToys*. Let's try a costume-player-paradigm and see if we
> get more interaction, more fun, more DM than with MVC.
> ??? But is this idiom really as universally applyable as MVC? Squeak's
> players are good to move Morphs, perferably Sketches, around and watch
> out for different colors. Don't I need additional kind of players?
>
> - In addition to the costume-player-paradigm EToys offer a classless
> approach to OO-Programming: instead of subclassing a class you copy an
> object to modify it's behaviour.
> ??? How can I keep an overview about the different objects and their
> behaviours in a complex system? How do I find an object which is best
> suited to be transformed to adhere to a new task.
>
> Any hints to clarify the different concepts are highly appreciated.
>
> Where does Croquet come into the play? Which features of Squeak are
> constituents of Croquet?
>
> Klaus
>
> PS. As this is my first posting to this list: I'm a German secondary
> teacher for Mathematics, CS and Physics for grade 5-13. I use Squeak to
> teach CS in 11-13, to simulate physical systems in 7-13 and I plan to
> use it in an introductional course on programming in grade 7.
> This course is giving me the biggest headache, because I would like to
> allow the pupils to work in a sort of morphic "Mathland" and I just
> can't get it straight, because I still can't ask the right questions as
> to me some parts of Squeak are still rather a-morph :-)
>




More information about the Squeak-dev mailing list