4/5/2026 at 8:34:14 AM
I prefer the postcard ;-) https://richardeng.medium.com/syntax-on-a-post-card-cb6d85fa...by Smalltalker-80
4/5/2026 at 12:31:12 PM
I never understood the appeal of this talking point. It’s just an accounting trick that moves the complexity to the standard library.For example, SmallTalk is a class based OO system, yet this postcard doesn’t slow you how to create a class.
by amomchilov
4/5/2026 at 12:39:24 PM
Yeah, I was also going to say that conflating trivial syntax and "supremely easy to learn" is a very weak flex.The first Smalltalk-80 book you randomly find is 560 pages.
Also, there is a weird bargaining with "but not block temporaries" and "not an instance variable". Why not? Half of the postcard is basically empty. Also, "except primitives" — how many primitives are there?
by petalmind
4/5/2026 at 1:09:08 PM
The appeal of having a very simple, base syntax and almost everything in the library / primitives, would be that code is always easy to read and write, also on the 'reflection' level, where most languages have specific keywords that cannot be used 'first class' with the rest of the language. E.g: Types next to class objects or operator overloading, look at Swift.. (Of course the complexity of a full working system (library) does not disappear in Smalltalk, it's just easier to read and modify. :)by Smalltalker-80
4/5/2026 at 1:18:44 PM
> on the 'reflection' level, where most languages have specific keywords that cannot be used 'first class' with the rest of the language.In Ruby this is also the other way around, and it's one of my pet peeves.
`Kernel#callcc` looks like a method (arguably, of a special class), yet it's impossible to re-implement directly in the language, as far as I can tell.
Same with `raise`, I keep forgetting that it's not a keyword even.
by petalmind
4/5/2026 at 1:38:29 PM
Yeah, I just discovered this and was also amazed.https://decasia.org/tech/2026/02/raise-not-a-reserved-word.h...
This being said, I don't think there is any requirement technically that every core method can also be re-implemented in Ruby... There are so many methods that are just thin interfaces to something written in C, whether because they are touching VM internals, or for perf reasons, or because they make system calls or call external libraries.
by decasia
4/5/2026 at 2:00:22 PM
You reimplement `while` in terms of `loop`, but do you know that `loop` is also a method :)by petalmind
4/5/2026 at 12:55:25 PM
Next up: “all the characters you need fit on a single keyboard!”by amomchilov
4/5/2026 at 5:12:53 PM
I hope it's not an APL keyboardhttps://en.wikipedia.org/wiki/APL_(programming_language)#/me...
by chihuahua
4/5/2026 at 9:34:11 AM
Yes, Smalltalk's syntax fits on a postcard - and it's possible to go even more minimal than that, e.g. Lisp or Forth.OTOH Ruby doesn't need a postcard, it needs a full poster.
by pansa2