Squeak 5 is out
news.squeak.org
news.squeak.org
I blogged many years ago that if/when I retired I might mostly only use Squeak for the rest of my life for learning/hacking projects. I have largely used Lisp languages since the early 1980s, but the Smalltalk environment is so much fun!
Congrats to the Squeak team.
It is just recently that some scripting languages have started giving me the same feeling of bliss.
It is really a pity that those ideas didn't spread as they should have been.
The point being that I know quite a bit modern, scripting languages (Python, Ruby, JavaScript, TCL, Io, Lua, ...) and a couple more experimental, dynamic languages and still, none of them "give me the same feeling of bliss". They're getting closer, but are not quite there yet.
So I was just curious which scripting languages the GP had in mind.
µO is more code and interfaces with Csound, whereas openmusic is node, or patching like PureData or Max. I am always blown away and get lost in the onion layers of Squeak.
I like the newer theme vs. the older, colorful gui theme.
[1]http://www.zogotounga.net/comp/squeak/sqgeo.htm
[2] http://repmus.ircam.fr/openmusic/homeSadly Squeak was the start of my slow and gradual hate of OOP languages (Java later on did not help) but it did have some really cool things like traits and continuations.
There's always http://dmitrymatveev.co.uk/shampoo/
That's what I didn't like when I was playing with smalltalk in school (in '87)
[0] http://www.newspeaklanguage.org [1] https://news.ycombinator.com/item?id=10049588
Does anyone use GNU Smalltalk and how does it compete with the CogVM on performance?
(GNU Smalltalk is a text-based version of Smalltalk, on a separate dedicated VM, and apparently is shippped with a functional Seaside port, and there were even cool incomplete projects like a Qt shim library to buiild GUIs [0]).
[0] It ought to be gst-qt, as mentioned here, but unfortunately Github links and initial queries led me to a dead end for actual repos with code.
There are also licensing concerns because it's LGPL, whereas Pharo/Squeak is MIT.
I think using it as a scripting language in a UNIX environment would be easier than Pharo though.
And do you work on Etoile? I am very surprised to hear it was built with Smalltalk. I remember some devs on FLOSS Weekly years ago, and I could be wrong, and I thought this was one of the few projects in the FLOSS world using Objective C (I thought it was a branch of GNUStep, but maybe I am just getting it confused with GNUStep).
https://twit.tv/shows/floss-weekly/episodes/56
For others who did not know about its use of Smalltalk, the dev page hints at it.
http://etoileos.com/downloads/installtrunk/
That is a very cool tidbit. Maybe it is time I finally sit down and play with EtoileOS. I listened a long time ago (we are talking years), but this explains also a point I remember that came up: object persistence and how modern OS X was doing cool stuff with application state (not just files) over reboots. Smalltalk makes that interest a lot more obvious now, and it seemed cool but far out and complicated at the time. Will definitely listen to the interview and encourage others to do the same!
The tooling was just terrible and turned me off a lot of the better things in OOP for a lot for years. I guess it serves as good training for kids who come out of school and fall into some awful legacy codebase that makes their first job hell, but for the rest of us it seemed like and unnecessarily confusing and frustrating choice.
With Emacs + SLIME, I still find myself typing a lot of "(defun...", "(defmacro...", and "(defclass...") boilerplate.
Also lisp.
I downloaded the latest, and now there seems to be uniformity in the UI, with a single window style for all tools. It looks like Pharo has pushed them in the right direction.
* More immediate types. The classic Squeak/Pharo image type only allows for
objects, strings, and integers as immediates, if I recall correctly.
Spur adds individual characters, floats (soon), and some other stuff
I'm spacing. Since all Smalltalk values are nominally heap-based,
having more immediates is a really big deal.
* Allows for a segmented heap. For desktop apps, this isn't a big deal,
but for server apps, it means that the VM can actually relinquish
RAM.
* Better object pinning, which makes FFI a lot easier.
* A more GC-friendly design, that should enable a much faster GC pass.
The only downside, IIRC, is that the total image size grows by about 15%, but that's a pretty good trade-off, given a normal image is usually in the tens of megabytes.The big news here, however, is the new VM and image format, and since Pharo and Squeak have never diverged in that area, it's likely that Pharo will benefit from these improvements as well.
I learned Smalltalk with Visual Works back in 1995, it was a great experience.
Application servers? Is anyone writing servers in squeak?