Lambda the Ultimate

inactiveTopic Simula and Smalltalk: A Social and Political History
started 5/9/2001; 6:56:06 AM - last post 5/10/2001; 5:13:52 AM
Ehud Lamm - Simula and Smalltalk: A Social and Political History  blueArrow
5/9/2001; 6:56:06 AM (reads: 947, responses: 5)
Simula and Smalltalk: A Social and Political History
The study of programming languages need not be transformed into a historical or philosophical inquiry into meta-issues related to technology in general and/or programming languages in particular. Rather, we should pause to consider the development of programming languages in the greater socio-historical context, which is what I intend to do herein.

Which is also what we do herein..

Thinking about programming language success without analyzing sociological reasons is bound to lead to wrong answers.

Consider the exposure OOP ideas got from Simula (67), Smalltalk (72) and C++ (83). Suddenly when it was alomst twenty years old the OOP concept became hot...


Posted to general by Ehud Lamm on 5/9/01; 6:56:50 AM

andrew cooke - Re: Simula and Smalltalk: A Social and Political History  blueArrow
5/9/2001; 8:30:02 AM (reads: 970, responses: 0)
It seems a bit desperate in its search for Kuhnian revolutions, doesn't it? The more I understand computer sscience the more the OO explosiion seems to be connected with commercial hype rather than any great revolution in thought (I'm not denying an interesting evolution, which this paper documents nicely).

For example, there was a long and rather tedious discussion on c.l.functional where people tried to define what an OO programming language was - it turned out to be very difficult to find a clear definition that included something other than surface syntax.

Another example is given in the essay, where - to the author's apparent amazement - people in the computer science community failed to recognise the great changes that were taking place. OO was seen as "just" a better way of implementing ADTs. But that seems quite a reasonable view; certainly more sane than the opposing ideals for Smalltalk: "[everything] needed to support [human-human or human-computer interactions]"!

Chris Rathman - Re: Simula and Smalltalk: A Social and Political History  blueArrow
5/9/2001; 10:26:54 AM (reads: 959, responses: 1)
For example, there was a long and rather tedious discussion on c.l.functional where people tried to define what an OO programming language was - it turned out to be very difficult to find a clear definition that included something other than surface syntax.
As mentioned in that thread, an OOP language is one that promotes an object oriented style of programming (encapsulation, inheritance, polymorphism). These particular things can be done in practically any language (with varying degrees of difficulty) but it would make the term useless if taken to literal extremes (just like the definition for any programming paradigm).

To put it in other terms: What is a Functional programming language? What is a Declarative programming language? Why isn't Lisp considered to be a FP or DP language since it's capable of shifting paradigms at the drop of the hat? SML allows mutable data, so how can it be classified as an FP? Perl and Python can also be used for FP, but why do few consider them to be Functional programming languages?

Or as Larry Wall put it: "We know from experience that computer languages differ not so much in what they make possible, but in what they make easy".

OO was seen as "just" a better way of implementing ADTs. But that seems quite a reasonable view; certainly more sane than the opposing ideals for Smalltalk: "[everything] needed to support [human-human or human-computer interactions]"!
Making a better way to implement ADT's might be considered revolutionary in some quarters.

Smalltalk was an ambitious project aimed at being not just a programming language, but also an environment specifically aimed at use by children. Because it was designed as a learning (creativity) tool, the authors put heavy emphasis on interactivity. They were not completely successful in what they set out to achieve, but I do think that idealism and naivity have a definite place in innovation. The future always turns out to be more mundane than anticipated, but the dreamers do shape the world in which we live. We just end up taking a lot of these things for granted (mice, GUI, LAN, OOP, wysiwyg word processors, etc).

After all, MacOS, Windows, and NextStep were all based on ideas lifted from Xerox Parc. The world of computing was changed by that skunkworks project, though, as usual, the people that originally thought up the idea and did the groundwork, were not the ones that were responsible for dispersing the technology.

andrew cooke - Re: Simula and Smalltalk: A Social and Political History  blueArrow
5/9/2001; 11:26:25 AM (reads: 1015, responses: 0)
I'm not arguing with any of what you wrote (I'm not sure if you think I am or not, but I think yur comments support my view! :-) My point was/is only that these things are deeply evolutionary and inter-related; that the "Kuhnian analysis" in the paper seems to be a rather forced approach.

John Lawter - Re: Simula and Smalltalk: A Social and Political History  blueArrow
5/9/2001; 1:41:28 PM (reads: 949, responses: 0)
I think what you refer to as "the OOP explosion" has more to do with the search for software engineering's "silver bullet." Unfortunately, this view of OOP follows the Simula school of thought as embodied in C++/Java, basically of class == ADT. People thought that by using languages which enforced Parnas' concept of encapsulation, software could be developed more quickly, and it would be (more) bug-free.

If you read the papers from the LRG, and some of Alan Kay's comments on Java, I think it becomes more obvious that Smalltalk represented more of a change in thinking than Simula. What I find interesting is that Smalltalk's development was influenced by not only computer science, but by biology and psychology. It promoted a view of programming removed from low-level details, unlike C, and from theory, unlike Algol.

I'm not sure if one can say that Smalltalk was the result of evolution, rather than revolution. Certainly Kay was influenced by Lisp. He states as much. He was influenced by Sutherland's Sketchpad, and Logo. But the fact that even today, 25 years after Smalltalk-76, the first version of the language we would recognize today, people still have a hard time grasping some of its concepts. That to me is indicative of its revolutionary nature. Your mileage may vary :-)

Ehud Lamm - Re: Simula and Smalltalk: A Social and Political History  blueArrow
5/10/2001; 5:13:52 AM (reads: 966, responses: 0)
isn't it that Simula was from Norway, so it didn't catch on; Smalltalk wanted too much hardware, so it didn't succeed (at first) and C++ was from Bell-Labs and had a C like syntax, so it conquered the market?

No need for a Kuhnian revolution to explain this...