
The Story of Squeak, a Practical Smalltalk Written in Itself (1997) - fanf2
http://ftp.squeak.org/docs/OOPSLA.Squeak.html
======
ekvintroj
This is lovely, we use Cuis University in the UNQ (and I know that it's used
in the UBA as well), an argentinian university to teach OOP, and it's amazing
how easy is to transmit the ideas. But also smalltalk in general is great to
understand the full stack of a language, from the VM to the trivial libraries,
including the GUI; and all using that powerful debugger!

Cuis is a fork of Squeak, like Pharo, but simpler. Check it out
[https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-
Dev](https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev)
[https://sites.google.com/view/cuis-
university](https://sites.google.com/view/cuis-university)

------
yesenadam
I downloaded Squeak and played around with it for a few weeks last year.
Worked perfectly out of the box.[0] It's very cool! The closest we can get to
seeing the original Smalltalk environment in action... I felt like I grokked
OOP for the first time; this is super-OOP. I love the windowing and windows
menus, a cloud of icons around the window. And absolutely everything can be
easily customized. A lot of things about the environment seem unique, and
mostly the things that are familiar (like the column view of directories &
objects) apparently were invented at Xerox PARC! It's very inspiring seeing
how things can be done differently. I highly recommend the experience.

[0] When I got into Lisp a couple of years ago, most of the few weeks playing
around with Common Lisp was trying to get it to work.. Downloaded 5 versions
of Emacs trying to find one that worked with Slime and Clisp (since everyone
recommended using it like that) and getting the Emacs init file right and..
what a nightmare.

~~~
igouy
> The closest we can get to seeing the original Smalltalk environment in
> action...

There is a "Personal Use License" for Cincom® VisualWorks® 8.3

[http://www.cincomsmalltalk.com/main/community/product-
portal...](http://www.cincomsmalltalk.com/main/community/product-
portal/trying-cincom-smalltalk/try-cincom-smalltalk/)

"Squeak is an open source implementation derived from Smalltalk-80 Version 1
by way of Apple Smalltalk. VisualWorks® is derived from Smalltalk-80 Version 2
by way of Smalltalk-80 2.5 and ObjectWorks."

[http://www.cincomsmalltalk.com/main/about-us/smalltalks-
past...](http://www.cincomsmalltalk.com/main/about-us/smalltalks-past/)

~~~
yesenadam
Ah thanks yes, I did look at that website before getting Squeak, I forget
exactly what stopped me downloading it. I should have said "The closest I can
get", my mistake I guess. Maybe all the talk of licences, ONLY (their
capitals) using it for academic use/evaluation purposes ONLY. (Geez, takes me
right back to the 80s.) The download page for the "evaluation" version is a
"send us all your details and we'll email you a licence tomorrow" page. Maybe
my computer is too old (usually the problem).

Looking now, it's not easy to find a price for a do-anything-with-it licence
on that site...Eventually I found that a "Cincom Smalltalk Limited Value Add
Software License Agreement" is $500, but what that is exactly I'm not sure.

~~~
0x445442
There's also Pharo (pharo.org) which forked from Squeak some years ago and is
chugging along at an impressive pace.

------
agumonkey
An ancestor to Pharo. Which, sorry for the recurrent linkage, has a pretty
obligatory MOOC [https://mooc.pharo.org/](https://mooc.pharo.org/)

~~~
idle_zealot
How does one "ship" a Pharo app. Can a program be compiled to a standalone
binary?

~~~
jaccarmac
The sibling saying "ship the VM and image" is correct; Note, however, that
Pharo is working on making this process more transparent. See
[https://github.com/pharo-project/pharo-launcher](https://github.com/pharo-
project/pharo-launcher) for an example of a deliverable that is shipped like a
standalone app. I haven't played around with it yet but the docs do mention a
way to break into the debugger; Think opening devtools in VSCode but better.

~~~
mpweiher
The early Cocoa VM had this built-in: copy the VM app bundle, plonk an image
in the bundle’s resources, done.

------
boshomi
Nice references:

\- Animorphic Systems, best known for HotSpot JVM {

\-- David Griswold,

\-- Gilad Bracha (Newspeak, Dart),

\-- Urs Hölzle (Google Data Center)

\-- Robert Griesemer (golang)

\-- Lars Bak (V8,Dart)

\-- Steffen Grarup (uber)

\-- Srdjan Mitrovic

}

\- David Ungar (Self lang)

\- Craig Chambers (Celcil, Diesel lang)

\- L. Peter Deutsch (ghostscript)

\- ...

------
dylanpyle
Squeak was, I think, the first programming environment I ever used. I spent so
many hours making race tracks (2d self driving cars!) and other fun toys,
moved on to other stuff soon after that but never really found that feeling of
instant feedback again.

------
dpeck
There was a sophomore class at Georgia Tech in the early 2000s (and maybe
still going, not sure) where we all had to use Squeak. Theres some beauty to
the language and its a very good way to learn about message passing.

At the time though, the full environment was incredibly buggy and would lead
to having to take image snapshots way more regularly than you'd want to.
Hopefully those bugs have been fixed by now if there are still people using
it.

------
rbanffy
Can we add a date? This is about Squeak and feels like it's 20 years old.

~~~
sctb
Just a bit older! Updated.

------
why-el
Squeak was the inspiration for Newsqueak by Rob Pike, co-author of Golang. A
lot of the concurrency ideas can be traced to this timeline, some fascinating
stuff there. Check out this video by Pike:
[https://www.youtube.com/watch?v=3DtUzH3zoFo](https://www.youtube.com/watch?v=3DtUzH3zoFo).

~~~
coliveira
This is a different Squeak. The inspiration for Rob Pike was developed on the
Bell Labs in the 80s. Squeak (smalltalk) was developed in the 90s as an open
source version of the original Smalltalk engine from Xerox.

~~~
sctb
But then there's Newspeak by Gilad Bracha et al. which _was_ prototyped and
bootstrapped on Squeak:
[http://newspeaklanguage.org/ns101/ns101.html](http://newspeaklanguage.org/ns101/ns101.html).

