3 ms·
I have always noticed the fondness with which some people talk about smalltalk. For a language that practically doesn't exist anymore, I find that odd...especia
by darksaints 6y ago
I have always noticed the fondness with which some people talk about smalltalk. For a language that practically doesn't exist anymore, I find that odd...especially considering the number of languages that people despise but still exist and are regularly used.
I don't really have much love for the combination of dynamic types and object orientation in general, but could someone explain what they got from smalltalk that they don't currently have via Ruby, Python, or other currently popular languages of similar discipline? I've seen lots of explanations as to why it failed...but why do people still talk about it like they miss it?
- pixelrevision 6y agoThe big thing I find fascinating about it is the live environment. You can explore and change every single piece of code while it’s running. There’s really nothing else out there that does this except maybe lisp and even there you give up having the GUI to explore with.
- travisgriggs 6y ago* The IDE/Debugger rocked. It was the killer app. You could explore/understand code in a way that I have yet to see rivaled in any other environment. I have used PyCharm/XCode/Studio/VSCode/Emacs/Vim at regular levels. * BlockClosures. Reified and used ubiquitously. Did I mention reified? Since the language had no control flow builtins/keywords, it was all done in the library. And since Closures were fully first class objects that you could explore, understand, and extend, you could write control flow to your hearts content. * Simplicity. You didn't have to have a PHD in parsing to deal with the AST for Smalltalk. Building your own AST walker was a mid level exercise. I once saw a comparison between the Ruby AST and the Smalltalk AST. The Ruby one was like 10 times more complex to deal with all of the edge cases. I added a goto implementation for a lark in an afternoon. I wouldn't even know where to start to add goto to Python. An absurd example of course, but it highlights that you didn't feel like Dan Ingalls and the other inventors of Smalltalk controlled your destiny. They wanted you to go places with it.