3 ms·
A 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
by scroot 9y ago
A 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."