Just like learning Lisp will make you rethink programming languages, and learning Erlang will make you understand the true power of concurrency: learning Smalltalk will make you understand what "object oriented" actually means. I haven't used Squeak since college but I'm glad it was part of the cirriculum. Btw, almost all of Javascript's good parts come from Smalltalk.
Georgia Tech in the Mark Guzdial days?
Squeak 6.1
91–100 of 154 posts
Re: Squeak 6.1
#92Just like learning Lisp will make you rethink programming languages, and learning Erlang will make you understand the true power of concurrency: learning Smalltalk will make you understand what "object oriented" actually means. I haven't used Squeak since college but I'm glad it was part of the cirriculum. Btw, almost all of Javascript's good parts come from Smalltalk.
And some months ago I was flirting with the idea of "Smalltalk and Erlang had a baby" and have Smalltalk syntax to an actor environment ran by a Erlang VM style. Plus some insanely cool ideas about a causal debugger for distributed bugs. The problem is that as beautiful as programing in that sound, we're not even coding anymore, AIs will take the fun of it. Although, thinking long term and for understendabilitymaxxin…
Or... Writing a compiler from a large language test suite is already an LLM sweet spot. Writing code which is atypically pretty and readable isn't... but there's at least a possibility of that changing someday.
Imagine a future Lisp-ish culture of "write code to communicate with humans - prioritize readability - machine execution is incidental" and "don't merely solve a problem - write a language for the problem space (and keep it cleanly updated)"... but moving at LLM-catalyzed speed. So much fun.
Re: Squeak 6.1
#93Congrats to the Squeak 6.1 team! I was an early contributor to Squeak from when Alan Kay's group was at Apple (I see that SameGame, the first game implemented in Morphic is still in the image), and still enjoy following the progress of Squeak and all of its spinoffs.
Re: Squeak 6.1
#94Earlier quoted context omitted.
For me, Smalltalk's "wow" moment was the concept of a persistently running image, with the developer's job being to mould and manipulate it into the shape s/he wants.
Ive always "dreamed" of having something like the ST image but backed by persistent virtual memory, not simply RAM. (Crudely) mmap the ST image to a 100GB file and just change pages. Let the OS flush the pages back and forth. Maybe full boat, heap sweeping GCs would be Bad as it pages the entirety of the heap in and out. But we have (had) lots of RAM these days. We have generational GCs that leave idle stuff alone. I…
I think also IBM has or had somewhat similar concepts.
Re: Squeak 6.1
#95Re: Squeak 6.1
#96Earlier quoted context omitted.
For me, Smalltalk's "wow" moment was the concept of a persistently running image, with the developer's job being to mould and manipulate it into the shape s/he wants.
Ive always "dreamed" of having something like the ST image but backed by persistent virtual memory, not simply RAM. (Crudely) mmap the ST image to a 100GB file and just change pages. Let the OS flush the pages back and forth. Maybe full boat, heap sweeping GCs would be Bad as it pages the entirety of the heap in and out. But we have (had) lots of RAM these days. We have generational GCs that leave idle stuff alone. I…
Re: Squeak 6.1
#97Earlier quoted context omitted.
Wouldn't you just do elixir now? It's like erlang but even wilder. I think smalltalk and erlang are so interesting because they model the idea of small computers so differently. Lisp just feels like the purest way to understand what the units of a programming language really is.
For me, Elixir misses the mark. If you're an unc with a background in Ruby or that era of webdev, I can see the appeal. It's a familiar set dressing. I don't have that background, I much prefer the syntactic structure of Erlang's psuedo-horn clauses. Both for similar familiarity reasons (I knew Prolog before I touched Erlang), as well as a general preference for the simplicity.
Millennials catching strays I see.
Re: Squeak 6.1
#98Earlier quoted context omitted.
There are Lisps with similar semantics. It faded (further) out of popularity for a number of reasons, but it still has its niche.
Which Lisps were those? I'm kinda interested in this space.
When you launch the Emacs editor, you're loading an Emacs Lisp image that was populated at build time by running Lisp code, with the resident Lisp definitions "dumped" to make an image file.
The image file used to actually be the `emacs` executable you'd run, using a clever but non-portable mechanism called `unexec` to make an executable.
But as of version 27.1 (in 2020), the image file is separate from the executable for portability reasons.
Re: Squeak 6.1
#99Earlier quoted context omitted.
And Prolog and Assembly!
Assembly is very useful to learn, but does not bring as strong a paradigm shift, as it is similar to most other imperative, procedural languages.
Re: Squeak 6.1
#100Just like learning Lisp will make you rethink programming languages, and learning Erlang will make you understand the true power of concurrency: learning Smalltalk will make you understand what "object oriented" actually means. I haven't used Squeak since college but I'm glad it was part of the cirriculum. Btw, almost all of Javascript's good parts come from Smalltalk.