logoalt Hacker News

avaeryesterday at 12:58 PM14 repliesview on HN

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.


Replies

kitdyesterday at 2:38 PM

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.

show 8 replies
uncircleyesterday at 2:43 PM

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.

show 8 replies
addaonyesterday at 1:12 PM

> almost all of Javascript's good parts come from Smalltalk

Is this underselling the role of Self in JS’s prototype-based object system, or saying that a prototype-based object system is not one of the good parts?

show 1 reply
sebastianconcptyesterday at 4:42 PM

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 and reliabilitymaxxin it might still be worth having something like that.

Since Smalltalk can be so close to english and Erlang VM so reliable, humans and LLMs should thrive on it.

show 3 replies
vanderZwanyesterday at 5:00 PM

> Btw, almost all of Javascript's good parts come from Smalltalk.

That's E and Self erasure.

WillAdamsyesterday at 3:04 PM

I would give a lot for a version of Squeak which could instantiate standard GUI controls and easily compile to a stand-alone binary or HTML page w/ included JavaScript.

show 4 replies
rahoulbyesterday at 4:23 PM

I didn't understand programming at all until I read about (not even tried) Smalltalk. And it's because of Smalltalk I write Ruby today.

My favourite thing about it is the lack of "reserved words" - just a handful of punctuation marks. It's incredibly pure - almost all of the syntax is "send this message to this object".

show 1 reply
throwatdem12311yesterday at 3:19 PM

As a Ruby developer this video about Pharo smalltalk made me a smalltalk believer — not surprising because Ruby was heavily inspired by smalltalk.

https://youtu.be/HOuZyOKa91o

show 1 reply
kar1181yesterday at 4:56 PM

If you think of it as message oriented it makes so much more sense.

brapyesterday at 9:13 PM

I also had Squeak in my curriculum! From what I remember it had a unique object hierarchy or something like

CobrastanJorjiyesterday at 7:12 PM

Georgia Tech in the Mark Guzdial days?

show 2 replies
lilbigdootyesterday at 4:35 PM

I thought JS had a lot of Scheme inspiration?

show 1 reply
ramesh31yesterday at 1:13 PM

>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 himself said: "a Lisp in C's clothing".

show 3 replies
bowsamicyesterday at 3:23 PM

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

show 1 reply