This time in Squeak 4.6, released in July, 2015 (4.0 was released in March, 2010). It鈥檚 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.

I would have liked to have also taken a look at versions 1.1鈥1.3 tonight but I can鈥檛 find versions of the VM which both compile and are compatible with the image formats. 馃槫

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鈥檚 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鈥檛 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鈥檚 VM was new and support for X windows uses a plugin architecture, perhaps the back-end was reworked.

I think I鈥檝e 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鈥檛 have any problems with translucency鈥 so at least I know the VM is the issue, and not the image.

Back to the 鈥楬ello, 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鈥檇 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 鈥楥ould not find an 8-bit PseudoColor visual鈥.

I鈥檝e continued to explore Squeak these past two days and I鈥檓 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鈥檓 going to have a hard time exploring very early versions of Squeak.

Here鈥檚 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鈥檛鈥 so this one is from the 1.20 release (although it seems fine). Morphic is not present in this release, it鈥檚 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.

I鈥檓 ending this thread with Dan Banay鈥檚 very recent by-the-book (the blue one!) implementation of Smalltalk, which runs Xerox PARC鈥檚 release of Smalltalk-80 version 2 very nicely.

I鈥檓 not particularly interested in commercial implementations and I have more than enough to explore: Smalltalk鈥檚 implementation of the original model-view-controller pattern, Squeak鈥檚 self-hosted virtual machine simulator and early versions of Morphic, and Cuis鈥檚 modern yet minimal class library.

@amdt man, these screenshots look really... of their time? in an amusing reinterpretation though. 2.8 looks like plan 9 or even ancient suntools if you squint, and 3.9 has kind of a microsoft office feel

@libc Yes! I鈥檓 a little surprised at just how contemporaneous each interface feels despite having only minor changes in look and feel. Ironically, the modern Smalltalk, Pharo, feels like I鈥檓 using Windows 2000, or Microsoft Office 2003 (I think it鈥檚 all the small icons and tabs).

@amdt I... seem to vaguely remember Squeak? Maybe in relation to some early-2000ish Apple tech? Maybe WebObjects or something like that? What's that about?

@gueorgui Other than Apple funding Squeak development until 1996, nothing comes to mind. WebObjects was written in Objective-C and later ported to Java. Any other clues? 馃

@amdt also, has 1.x squeaks. if you need to, i could try an old VM... in a VM

@libc I had some difficulties with the linker but I鈥檓 sure I鈥檒l figure it out.

I had the same issue on a WinXP VM running in VirtualBox.
I am not sure I was using GNOME, could be KDE too, but pretty sure that it was Xorg.
Try Wayland if you have option to login to Wayland session in login screen.

@murtezayesil It鈥檚 a Wayland session but the same happens in an X.Org session, so I doubt it鈥檚 related to XWayland.

@amdt You could always use qemu to explore those older Mac images 馃樃

@amdt QEMU having actually good Power Mac emulation has been incredible. It was a *LOT* worse back in the SheepShaver days, and I doubt it'd handle a complex program like Squeak well, if at all

@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鈥檚 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. 馃槄

@amdt @drgeo

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.

Regarding font, the pre-rendered bitmap font are computed with the #CuisSmalltalk VectorGraphics packages (100% #smalltalk code)

Show newer

@amdt @drgeo Font size is easy. Just click on the Desktop and Preferences -> Font Size.

What would be better colors?

@amdt @drgeo Anyway these colors are themeable. You can subclass the Theme class and then set it to your preferences.

@amdt I didn't know about Cuis. I should check it out!

@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.

@hilaire @amdt ad 1. I applaud you for the design decision, it's annoying in squeak and I stumble over it a lot


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 !
Jeez !

A whole life !!


@AbbieNormal I can think of few better introductions to programming! Squeak is still in development. 馃槈


I can only find Squeak 1.4 in my Ubuntu repos !

Why so old ? 馃槷

@AbbieNormal I didn鈥檛 think there was a 1.4 release! Could it be the virtual machine鈥檚 version number?

Sign in to participate in the conversation

Server run by the main developers of the project 馃悩 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!