5 ms·
Smalltalk was originally a language for children, similar to Logo. It is unfortunate that its youth was not thus preserved. "Smalltalk was created to investig
by chasil 4y ago
Smalltalk was originally a language for children, similar to Logo.
It is unfortunate that its youth was not thus preserved.
"Smalltalk was created to investigate teaching programming to children. Understandably, it's a very small and simple language, the simplest of the major programming languages."
https://www.codeproject.com/Articles/1241904/Introduction-to-the-Smalltalk-Programming-Language https://www.codeproject.com/Articles/1241904/Introduction-to...
- AnimalMuppet 4y agoIn what sense is Smalltalk smaller than Lisp?
- chasil 4y agoHeck, I don't know! I just wish these languages preserved their sense of ingenuity and wonder, before putting on the iron maidens of their frameworks. I wish there was a C for children, but explaining indirect addressing and the evolution of indexed pointers is a bridge too far.
- coderdd 4y agoHaving read the book Dealers of Lightning about Xerox PARC and Kay,I think Smalltalk 72 was the original smaller simple language, with which children were taught. Then others at Xerox added more professional stuff, the kind programmers would want, which resulted in Smalltalk 76 and so on. These were not as approachable for children anymore allegedly. Nowadays there's Squeak which is a Smalltalk implementation, which influenced Scratch I think (first version of Scratch was written in Squeak). Search the internet for Adam Kay's documents on Squeak and educating children, helps to put on context what he had in mind (if you, like me, just install Squeak and expect a stunning tutorial... it's not like that, at least I didn't find). Kay also said, having an IDE only takes you to the 70s from the 60s too... So there's work to be done yet.
- rileyphone 4y agoThere's even a pretty fun documentary on the Squeak project, with Seymour Papert, Alan, and Jerome Bruner. [0] Or, if you want to go further back, read the original "Personal Dynamic Media" papers. [0] https://www.youtube.com/watch?v=ndkW61OUA20 https://www.youtube.com/watch?v=ndkW61OUA20
- ergonaught 4y agoThe claim in the quote is that Smalltalk is the simplest, not the smallest. That may only beg the question, but yay clarity.
- chasil 4y agoIf we still had a language as simple as Logo, but as powerful to express objects to a young mind, would be a beautiful thing. We should strive for such simplicity.
- alisonatwork 4y agoWren seems pretty simple to me: https://wren.io/ https://wren.io/
- qsort 4y agoLua? Seems to be working fine in stuff for young people, e.g. Roblox.
- bumblebritches5 4y ago
- zelphirkalt 4y agoSmalltalk only has 6 keywords and everything is done via sending messages to objects. How many language constructs and keywords does Lisp have? Ultimately different philosophies are at work. Smalltalk makes many objects and has the power to introspect on them (classes are also objects), Lisp has facilities to introspect and do meta programming using macros, making new keywords, so of course the language will grow. That is the whole point. Growing a language for solving specific problems. Smalltalk makes new objects instead.
- anthk 4y agoR5RS Scheme? It's not so big. Common Lisp, OTOH...
- MonkeyClub 4y agoI think the OP is referring to the pseudo-variables, true, false, nil, self, super, and thisContext: https://en.wikipedia.org/wiki/Smalltalk#Syntax https://en.wikipedia.org/wiki/Smalltalk#Syntax I don’t think they count. If we’re counting small numbers, Lisp also has a small number of “keywords”, nine: quote atom eq cons car cdr lambda label define Others put this number at five or seven. I guess you can express define as a function of label and lambda, so you drop to eight, but I don’t know how you get to seven, let alone five.
- zelphirkalt 4y agoNot sure how Smalltalk measures up in that regard, but wouldn't one also need to count things like define-syntax and all things, which are built-in for defining macros? I guess that would only be fair, because that gets Lisps up to the same power level as Smalltalk with its introspection and ability to create classes at runtime, since they are objects as well. Then there are things like "What is the syntax for a vector?" and all kinds of reader syntax with "# + something", depending on the dialect/specific lisp language, I guess. EDIT: Found this: https://wiki.c2.com/?SmalltalkSyntaxInaPostcard https://wiki.c2.com/?SmalltalkSyntaxInaPostcard
- mtlmtlmtlmtl 4y ago