This time in Squeak 4.6, released in July, 2015 (4.0 was released in March, 2010). It’s 32-bit, so I had a bunch of libraries to install into a container before I could get this going.
And another, this time in Squeak 3.9, released in Mar, 2008 (3.0 was released in June, 2001). I quite like the Unix-like handles on the corners of the windows, and the same handles for resizing splits.
Once again, now in Squeak 2.8, released in August, 2000 (2.0 was released in May, 1998). Now I know where the assortment of window border colours came from! This seems to be the last version to use the eponymous MVC-based user interface. I love left-hand scrollbars. Morphic is available as a preview. No unit testing classes.
This is the perfect environment for test-driven development… which isn’t surprising, since Kent Beck wrote SUnit for Smalltalk.
this is moving 😢
Squeak was my first experience with learning/writing code
I made the so called bank Account tutorial in order to learn object orientation
I remember a set of objects that had a visual representation, they could be manipulated visually with the mouse
Later I was hired as a java dev and I grokked object orientation becaise I has played with Squeak !
A whole life !!
I would have liked to have also taken a look at versions 1.1–1.3 tonight but I can’t find versions of the VM which both compile and are compatible with the image formats. 😤
@AbbieNormal I didn’t think there was a 1.4 release! Could it be the virtual machine’s version number?
@AbbieNormal I can think of few better introductions to programming! Squeak is still in development. 😉
Going back to Squeak 2.8… by default it displays in 8-bit colour, and results in every colour being translucent. You can make things out if you place it over a dark background. It also does this in 16-bit. It’s fine in 32-bit, except for text selections, the background of which become completely transparent.
I do not — and do not want to — know enough about the X windowing system to know why it does this, but since Squeak 3 doesn’t do this, I feel annoyingly compelled to find out why.
Turns out, Squeak 3 does do this after all, it just defaults to 32-bit colour… but Squeak 4 does not, at any colour depth. Squeak 4’s VM was new and support for X windows uses a plugin architecture, perhaps the back-end was reworked.
I think I’ve found the inflection point: Squeak 3.10.2 suffers from translucency, but Squeak 4.0 — which was a re-licensing release and should be functionally equivalent to 3.10.2 — does not.
The 3.10.2 image run in the VM released with 4.0 also doesn’t have any problems with translucency… so at least I know the VM is the issue, and not the image.
Back to the ‘Hello, world!’ Shouter class: this time in Squeak 1.31, released in January, 1998. This looks almost identical to Squeak 2.8 but the Method Finder is missing and Morphic shows much earlier progress.
Squeak 1.13 is the earliest (and last) version of Squeak I’d like to get running, but whilst the earliest Unix port (from 1.22) compiles fine, it has a segmentation fault. I wonder whether it would be quicker to run the Mac release in an emulator.
I found the Unix port release for 1.13. It also compiles fine. It does not have a segmentation fault. It does immediately exit with ‘Could not find an 8-bit PseudoColor visual’.
I’ve continued to explore Squeak these past two days and I’m coming to the conclusion that due to a combination of some not particularly platform independent features of early images, and the time it took the Unix VM to reach feature parity with the Mac releases, I’m going to have a hard time exploring very early versions of Squeak.
Here’s Squeak 1.13, from October, 1996! The image, changes and sources files are on the Squeak Web site, but the Macintosh VM (or its installer) isn’t… so this one is from the 1.20 release (although it seems fine). Morphic is not present in this release, it’s strictly MVC!
I started this thread with Pharo, a Squeak fork, but there is another fork, Cuis. Its functionality is quite pared-down from Squeak, with quite fewer classes. The layout of the system browser, debugger and so on is similar to their early Morphic versions in Squeak.
@amdt I started #Smalltalk with Squeak, then Pharo for many years, and now I am using Cuis. Cuis is a craftsman job: clean, coherent and easy to understand. Its GUI Morphic has been vastly redesigned to be coherent and much easier to use. I like it very much. There is the VectorGraphics system written in Smalltalk (no external library). See my recent post on the experimental circular toolbar.
@drgeo I like Pharo’s features but exploring how some things are implemented involves so many levels of indirection and abstraction… so Cuis is refreshing! I hope something can be done about the font size and window colours, though. 😅
You get it right: Pharo grows in complexity at a point you can't understand its code. That's the conclusion I got too.
Font size can be changed, the graphic theme too (there are dark themes), see the Preference menu.
@amdt Oh, by the way, the #CuisSmalltalk Morphic system is not at all similar to the earlier version of #Squeak Morphic. It is also a redesign.
The more notable two points are:
1. Each Morph comes with its own coordinates system (origin at its top left) in Squeak/Pharo each Morph as its origin at the top left of the screen and its annoying when composing Morphs
2. The canvas will be vectorized. The code is already working.
There are other nice features like its package system.