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.
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.
Squeak 6.1
71–80 of 154 posts
Re: Squeak 6.1
#72Earlier 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.
Re: Squeak 6.1
#73Earlier quoted context omitted.
@DonHopkins your comment is flagged dead. Is it because of its length giving false signals ?
After Self, the short lineage is Self (~1992, Smith & Maloney) -> Squeak port (Maloney & Ingalls, Etoys/Scratch 1) -> two independent JavaScript reimplementations, plus Squeak-in-the-browser via SqueakJS. I dug into this same question a decade ago and posted a longer treatment -- my email exchange with Alan Kay on MVC vs Morphic vs watchers, plus replies on Self's "soup of objects" UI. Good philosophical complement t…
Love your long comments.
> Oh I've posted much longer than that (see the one I linked) without getting flagged
Those were simpler times
Re: Squeak 6.1
#74Earlier quoted context omitted.
After Self, the short lineage is Self (~1992, Smith & Maloney) -> Squeak port (Maloney & Ingalls, Etoys/Scratch 1) -> two independent JavaScript reimplementations, plus Squeak-in-the-browser via SqueakJS. I dug into this same question a decade ago and posted a longer treatment -- my email exchange with Alan Kay on MVC vs Morphic vs watchers, plus replies on Self's "soup of objects" UI. Good philosophical complement t…
I had vouched for your comment but it did not have any effect. Please email Dang, it seems to be a false positive of some sort. Love your long comments. > Oh I've posted much longer than that (see the one I linked) without getting flagged Those were simpler times
Re: Squeak 6.1
#75Earlier quoted context omitted.
>Btw, almost all of Javascript's good parts come from Smalltalk. Like what, exactly? I'm genuinely curious. There is no root object or message passing in JS, and the OO aspects are only incidentally bolted on (classes don't actually exist, prototypal inheritance was an afterthought), named params are newer sugar, and polymorphism is a struggle due to all of the above. I've always thought of JS as what Crockford himse…
Ignore the syntax for a moment. Minus Javascript, HTML + CSS is a green screen terminal with better fonts and image support. Message passing (fetch, XMLHttpRequest, polling, streaming, etc...) is how you build something that feels like a real tool out a system where the sandbox gets in the way of everything you want to hold locally.
Re: Squeak 6.1
#76Earlier quoted context omitted.
After Self, the short lineage is Self (~1992, Smith & Maloney) -> Squeak port (Maloney & Ingalls, Etoys/Scratch 1) -> two independent JavaScript reimplementations, plus Squeak-in-the-browser via SqueakJS. I dug into this same question a decade ago and posted a longer treatment -- my email exchange with Alan Kay on MVC vs Morphic vs watchers, plus replies on Self's "soup of objects" UI. Good philosophical complement t…
I had vouched for your comment but it did not have any effect. Please email Dang, it seems to be a false positive of some sort. Love your long comments. > Oh I've posted much longer than that (see the one I linked) without getting flagged Those were simpler times
Oh shit, I just missed a Bakelite discussion 17 days ago!
https://news.ycombinator.com/item?id=49026992
But there's a comment from 9 days ago that's still replyable. ;)
Re: Squeak 6.1
#77Earlier 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…
You don't persist the state of the full image continuously to the host disk, but any given state (new programs, new runtime state, filesystem) can be saved via a delta, not a full rewrite, due to this representation.
So this is a little different than what you are talking about, but I'd say it's possible.
Re: Squeak 6.1
#78Just 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…
We've come to this. The mere existence of AI is discouraging people from pursuing creative ideas. This is a catastrophe! It's not just taking the fun out of life, it's destroying alternative futures we might have built.
There is this advice for dealing with tyrants and would-be tyrants: "Do not obey in advance." In your case that means pursuing and implementing your exciting ideas.
... it might still be worth having something like that.
Yes! Good luck with it!
Re: Squeak 6.1
#79Earlier quoted context omitted.
Lisp, Forth, Erlang, Smalltalk, and Rebol, so easily forgotten. All languages that multiply your insight into the nature of computer programming. A bit sad that many just stop at the first of these, and many more don’t even venture past their Pythons and Javascripts.
I find that lamentation a bit funny, because the list in practice is never really complete. For instance, you forgot the mighty Prolog. Surely, tcl belongs on there too.
Re: Squeak 6.1
#80Earlier quoted context omitted.
The main thing you’ll learn is that actually the static and inflexible abstractions of an operating system do a lot to protect the system integrity and prevent everything from blowing up. Many smalltalk VMs rely on recovery features for a reason
recovery features? how do they work? and what smalltalk runtime do you have in mind? I still have a very vague understanding on how changes could be applied to a production running images, or if there is one and preferable way to do that.