4 ms·
Ask HN: Why did Smalltalk fail to catch on?
Smalltalk appears to be little more than a footnote in the history of popular computing languages. But I've yet to hear anyone speak badly of it. The design seems to be technically sound. Its OOP implementation seems to have influenced Objective C and pretty much every OOP language that came after it. It appears to be well-beloved by developers.[0] It has its own virtual machine implemented, which should make it portable.
So why did Smalltalk die while Objective C, C++, and Java all gained widespread adoption and thrived?
[0]https://insights.stackoverflow.com/survey/2017#technology-most-loved-dreaded-and-wanted-languages
- RNeff 9y agoThe first object oriented language was Simula 1 and 67. Smalltalk was a modern (for 1970's) new implantation of the OO concepts. Smalltalk (-80, described in the books) was a great language and programming environment for one smart, experienced, 10X programmer. It was not designed for and could not support teamwork. All of the source code for all of the system libraries, compiler, and environment was available for editing. Any change to the system makes your code no longer portable. Imagine a C programmer, in a moment of arrogant hubris, changes libc or the standard io modules. Really fatal to portability. Changes to your code were tracked in your workspace. There wasn't support for external source code control or merging changes from different programmers. Git and other source code control systems have lots of features to manage and track TEAM work on an evolving code base. C defined a number of conventions for code syntax, the operators, '{}", ';', English word operations, layout. Smalltalk started over, so the code looks 'weird'. Concepts in Smalltalk influenced later languages.
- scroot 9y agoA couple of things: > It was not designed for and could not support teamwork. Smalltalk implementations could, did, and still do support all the things you'd expect from today's systems: code sharing, merging, etc. Envy was an early system and today there is Monticello. Now there is even Git integration. > There wasn't support for external source code control or merging changes from different programmers Again, there was this support. But is that a function of a language? Does C, Java, or any other widely used "portable" language offer these abilities out of the box, or are there toold built on top to facilitate it? > Any change to the system makes your code no longer portable. Imagine a C programmer, in a moment of arrogant hubris, changes libc or the standard io modules. Really fatal to portability. Lots of today's dynamic languages have this deep capability, like Ruby and Javascript. It would be tough to argue that these are less "portable" because of it. > Changes to your code were tracked in your workspace. This is akin to saying, for Algol inspired languages, "Changes to your code were tracked in your text files on your hard drive." It has little to do with either portability or collaboration.
- eesmith 9y ago"All statements about Smalltalk are false" - http://wiki.c2.com/?AllStatementsAboutSmalltalkAreFalse http://wiki.c2.com/?AllStatementsAboutSmalltalkAreFalse :) That also contains the statement "As it happens, my Smalltalk is DolphinSmalltalk, and its compiler is not written in Smalltalk and the source is not available for hacking.", which is a counter-example to the top-level comment here "All of the source code for all of the system libraries, compiler, and environment was available for editing."
- eesmith 9y agoThis is an oft-asked question. Start with http://wiki.c2.com/?WhyIsSmalltalkDead http://wiki.c2.com/?WhyIsSmalltalkDead . The top answer at https://stackoverflow.com/questions/711140/why-isnt-smalltalk-popular https://stackoverflow.com/questions/711140/why-isnt-smalltal... concludes "Ultimately, Smalltalk peaked early, and then had damage done to it by the stupidity of the early vendors in the space." There are many other answers there, with different views. Remember too that Smalltalk was expensive. More answers at https://www.quora.com/Why-isnt-Smalltalk-widely-used-anymore https://www.quora.com/Why-isnt-Smalltalk-widely-used-anymore .