Page 2 of 3
A little Smalltalk
The next important step in the development of object oriented languages was Smalltalk.
Living on the West coast of the USA, Alan Kay was in the middle of the hardware revolution but he also knew about cutting edge software Simula - a strange Norwegian import.
Putting the two together allowed him to dream about computers that were simple enough for children to use. To realise his dream he joined the newly formed Xerox Palo Alto Research Centre (PARC) and set up the Learning Research Group. The final result of the work was far from the concept of a computer suitable for children but it was an easy and powerful to use programming environment.
Alan Kay, born 1941
The early versions of Smalltalk - Smalltalk 72 and 76 - were working towards the educational objective but after Kay left the research group in 1981 the emphasis of the project shifted.
The group was renamed the Software Concepts Group and Smalltalk 80 was revamped as a 'serious language'. Other members of the group who made significant contributions were Adele Goldberg, David Robinson, Larry Tesler, Dan Ingalls and Peter Deutch.
Adele Goldberg, born 1945
Smalltalk was the first object-oriented language to dispense with the trappings of old ways of doing things. That is, Smalltalk was nothing but objects and new programs were created by modifying existing objects - the so-called base classes.
Although this experimental work continued though the 70's the product was only refined enough to have an impact in the early 80's and it took until the mid to late 80's for the hardware to be powerful enough to make the approach practical.
The Byte Smalltalk Issue - August 1981
Perhaps the single event that made Smalltalk better known was a special issue of Byte in August 1981. Even if you couldn't get to work with Smalltalk it became very clear that this was something new, exciting and the way of the future. This single magazine issue put Smalltalk on the map even if it didn't actually do much for its practical applicability. You could sum this up by saying that after reading the articles you wanted to use Smalltalk even if you couldn't.
Also invented at PARC during the same period were overlapping windows, icons and mode-less operation. In fact you could say that the Smalltalk project produced the first graphical environment.
If you think that this honour should go to the MAC then it is worth saying that a visit by Steve Jobs to PARC resulted in Apple hiring Larry Tesler (in 1981) to work on the LISA project, the forerunner of the MAC. Interestingly the MAC only implemented the Smalltalk environment - windows, icons and mouse - and not the object oriented language itself.
Objects and other languages
The object-oriented approach became so popular in the late 80's that it was obvious that the more traditional languages would have to incorporate the new features. Bjarne Stroustrup at AT&T extended C to create C++. There were other object-oriented extensions to C but, being at AT&T, Stroustrup had the necessary authority to ensure that C++ became the standard. Stoustrup names fellow nordic programmers Dahl and Nygaard and of course the Simula language as being important influences on his work.
Bjarne Stroustrup, born 1950
What was special about C++ is that it really was an extension to C. You didn't even need a C++ compiler because the whole thing was implemented as a preprocessor which converted C++ into C. This had the huge advantage that any system that had a C compiler could make use of C++.
Other significant object-oriented extensions to existing languages were the two object Pascals - one from Microsoft and one from Borland. These aren't compatible but they are at least similar in approach.
Fortran, Lisp and Forth also included object-oriented extensions, but rather less seriously than C++ and languages such as Ada and Modula 2 included some aspects of the object oriented method.
You could say every language wanted to be object oriented but not all had the flexibility to do the job convincingly.
At the end of the 1980s the language that most programmers were using was either Basic or C++.