[squeak-dev] A Sad Day

Chris Muller asqueaker at gmail.com
Sat Aug 15 22:23:35 UTC 2020


Trygve, I couldn't avoid my eyes getting heavy by what I learned here.  I
already knew I share your desire and vision for everyday people to be
empowered by personal computing, and have pursued this goal for 20 years
with Squeak as well.  Tablets came out since then, but they didn't solve it
-- they're partitioned by function (app) rather than by object, with
woefully insufficient inter-domain cohesion.  I still believe the paradigm
of "one universe of objects" (some *personal*, some *shared*, some
*internal*, some *external*) and "send a message to an object" -- if
properly encapsulated and designed with sufficient empathy for *users* --
*can* be understood and embraced into an acceptable paradigm.

Indeed, today's Squeak community has become a lonely place for Dynabook
dreams, as it became concerned with different goals, but I haven't given up
on it still being possible with a derivative of Squeak 5.3.  I still have
an email from you about Baby*, which I've starred, and intended to get back
to you when I finally get to mount my second attack on MaUI[1].  Alas, time
is a merciless teacher, I won't get to realize my fantasy to interact with
you on this.  However, I've now secured a copy of your whitepaper PDF, and
the versions of Baby* on SqueakMap, which I look forward to exploring and
learning.

I don't know him personally, but have interacted with Marcel enough to
believe his words were simply daring you to elicit more detail, not
question your honesty.  He's darn good at wrangling Squeak, whatever issue
you found, it's a good bet he would be able to fix it.  I hope you'll give
him the benefit of the doubt.  Now is your time to be at peace with the
universe.  Farewell.

Regards,
  Chris Muller

[1] -- http://wiki.squeak.org/squeak/3836

On Thu, Aug 13, 2020 at 2:34 AM Trygve Reenskaug <trygver at ifi.uio.no> wrote:

>
> Dear All,
> Imagine that you bought an iPhone 20 years ago. Over the years, you have
> filled it with pictures, contacts, and other personal data. You now want to
> upgrade to iPhone SE and find that all your personal data are lost because
> there is no way to transfer your data. Very sad.
>
> The same has happened to me with Squeak. The Squeak programs I have
> written over the past 20 years are effectively lost because I can’t port
> them to a current version of Squeak. Very sad.
>
> The essence of object orientation is that objects collaborate to achieve a
> goal. I retired 20 years ago and made it my task to create DCI
> (Data-Context-Interaction), a programming paradigm that merges the concepts
> of class and collaboration. BabyIDE is a non-intrusive Squeak program that
> includes a model of DCI as well as tools for programming within the
> paradigm. BabyIDE is a kind of Dynabook, a personal computer for experts in
> all domains. Its target group could be department managers in business and
> industry; they are experts in running their department in collaboration
> with other managers. Another target group could be farmers; they are
> experts in taking care of their animals. A third target group could be
> homeowners; they build expertise in controlling their smart home.
>
> Squeak is more than a programming language; it is a live universe of
> collaborating objects. The shared objects on the web is also a universe of
> collaborating objects that Kevin Kelly called a *single, global machine*.
> BabyIDE extends the Squeak image into this global machine, making all the
> combined objects available for personal programming as illustrated below:
>
>
>
> BabyIDE is now running in Squeak 3.10.2, together with a new Squeak
> Reverse Engineering tool. I want to port my programs to Squeak 3.5 to
> benefit from its improved internet communication facilities. This port has
> been pestering me since April, but the overwhelming complexity of 3.5 has
> forced me to accept defeat. I can’t avoid speculating about the nature of
> Squeak’s current target group. It used to be “children of all ages.” Today,
> it neither includes children nor old Smalltalk hands like me (I wrote my
> first Smalltalk program in 1978). Stephen Pope, another veteran who also
> bemoans what is happening to Squeak, wrote in a blog:
>
> *“**The most popular systems (Squeak and Pharo) both suffer from
> unbelievable image bloat, with many thousands of classes, hundreds of root
> classes, class hierarchies with many instance variables in the high-level
> (abstract) classes, and too many packages with cute but meaningless (to a
> new-comer) names.”*
> https://smalltalk.tech.blog/2020/08/10/smalltalks-successor/
>
> I couldn’t agree more. A few examples:
>
> 1.   Class Object defines 485 methods. This means that every Squeak
> object understands at least 485 messages. Most of them are irrelevant to
> the problem at hand, but all of them can be part of unexpected behavior.
>
> 2.   The state of every Morph object is held in its regular instance
> variables PLUS any number of undeclared and undocumented variables in its
> *extension*, a Dictionary that may include another dictionary inside it.
> The Morph class comment: *“MorphExtension Allows extra properties to be
> stored without adding a storage burden to all morphs.”* I’m more
> concerned about the burden put upon the code reader.
>
> 3.   For me, the final straw was the new filtering phase added to
> Squeak’s already complex event handling mechanism. Squeak 3.5 has 208 new
> methods with ‘filter’ in their name, but there is no indication as to what
> they are for and when to use them. The abstract concepts of event filtering
> are documented, but there is no documentation on their reification into
> concrete code. The complexity of a basically simple mechanism has reached a
> new high far beyond the capabilities of my brain.
>
> 4.   Class MorphicEventDispatcher has 4 methods in 3.10.2 and 16 methods
> in 5.3.
>
> 5.   Class *MyMorph>> processEvent: anEvent using: anIgnoredDispatcher*
> is a regular event handler in 3.10.2. In 5.3, it is a filter, and its
> execution never stops.
>
>
> After 60 years in programming, 42 of them in Smalltalk, and the last 20 in
> Squeak, I have reached the end of my patience and reluctantly have to quit
> Squeak programming. It is truly a sad day.
>
> Have fun and Goodbye,
> --Trygve
>
> --
>
> *The essence of object orientation is that objects collaborate  to achieve
> a goal. *
> Trygve Reenskaug      mailto: trygver at ifi.uio.no <%20trygver at ifi.uio.no>
> Morgedalsvn. 5A       http://folk.uio.no/trygver/
> N-0378 Oslo             http://fullOO.info
> Norway                     Tel: (+47) 468 58 625
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200815/b351fb58/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hikoacdgfinifkep.png
Type: image/png
Size: 85882 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200815/b351fb58/attachment-0001.png>


More information about the Squeak-dev mailing list