36 ms·
The 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 t
by RNeff 9y ago
The 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."