https://dl.acm.org/doi/10.1145/3386335 ACM Digital Library home ACM home * Advanced Search * Browse * About * + Sign in + Register * * Advanced Search * Journals * Magazines * Proceedings * Books * SIGs * Conferences * People * * More * Search ACM Digital Library[ ] SearchSearch Advanced Search Proceedings of the ACM on Programming Languages * Journal Home * Forthcoming * Latest Issue * * Archive * Authors + Author Guidelines + Calls for Papers + PACMPL Policies + ACM Author Policies + Author List * Editors + Editorial Board + Associate Editors Welcome Video * Reviewers * Open Access + PACMPL Open Access + ACM Open Access * Affiliations * Award Winners * About + About PACMPL + Abstracting/Indexing * Contact Us * More HomeACM JournalsProceedings of the ACM on Programming LanguagesVol. 4, No. HOPLThe evolution of Smalltalk: from Smalltalk-72 through Squeak research-article Open Access The evolution of Smalltalk: from Smalltalk-72 through Squeak Share on * Author: * [default-pr]Daniel Ingalls n.n., n.n. n.n., n.n. View Profile * Authors Info & Affiliations Proceedings of the ACM on Programming LanguagesVolume 4Issue HOPLJune 2020 Article No.: 85pp 1-101https://doi.org/10.1145/3386335 Published:12 June 2020 * 2citation * 4,858Downloads Metrics Total Citations2 Total Downloads4,858 Last 12 Months4,858 Last 6 weeks223 * Get Citation Alerts New Citation Alert added! This alert has been successfully added and will be sent to: You will be notified whenever a record that you have chosen has been cited. To manage your alert preferences, click on the button below. Manage my Alerts New Citation Alert! Please log in to your account * Save to Binder Save to Binder [loader] Create a New Binder Name [ ] + Cancel + Create * Export Citation * Publisher Site * eReader * PDF Proceedings of the ACM on Programming Languages Volume 4, Issue HOPL PreviousArticleNextArticle ACM Digital Library Abstract This paper presents a personal view of the evolution of six generations of Smalltalk in which the author played a part, starting with Smalltalk-72 and progressing through Smalltalk-80 to Squeak and Etoys. It describes the forces that brought each generation into existence, the technical innovations that characterized it, and the growth in understanding of object-orientation and personal computing that emerged. It summarizes what that generation achieved and how it affected the future, both within the evolving group of developers and users, and in the outside world. The early Smalltalks were not widely accessible because they ran only on proprietary Xerox hardware; because of this, few people have experience with these important historical artifacts. To make them accessible, the paper provides links to live simulations that can be run in present-day web browsers. These simulations offer the ability to run pre-defined scripts, but also allow the user to go off-script, browse the details of the implementation, and try anything that could be done in the original system. An appendix includes anecdotal and technical aspects of how examples of each generation of Smalltalk were recovered, and how order was teased out of chaos to the point that these old systems could be brought back to life. Supplemental Material Available for Download zip Auxiliary Archive (1.3 KB) Launch file from Smalltalk-74 to Smalltalk-76 References 1. Ronald M. Baecker. 1976. A Conversational Extensible System for the Animation of Shaded Images. In Proceedings of the 3rd Annual Conference on Computer Graphics and Interactive Techniques (Philadelphia, Pennsylvania) (SIGGRAPH '76). Association for Computing Machinery, New York, NY, USA, 32-39. Google Scholar Google ScholarDigital LibraryDigital Library 2. Alan Borning. 1979. Thinglab--a constraint-oriented simulation laboratory. Ph.D. Dissertation. Stanford University, Dep. Computer Science (March).Google ScholarGoogle Scholar 3. Alan Borning. 1981. The Programming Language Aspects of ThingLab, a Constraint-Oriented Simulation Laboratory. TOPLAS 3, 4, 353-387.Google ScholarGoogle ScholarDigital LibraryDigital Library 4. Alan H. Borning and Daniel H. H. Ingalls. 1982a. Multiple Inheritance in Smalltalk-80. Technical Report Technical Report 82-06-02. University of Washington, Department of Computer Science (June).Google ScholarGoogle Scholar 5. Alan H. Borning and Daniel H. H. Ingalls. 1982b. Multiple Inheritance in Smalltalk-80. In Proceedings of the Second AAAI Conference on Artificial Intelligence (Pittsburgh, Pennsylvania) (AAAI'82). AAAI Press, 234-237.Google ScholarGoogle Scholar 6. Alan H. Borning and Daniel H. H. Ingalls. 1982c. A Type Declaration and Inference System for Smalltalk. In Conference Record of the Ninth ACM Symposium on Principles of Programming Languages. ACM Press, Albuquerque, NM, USA, 133-141.Google ScholarGoogle Scholar 7. L. Peter Deutsch. 1973. A LISP Machine with Very Compact Programs. In Proc. 3rd International Joint Conference on Artificial Intelligence (Stanford, USA) (IJCAI'73). Morgan Kaufmann Publishers, Inc., San Francisco, CA, USA, 697-703. http: //www.softwarepreservation.org/projects/LISP/interlisp- d/ Deutsch- 3IJCAI.pdfGoogle ScholarGoogle ScholarDigital Library Digital Library 8. L. Peter Deutsch and Allan M. Schiffman. 1984. Efficient Implementation of the Smalltalk-80 System. In Conference Record of the Eleventh ACM Symposium on Principles of Programming Languages. Salt Lake City, 297-302.Google ScholarGoogle Scholar 9. Doug Englebart Institute. 2008. The Demo @ 50. https:// thedemoat50.org non-archival.Google ScholarGoogle Scholar 10. Douglas C. Engelbart and William K. English. 1968. A Research Center for Augmenting Human Intellect. In Proceedings of the December 9-11, 1968, Fall Joint Computer Conference, Part I (AFIPS '68 (Fall, part I)). Association for Computing Machinery, New York, NY, USA, 395-410.Google ScholarGoogle Scholar 11. Bert Freudenberg, Dan H.H. Ingalls, Tim Felgentreff, Tobias Pape, and Robert Hirschfeld. 2014. SqueakJS: A Modern and Practical Smalltalk That Runs in Any Browser. In Proc. 10th Symposium on Dynamic Languages on Dynamic Languages ( (DLS'14)). ACM, New York, NY, USA (Oct.), 57-66. SIGPLAN Not. 50(2).Google Scholar Google ScholarDigital LibraryDigital Library 12. A.J. Goldberg. 1983. Smalltalk-80: The Interactive Programming Environment. Addison-Wesley, Reading, MA (May). xi+516 pages. Google ScholarGoogle Scholar 13. Adele Goldberg and David Robson. 1983. Smalltalk-80: The Language and its Implementation. Addison-Wesley. xx+714 pages.Google ScholarGoogle Scholar 14. Ira P. Goldstein and Daniel G. Bobrow. 1981. PIE: An Experimental Personal Information Environment. Technical Report Technical Report CSL-81-4. Xerox Palo Alto Research Center.Google Scholar Google Scholar 15. Daniel Ingalls, Tim Felgentreff, Robert Hirschfeld, Robert Krahn, Jens Lincke, Marko Roder, Antero Taivalsaari, and Tommi Mikkonen. 2016. A World of Active Objects for Work and Play: The First Ten Years of Lively. In Proc 2016 ACM Int. Symp. New Ideas, New Paradigms, and Reflections on Programming and Software (Amsterdam, Netherlands) ( Onward! 2016). ACM, 238-249. Google ScholarGoogle ScholarDigital LibraryDigital Library 16. Dan Ingalls, Bert Freudenberg, Ted Kaehler, Yoshiki Ohshima, and Alan Kay. 2014. Reviving Smalltalk-78: The First Modern Smalltalk Lives Again. In Proc 6th edition International Workshop on Smalltalk Technologies (IWST ), Alain Plantec and Jannik Laval (Eds.). 109-118. http://freudenbergs.de/bert/publications/ Ingalls- 2014- Smalltalk78.pdfGoogle ScholarGoogle Scholar 17. Dan Ingalls, Ted Kaehler, John Maloney, Scott Wallace, and Alan Kay. 1997. Back to the Future: The Story of Squeak, A Practical Smalltalk Written in Itself. In Proceedings Twelfth ACM Conference on Object-Oriented Programming Systems, Languages and Applications. ACM Press, Atlanta, 318-324.Google ScholarGoogle ScholarDigital LibraryDigital Library 18. Dan Ingalls, Scott Wallace, Yu-Ying Chow, Frank Ludolph, and Ken Doyle. 1988. Fabrik: A Visual Programming Environment. SIGPLAN Not. 23, 11 (Nov.), 176-190. Google ScholarGoogle ScholarDigital LibraryDigital Library 19. Daniel H. H. Ingalls. 1978. The Smalltalk-76 Programming System: Design and Implementation. In Proceedings of the 5th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (Tucson, Arizona) (POPL '78). Association for Computing Machinery, New York, NY, USA, 9-16. Google ScholarGoogle Scholar Digital LibraryDigital Library 20. Daniel H. H. Ingalls. 1981. The Smalltalk Graphics Kernel. Byte 6, 8, 168-194. https://archive.org/details/byte- magazine1981- 08 /page/n181/mode/2upGoogle ScholarGoogle Scholar 21. Daniel H. H. Ingalls and Daniel H. H. Ingalls, Jr. 1985. The "Mah- abh- arata": Stylistic Study, Computer Analysis, And Concordance. Journal of South Asian Literature 20, 1, 17-46. http://www.jstor.org/stable/40872708Google ScholarGoogle Scholar 22. Kenneth E. Iverson. 1962. A Programming Language. Wiley. (4th Printing, May 1967).Google ScholarGoogle ScholarDigital Library Digital Library 23. Ted Kaehler. 1981. Virtual Memory for an Object-Oriented Language. Byte 6, 8 (August), 378-387.Google ScholarGoogle Scholar 24. Alan C. Kay. 1972. A Personal Computer for Children of All Ages. In Proceedings of the ACM Annual Conference - Volume 1 (Boston, Massachusetts, USA) ( ACM '72). Association for Computing Machinery, New York, NY, USA, Article 1, 11 pages. Google Scholar Google ScholarDigital LibraryDigital Library 25. Alan C. Kay. 1977. Microelectronics and the Personal Computer. Scientific American 237, 3 (September), 230-245. https: //www- jstor- org.proxy.lib.pdx.edu/stable/24920330Google ScholarGoogle ScholarCross RefCross Ref 26. Alan C. Kay. 1993. The Early History of Smalltalk. In The Second ACM SIGPLAN Conference on History of Programming Languages. ACM Press, New York, NY, USA, Chapter XI, 511-598.Google Scholar Google Scholar 27. Glenn Krasner. 1983. Smalltalk-80: Bits of History, Words of Advice. Addison-Wesley Publishing Company, Reading, Massachusetts.Google ScholarGoogle Scholar 28. Wilf R. Lalonde and John R Pugh. 1991. Inside Smalltalk. Vol. II. Prentice-Hall International, Englewood Cliffs, New Jersey.Google ScholarGoogle Scholar 29. B. W. Lampson, W. W. Lichtenberger, and M. W. Pirtle. 1966. A user machine in a time-sharing system. Proc. IEEE 54, 12 (Dec), 1766-1774. Google ScholarGoogle ScholarCross RefCross Ref 30. Craig Latta. 2015. a detailed Naiad description. January 2015. https://web.archive.org/web/20161113033728/https: // thiscontext.com/naiad/Google ScholarGoogle Scholar 31. Frank Ludolph, Yu-Ying Chow, Dan Ingalls, Scott Wallace, and Ken Doyle. 1988. The Fabrik Programming Environment. In IEEE Workshop on Visual Languages. Pittsburgh, PA, USA, 222-230. Google Scholar Google ScholarCross RefCross Ref 32. John McCarthy. 1960. Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I. Comm. ACM 3, 4 (April), 184-195. Google ScholarGoogle ScholarDigital LibraryDigital Library 33. John McCarthy. 1978. History of LISP. Association for Computing Machinery, New York, NY, USA, 173-185. Google ScholarGoogle ScholarDigital LibraryDigital Library 34. John McCarthy, Paul W. Abrahams, Daniel J. Edwards, Timothy P. Hart, and Michael I Levin. 1965. LISP 1.5 Programmer's Manual (2 ed.). MIT Press. http://www.softwarepreservation.org/projects/ LISP/book/LISP%201.5%20Programmers% 20Manual.pdfGoogle Scholar Google Scholar 35. Eliot Miranda. 2011. The Cog Smalltalk virtual machine -- writing a JIT in a high-level dynamic language. In Proc. 5th Workshop on Virtual Machines and Intermediate Languages (VMIL 2011). 7. https://zenodo.org/record/3700608 Presented at the workshop, but not archived in the ACM Digital Library.Google ScholarGoogle Scholar 36. Eliot Miranda, Clement Bera, Elisa Gonzalez Boix, and Dan Ingalls. 2018. Two Decades of Smalltalk VM Development: Live VM Development through Simulation Tools. In Proc. 10th ACM SIGPLAN Int. Workshop on Virtual Machines and Intermediate Languages (Boston, MA, USA) (VMIL 2018). Association for Computing Machinery, New York, NY, USA (November), 57-66. Google Scholar Google ScholarDigital LibraryDigital Library 37. Kristen Nygaard. 1970. System description by SIMULA -- An introduction. Technical Report S-35. Norsk Regnesentral / Norwegian Computing Center (November).Google ScholarGoogle Scholar 38. Kristen Nygaard and Ole-Johan Dahl. 1981. The development of the SIMULA languages. In History of programming languages I, Richard L. Wexelblat (Ed.). ACM, New York, NY, USA, Chapter IX, 439-480. Google ScholarGoogle ScholarDigital LibraryDigital Library 39. Sandra Pakin. 1968. APL\360 Reference Manual. Science Research Associates (SRA).Google ScholarGoogle Scholar 40. Jeff Pierce. 2002. Alice in a Squeak Wonderland. In Squeak: Open Personal Computing and Multimedia, Mark Guzdial and Kim Rose (Eds.). Prentice Hall, Chapter 3, 69-96.Google ScholarGoogle Scholar 41. Trygve Reenskaug. 1979. Models-Views-Controllers. Technical Note. Learning Reseearch Group, Xerox Palo Alto Research Center (December). 2 pages. Google ScholarGoogle ScholarCross RefCross Ref 42. A. Dain Samples, David Ungar, and Paul Hilfinger. 1986. SOAR: Smalltalk without bytecodes. SIGPLAN Not. 21, 11 (June), 107-118. Google ScholarGoogle ScholarDigital LibraryDigital Library 43. Steve Saunders. 1977. Improved FM audio synthesis methods for real-time digital music generation. Computer Music Journal 1, 1 (February), 53-55.Google ScholarGoogle Scholar 44. D. V. Schorre. 1964. META II a Syntax-Oriented Compiler Writing Language. In Proc. 1964 19th ACM National Conf. (ACM '64). Association for Computing Machinery, New York, NY, USA, 41.301-41.3011. Google ScholarGoogle ScholarDigital Library Digital Library 45. Ernst Friedrich Schumacher. 1973. Small is Beautiful: A Study of Economics as if People Mattered. Blond & Briggs.Google ScholarGoogle Scholar 46. D. A. Smith, A. Kay, A. Raab, and D. P. Reed. 2003. Croquet -- a collaboration system architecture. In First Conference on Creating, Connecting and Collaborating Through Computing (C5). (Jan), 2-9. Google ScholarGoogle ScholarCross RefCross Ref 47. Dave Thomas. 1995. Celebrating 25 Years of Smalltalk. Mojowire. http://www.mojowire.com/TravelsWithSmalltalk/ DaveThomas- TravelsWithSmalltalk.htm (also at Internet Archive 12 June 2013 05:51:49 ).Google ScholarGoogle Scholar 48. David Ungar and Randall B. Smith. 1987. Self: The Power of Simplicity. In Proceedings OOPSLA'87 (International Conference on Object-Oriented Programming Systems, Languages and Applications). 227-242.Google ScholarGoogle Scholar 49. Thomas A. Wadlow. 1981. The Xerox Alto Computer. Byte 6, 9 (September), 58-68. https://archive.org/details/bytemagazine- 1981- 09/page/n58Google ScholarGoogle Scholar Index Terms 1. The evolution of Smalltalk: from Smalltalk-72 through Squeak 1. Social and professional topics 1. Professional topics 1. History of computing 1. History of programming languages 2. Software and its engineering 1. Software notations and tools 1. General programming languages Comments Please enable JavaScript to view thecomments powered by Disqus. Login options Check if you have access through your login credentials or your institution to get full access on this article. Sign in Full Access Get this Article * Information * Contributors * Published in Proceedings of the ACM on Programming Languages cover image Proceedings of the ACM on Programming Languages Volume 4, Issue HOPL June 2020 1480 pages EISSN:2475-1421 DOI:10.1145/3406494 Issue's Table of Contents Copyright (c) 2020 Owner/Author Sponsors In-Cooperation Publisher Association for Computing Machinery New York, NY, United States Publication History + Published: 12 June 2020 Permissions Request permissions about this article. Request Permissions Author Tags + Blocks + Squeak + OOZE + Bytecode + Alto + Morphic + EToys + Virtual Machine + BitBlt + Objects + Bootstrap + Smalltalk + NoteTaker + Interpreter Qualifiers + research-article Conference Funding Sources * Contributor Metrics Expand All + [defaul] Dan H H Ingalls Apple Computer o Publication Years1978 - 2020 o Publication counts21 o Available for Download16 o Citation count1,312 o Downloads (cumulative)14,831 o Downloads (6 weeks)268 o Downloads (12 months)5,538 o Average Citation per Article62 o Average Downloads per Article927 View Full Profile + Author: + [default-pr]Daniel Ingalls n.n., n.n. n.n., n.n. View Profile + Authors Info & Affiliations Other Metrics View Article Metrics * Bibliometrics * Citations2 * Article Metrics + 2 Total Citations View Citations + 4,858 Total Downloads + Downloads (Last 12 months)4,858 + Downloads (Last 6 weeks)223 Other Metrics View Author Metrics * Cited By PDF Format View or Download as a PDF file. PDF eReader View online with eReader. eReader Digital Edition View this article in digital edition. View Digital Edition * Figures * Other * * Share this Publication link https://dl.acm.org/doi/10.1145/3386335 Copy Link Share on Social Media Share on * * * * 0References * * * Close Figure Viewer Browse AllReturnChange zoom level[ ] Caption View Issue's Table of Contents Export Citations Select Citation format[BibTeX ] + Download citation + Copy citation * Preview is not available. By clicking download,a new tab will open to start the export process. The process may takea few minutes but once it finishes a file will be downloaded on your browser soplease do not close the new tab. Download Categories * Journals * Magazines * Books * Proceedings * SIGs * Conferences * Collections * People About * About ACM Digital Library * Subscription Information * Author Guidelines * Using ACM Digital Library * All Holdings within the ACM Digital Library * ACM Computing Classification System Join * Join ACM * Join SIGs * Subscribe to Publications * Institutions and Libraries Connect * Contact * Facebook * Twitter * Linkedin The ACM Digital Library is published by the Association for Computing Machinery. Copyright (c) 2021 ACM, Inc. * Terms of Usage * Privacy Policy * Code of Ethics ACM Digital Library home ACM home About Cookies On This Site We use cookies to ensure that we give you the best experience on our website. Learn more Got it!