4 ms·
For me, a programmer who grew up with assembly language and Basic around 1980, Smalltalk is an extremely easy to read language. I have struggled with all the ot
by morphle 5y ago
For me, a programmer who grew up with assembly language and Basic around 1980, Smalltalk is an extremely easy to read language. I have struggled with all the other languages (in the order of LISP, Forth, Pascal, Prolog, ADA, C/C++, Java, Perl, Python, Javascript, Scratch, Etoys).
I have read the entire code base of Squeak Smalltalk (200.000 lines of code for the programming language, the operating system, GUI and IDE) and its the clearest and easiest to understand writing of a compleet system in history that I know of. I challenge anyone to prove to us any coding thats qualitatively better (than what Dan Ingalls wrote).
If I had more time I would point out the scientific papers and mailing list/forum/blog posts where there has been fact supported arguments why Smalltalk is better readable and writable than almost any other programming language.
Arguments like [1] the syntax is really short and simple [2] or it was developed with children in mind [3][12].
But the OP should recognise that there are (many) cognitive biases at play in his affection or aversion to this or that programming languages just so it confirms to his existing beliefs. And his existing beliefs where formed similar to how the concept of 'mother' is formed in ducks, by imprinting at birth [5]. If he had started out with another programming language, than that would be the language he would defend in a blog post.
Its like he is defending qwerty keyboards as being the best keyboard layout instead of the historical inertia and cognitive bias it is [11].
Alan Kay and Dan Ingalls who invented Smalltalk and its syntax in research at PARC redesigned Smalltalk several times to improve it, including its readability while testing it out on thousands of users including children. As good science this has been documented very thoroughly but I lack the time right now to point you to these hundreds of references. Maybe HN software allows me to add these later.....
Maybe OP could design us a programming language (with Ometa [7]) that would be better readably and writable, instead of just voicing his tribal preferences and allegiances?
For those who want to play and code with all the versions of the Smalltalk language since 1972 I can recommend [7] or [9] if they don't want to install it first. Better still, download the best app (and original) Smalltalk at squeak.org [10]. Don't forget to look into Self [13][8].
Squeak Smalltalk is also a VM that has been ported to more operating systems and environments than any other language I know of, even Linux. Due to memory size limits, its hard to put it on systems with less than 1 MB memory, but not impossible. I'm hoping to release a version for tiny microcontrollers with less than 100KB memory someday.
[1] https://wiki.c2.com/?SmalltalkSyntax https://wiki.c2.com/?SmalltalkSyntax
[2] https://squeak.org/documentation/terse_guide/ https://squeak.org/documentation/terse_guide/
[3] https://www.researchgate.net/publication/221501755_The_Early_History_of_Smalltalk https://www.researchgate.net/publication/221501755_The_Early...
[4] https://www.teachthought.com/critical-thinking/cognitive-biases/ https://www.teachthought.com/critical-thinking/cognitive-bia...
[5] https://cerebromente.org.br/n14/experimento/lorenz/index-lorenz.html https://cerebromente.org.br/n14/experimento/lorenz/index-lor...
[6] https://www.researchgate.net/publication/220828937_OMeta_An_object-oriented_language_for_pattern_matching https://www.researchgate.net/publication/220828937_OMeta_An_...
[7] https://smalltalkzoo.thechm.org/ https://smalltalkzoo.thechm.org/
[8] https://selflanguage.org/ https://selflanguage.org/
[9] https://squeak.js.org/ https://squeak.js.org/
[10] https://squeak.org/ https://squeak.org/
[11] Recent talks on youtube by Alan Kay
[12] https://smalltalkzoo.thechm.org/papers/EvolutionOfSmalltalk.pdf https://smalltalkzoo.thechm.org/papers/EvolutionOfSmalltalk....
[13] https://ourself.io https://ourself.io
- hcs 5y agoThe author of the article teaches and works in Smalltalk. It's about explaining and justifying the differences that confuse programmers coming from Java and C++.