acm-header
Sign In

Communications of the ACM

ACM TechNews

A to Z of Programming Languages: Smalltalk-80


View as: Print Mobile App Share:
Alan Kay

Alan Kay

Credit: Creative Commons

Much of modern-day programming is based on the Smalltalk-80 programming language, which was co-developed by Alan Kay, widely considered the father of the concept of object-oriented programming (OOP). "I think 'real [OOP] design' in terms of protected and interchangeable modules to make highly scalable systems has not been achieved yet, and is desperately needed," Kay says. "However, Smalltalk at its best was only a partial solution."

Kay says that during his involvement in Smalltalk's development, a considerable portion of the control domain was not completed, while the overall concepts of what programmers were doing did not get fleshed out as originally intended.

Kay does not think that Smalltalk—or any modern programming systems—are appropriate for real-world programming challenges. He believes that the appetite for improving computer programming and engineering is profoundly absent compared to the 1960s. "Academia in particular seems to have gotten very incremental and fad-oriented, and a variety of factors [including non-visionary funding] make it very difficult for a professor and a few students to have big ideas and be able to make them," he says.

From  Computerworld Australia 
View Full Article

 Abstracts Copyright © 2010 Information Inc., Bethesda, Maryland, USA


Comments


Paul Valckenaers

"... the Smalltalk-80 programming language widely considered the father of the concept of object-oriented programming." Honestly, Simula-67 is the language that turned programs "inside out" (methods attached to data structures instead of data attached to procedures) well before Smalltalk. Smalltalk was its fancier successor, instrumental indeed to spreading the message. However, the name Simula is more to the point. As M. Jackson pointed out in a lecture: the world-of-interest (modeled/simulated within a program) is significantly more stable than a program's functions and features. OOP therefore enables to develop programs in which the basis is less subject to changes in user requirements.


Displaying 1 comment

Sign In for Full Access
» Forgot Password? » Create an ACM Web Account