From the Publisher:
This book, a revision of Smalltalk-80: the Language and its Implementation, includes the latest developments and newest features of Smalltalk-80 Version 2.
The first part of the book introduces the Smalltalk-80 approach to information representation and manipulation; it also provides an overview of the syntax of the language. The second section contains specifications of the kinds of objects already present in the Smalltalk-80 programming environment. New kinds of objects can be added by a programmer, but a wide variety of objects come with the standard system. An example of adding new kinds of objects to the system is included in the third part; this example describes the addition of an application to model discrete, event-driven simuations such as car washes, banks, or information systems.
Cited By
- Spasojević B, Ghafari M and Nierstrasz O The Object Repository Proceedings of the 11th edition of the International Workshop on Smalltalk Technologies, (1-10)
- Salgado R and Ducasse S Lowcode Proceedings of the 11th edition of the International Workshop on Smalltalk Technologies, (1-10)
- Kubelka J, Bergel A and Robbes R Asking and Answering Questions during a Programming Change Task in Pharo Language Proceedings of the 5th Workshop on Evaluation and Usability of Programming Languages and Tools, (1-11)
- Ressia J, Gîrba T, Nierstrasz O, Perin F and Renggli L Talents Proceedings of the International Workshop on Smalltalk Technologies, (1-9)
- Papoulias N, Bouraqadi N, Denker M, Ducasse S and Fabresse L Towards structural decomposition of reflection with mirrors Proceedings of the International Workshop on Smalltalk Technologies, (1-5)
- Wehr S and Thiemann P (2011). JavaGI, ACM Transactions on Programming Languages and Systems (TOPLAS), 33:4, (1-83), Online publication date: 1-Jul-2011.
- Verwaest T, Bruni C, Gurtner D, Lienhard A and Niestrasz O (2010). Pinocchio, ACM SIGPLAN Notices, 45:10, (774-789), Online publication date: 17-Oct-2010.
- Verwaest T, Bruni C, Gurtner D, Lienhard A and Niestrasz O Pinocchio Proceedings of the ACM international conference on Object oriented programming systems languages and applications, (774-789)
- Kuhn A Immediate search in the IDE as an example of socio-technical congruence in search-driven development Proceedings of 2010 ICSE Workshop on Search-driven Development: Users, Infrastructure, Tools and Evaluation, (25-28)
- Brichau J, Kellens A, Castro S and DHondt T (2010). Enforcing structural regularities in software using IntensiVE, Science of Computer Programming, 75:4, (232-246), Online publication date: 1-Apr-2010.
- Spinellis D (2010). CScout, Science of Computer Programming, 75:4, (216-231), Online publication date: 1-Apr-2010.
- Schenk F and May W An Active Domain Node Architecture for the Semantic Web Proceedings of the Confederated International Conferences, CoopIS, DOA, IS, and ODBASE 2009 on On the Move to Meaningful Internet Systems: Part II, (1095-1102)
- Axelsen E and Krogdahl S (2009). Groovy package templates, ACM SIGPLAN Notices, 44:12, (15-26), Online publication date: 25-Dec-2009.
- Jabłonowski J Some remarks about OO teaching Proceedings of the International Conference on Computer Systems and Technologies and Workshop for PhD Students in Computing, (1-6)
- Axelsen E and Krogdahl S Groovy package templates Proceedings of the 5th symposium on Dynamic languages, (15-26)
- Yeager D A different kind of programming languages course Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications, (667-674)
- Lumpe M Growing a language Proceedings of the 7th international conference on Software composition, (1-19)
- García Perez-Schofield J, García Roselló E, Ortín Soler F and Pérez Cota M (2008). Visual Zero, Journal of Visual Languages and Computing, 19:3, (380-398), Online publication date: 1-Jun-2008.
- Bettini L and Bono V Type safe dynamic object delegation in class-based languages Proceedings of the 6th international symposium on Principles and practice of programming in Java, (171-180)
- Tratt L (2008). Domain specific language implementation via compile-time meta-programming, ACM Transactions on Programming Languages and Systems, 30:6, (1-40), Online publication date: 1-Oct-2008.
- Ennals R and Gay D Multi-language synchronization Proceedings of the 16th European Symposium on Programming, (475-489)
- Concas G, Marchesi M, Pinna S and Serra N (2007). Power-Laws in a Large Object-Oriented Software System, IEEE Transactions on Software Engineering, 33:10, (687-708), Online publication date: 1-Oct-2007.
- Østerbye K Design of a class library for association relationships Proceedings of the 2007 Symposium on Library-Centric Software Design, (67-75)
- Jabłonowski J A case study in introductory programming Proceedings of the 2007 international conference on Computer systems and technologies, (1-7)
- González S, Mens K and Heymans P Highly dynamic behaviour adaptability through prototypes with subjective multimethods Proceedings of the 2007 symposium on Dynamic languages, (77-88)
- Bettini L, Capecchi S and Giachino E Featherweight wrap Java Proceedings of the 2007 ACM symposium on Applied computing, (1094-1100)
- Feinberg D (2007). A visual object-oriented programming environment, ACM SIGCSE Bulletin, 39:1, (140-144), Online publication date: 7-Mar-2007.
- Feinberg D A visual object-oriented programming environment Proceedings of the 38th SIGCSE technical symposium on Computer science education, (140-144)
- Lumpe M GLoo Proceedings of the 9th international conference on Component-Based Software Engineering, (17-32)
- Fabresse L, Dony C and Huchard M SCL Proceedings of the 14th international conference on Advances in smalltalk, (91-110)
- Lumpe M Using metadata transformations to integrate class extensions in an existing class hierarchy Proceedings of the 4th Asian conference on Programming Languages and Systems, (290-306)
- Lumpe M and Schneider J (2018). A form-based meta-model for software composition, Science of Computer Programming, 56:1-2, (59-78), Online publication date: 1-Apr-2005.
- Salzman L and Aldrich J Prototypes with multiple dispatch Proceedings of the 19th European conference on Object-Oriented Programming, (312-336)
- De Roover C, Gybels K and D'Hondt T (2005). Towards Abstract Interpretation for Recovering Design Information, Electronic Notes in Theoretical Computer Science (ENTCS), 131, (15-25), Online publication date: 1-May-2005.
- Tratt L Compile-time meta-programming in a dynamically typed OO language Proceedings of the 2005 symposium on Dynamic languages, (49-63)
- Weiher M and Ducasse S Higher order messaging Proceedings of the 2005 symposium on Dynamic languages, (23-34)
- De Meuter W, Tanter É, Mostinckx S, Van Cutsem T and Dedecker J Flexible object encapsulation for ambient-oriented programming Proceedings of the 2005 symposium on Dynamic languages, (11-21)
- Bergel A, Ducasse S and Nierstrasz O (2019). Classbox/J, ACM SIGPLAN Notices, 40:10, (177-189), Online publication date: 12-Oct-2005.
- Bergel A, Ducasse S and Nierstrasz O Classbox/J Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (177-189)
- Zdun U (2018). Supporting incremental and experimental software evolution by runtime method transformations, Science of Computer Programming, 52:1-3, (131-163), Online publication date: 1-Aug-2004.
- Jablonowski J Some remarks on teaching of programming Proceedings of the 5th international conference on Computer systems and technologies, (1-6)
- Allen E, Chase D, Luchangco V, Maessen J and Steele G Object-oriented units of measurement Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (384-403)
- Goldberg D, Findler R and Flatt M Super and inner Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (116-129)
- Allen E, Chase D, Luchangco V, Maessen J and Steele G (2004). Object-oriented units of measurement, ACM SIGPLAN Notices, 39:10, (384-403), Online publication date: 1-Oct-2004.
- Goldberg D, Findler R and Flatt M (2004). Super and inner, ACM SIGPLAN Notices, 39:10, (116-129), Online publication date: 1-Oct-2004.
- Price D, Rudys A and Wallach D Garbage Collector Memory Accounting in Language-Based Systems Proceedings of the 2003 IEEE Symposium on Security and Privacy
- Lorenz D and Vlissides J Pluggable reflection Proceedings of the 25th International Conference on Software Engineering, (3-13)
- Lee K, LaMarca A and Chambers C (2003). HydroJ, ACM SIGPLAN Notices, 38:11, (205-223), Online publication date: 26-Nov-2003.
- Lee K, LaMarca A and Chambers C HydroJ Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications, (205-223)
- Ernst E and Lorenz D Aspects and polymorphism in AspectJ Proceedings of the 2nd international conference on Aspect-oriented software development, (150-157)
- Spinellis D (2003). Global Analysis and Transformations in Preprocessed Languages, IEEE Transactions on Software Engineering, 29:11, (1019-1030), Online publication date: 1-Nov-2003.
- Voeten J (2019). Performance evaluation with temporal rewards, Performance Evaluation, 50:2-3, (189-218), Online publication date: 1-Nov-2002.
- Postow B, Regan K and Smith C (2019). UPSILON, Fundamenta Informaticae, 50:3, (325-359), Online publication date: 1-Mar-2002.
- Postow B, Regan K and Smith C (2019). UPSILON: Universal Programming System with Incomplete Lazy Object Notation, Fundamenta Informaticae, 50:3-4, (325-359), Online publication date: 1-Aug-2002.
- Achermann F, Lumpe M, Schneider J and Nierstrasz O PICCOLA---a small composition language Formal methods for distributed processing, (403-426)
- Battiston E, Chizzoni A and De Cindio F CLOWN as a testbed for concurrent object-oriented concepts Concurrent object-oriented programming and petri nets, (131-163)
- Riehle D, Fraleigh S, Bucka-Lassen D and Omorogbe N (2019). The architecture of a UML virtual machine, ACM SIGPLAN Notices, 36:11, (327-341), Online publication date: 1-Nov-2001.
- Riehle D, Fraleigh S, Bucka-Lassen D and Omorogbe N The architecture of a UML virtual machine Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (327-341)
- Findler R and Flatt M (2019). Modular object-oriented programming with units and mixins, ACM SIGPLAN Notices, 34:1, (94-104), Online publication date: 1-Jan-1999.
- Flatt M, Findler R, Krishnamurthi S and Felleisen M Programming languages as operating systems (or revenge of the son of the lisp machine) Proceedings of the fourth ACM SIGPLAN international conference on Functional programming, (138-147)
- Flatt M, Findler R, Krishnamurthi S and Felleisen M (1999). Programming languages as operating systems (or revenge of the son of the lisp machine), ACM SIGPLAN Notices, 34:9, (138-147), Online publication date: 1-Sep-1999.
- Duke D, Herman I and Marshall M (1999). PREMO: A framework for multimedia middleware, 10.5555/1744649, Online publication date: 1-Jan-1999.
- Sadler J (2019). Ficl, FORML, & object forth, ACM SIGPLAN Notices, 34:6, (32-35), Online publication date: 1-Jun-1999.
- Nishimura S Static typing for dynamic messages Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (266-278)
- Findler R and Flatt M Modular object-oriented programming with units and mixins Proceedings of the third ACM SIGPLAN international conference on Functional programming, (94-104)
- Riehle D and Gross T (2019). Role model based framework design and integration, ACM SIGPLAN Notices, 33:10, (117-133), Online publication date: 1-Oct-1998.
- Riehle D and Gross T Role model based framework design and integration Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (117-133)
- Cobb M, Foley H, Wilson R, Chung M and Shaw K (2018). An OO Database Migrates to the Web, IEEE Software, 15:3, (22-30), Online publication date: 1-May-1998.
- Vaishnavi V, Buchanan G and Kuechler Jr. W (1997). A Data/Knowledge Paradigm for the Modeling and Design of Operations Support Systems, IEEE Transactions on Knowledge and Data Engineering, 9:2, (275-291), Online publication date: 1-Mar-1997.
- Bosch J Adapting Object-Oriented Components Proceedings of the Workshops on Object-Oriented Technology, (379-383)
- van Hoff A (2019). The Case for Java as a Programming Language, IEEE Internet Computing, 1:1, (51-56), Online publication date: 1-Jan-1997.
- Ducasse S and Richner T (2019). Executable connectors, ACM SIGSOFT Software Engineering Notes, 22:6, (483-499), Online publication date: 1-Nov-1997.
- Ducasse S and Richner T Executable connectors Proceedings of the 6th European SOFTWARE ENGINEERING conference held jointly with the 5th ACM SIGSOFT international symposium on Foundations of software engineering, (483-499)
- Eriksson C, Mäki-Turja J, Post K, Gustafsson M, Gustafsson J, Sandström K and Brorsson E (2019). An Overview of RealTimeTalk, a Design Framework for Real-Time Systems, Journal of Parallel and Distributed Computing, 36:1, (66-80), Online publication date: 10-Jul-1996.
- Delen D, Pratt D and Kamath M A new paradigm for manufacturing enterprise modeling Proceedings of the 28th conference on Winter simulation, (985-992)
- Joines J and Roberts S Design of object-oriented simulations in C++ Proceedings of the 28th conference on Winter simulation, (65-72)
- Ferrante R and Allard J (1996). Introducing a CPS style optimizer into an existing compiler, ACM SIGPLAN Notices, 31:12, (73-79), Online publication date: 1-Dec-1996.
- Moore I (1996). Automatic inheritance hierarchy restructuring and method refactoring, ACM SIGPLAN Notices, 31:10, (235-250), Online publication date: 1-Oct-1996.
- Astudillo R. H (1996). Reorganizing split objects, ACM SIGPLAN Notices, 31:10, (138-149), Online publication date: 1-Oct-1996.
- Moore I Automatic inheritance hierarchy restructuring and method refactoring Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (235-250)
- Astudillo R. H Reorganizing split objects Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, (138-149)
- Gustafsson J, Post K, Mäki-Turja J and Brorsson E (1996). Benefits of type inference for an object-oriented real-time language, ACM SIGPLAN OOPS Messenger, 7:1, (28-35), Online publication date: 1-Jan-1996.
- Bischofberger W, Kofler T, Matzel K and Schaffer B Computer supported cooperative software engineering with Beyond-Sniff Proceedings of the 1995 Software Engineering Environment Conferences
- Meyer A (1995). Pen computing, ACM SIGCHI Bulletin, 27:3, (46-90), Online publication date: 1-Jul-1995.
- Bogdanovich P Objective-Tcl Proceedings of the 3rd Annual USENIX Workshop on Tcl/Tk - Volume 3, (18-18)
- Joines J and Roberts S Design of object-oriented simulations in C++ Proceedings of the 27th conference on Winter simulation, (82-89)
- Hallett J (1995). Formulating update messages, ACM SIGPLAN Notices, 30:7, (41-44), Online publication date: 1-Jul-1995.
- Kerr R, Markley M, Sonntag M and Trower T Reno Conference Companion on Human Factors in Computing Systems, (19-20)
- Kölling M, Koch B and Rosenberg J (1995). Requirements for a first year object-oriented teaching language, ACM SIGCSE Bulletin, 27:1, (173-177), Online publication date: 15-Mar-1995.
- Wong K Software understanding through integrated structural and run-time analysis Proceedings of the 1994 conference of the Centre for Advanced Studies on Collaborative research
- Joines J and Roberts S Design of object-oriented simulations in C++ Proceedings of the 26th conference on Winter simulation, (157-165)
- Codenie W, De Hondt K, D'Hondt T and Steyaert P (1994). Agora, ACM SIGPLAN Notices, 29:12, (48-57), Online publication date: 1-Dec-1994.
- Coomber C (1994). SCHEMASIM, ACM SIGSIM Simulation Digest, 23:3, (50-63), Online publication date: 21-Mar-1994.
- Andersen B (1994). A general, fine-grained, machine independent, object-oriented language, ACM SIGPLAN Notices, 29:5, (17-26), Online publication date: 1-May-1994.
- Deubler H and Koestler M (2019). Introducing Object Orientation into Large and Complex Systems, IEEE Transactions on Software Engineering, 20:11, (840-848), Online publication date: 1-Nov-1994.
- Özsu M, Peters R, Irani B, Lipka A, Munoz A and Szafron D TIGUKAT object management system Proceedings of the 1993 conference of the Centre for Advanced Studies on Collaborative research: software engineering - Volume 1, (595-611)
- Maffeis S ELECTRA USENIX Systems on USENIX Experiences with Distributed and Multiprocessor Systems - Volume 4, (7-7)
- Joines J, Roberts S and Powell K Building object-oriented simulations with C++ Proceedings of the 25th conference on Winter simulation, (79-88)
- Epstein R and Tucker A (2019). Introducing object-orientedness into a breadth-first introductory curriculum, ACM SIGPLAN OOPS Messenger, 4:2, (293-298), Online publication date: 1-Apr-1993.
- Dodani M (2019). Teaching practical object-oriented software engineering, ACM SIGPLAN OOPS Messenger, 4:2, (251-256), Online publication date: 1-Apr-1993.
- Joines J, Powell K and Roberts S Object-oriented modeling and simulation with C++ Proceedings of the 24th conference on Winter simulation, (145-153)
- Epstein R and Tucker A Introducing object-orientedness into a breadth-first introductory curriculum Addendum to the proceedings on Object-oriented programming systems, languages, and applications (Addendum), (293-298)
- Dodani M Teaching practical object-oriented software engineering Addendum to the proceedings on Object-oriented programming systems, languages, and applications (Addendum), (251-256)
- Humm B and Fazzolare M Object-oriented analysis for telecommunications services Proceedings of the 1992 ACM/SIGAPP Symposium on Applied computing: technological challenges of the 1990's, (52-62)
- Bischak D and Roberts S Object-oriented simulation Proceedings of the 23rd conference on Winter simulation, (194-203)
- Tang L (1991). C++'s destructors can be destructive, ACM SIGPLAN Notices, 26:10, (44-52), Online publication date: 1-Oct-1991.
- Pausch R, Young N and DeLine R SUIT Proceedings of the 4th annual ACM symposium on User interface software and technology, (117-125)
- Hanson E, Harvey T and Roth M (2019). Experiences in DBMS implementation using an object-oriented persistent programming language and a database toolkit, ACM SIGPLAN Notices, 26:11, (314-328), Online publication date: 1-Nov-1991.
- Hanson E, Harvey T and Roth M Experiences in DBMS implementation using an object-oriented persistent programming language and a database toolkit Conference proceedings on Object-oriented programming systems, languages, and applications, (314-328)
- Pittman J and Kitrick C VUIMS: a visual user interface management system Proceedings of the 3rd annual ACM SIGGRAPH symposium on User interface software and technology, (36-46)
- Eriksson M (1990). A correct example of multiple inheritance, ACM SIGPLAN Notices, 25:7, (7-10), Online publication date: 1-Jul-1990.
- Savoy J (1990). Statistical behavior of fast hashing of variable length test strings, ACM SIGIR Forum, 24:3, (62-71), Online publication date: 1-Nov-1990.
- Horowitz E and Williamson R SODOS—a software documentation support environment Proceedings of the 8th international conference on Software engineering, (8-14)
Recommendations
Programming with explicit metaclasses in Smalltalk-80
OOPSLA '89: Conference proceedings on Object-oriented programming systems, languages and applicationsThis paper discusses the introduction of explicit metaclasses á la ObjVlisp into the Smalltalk-80 language. The rigidity of Smalltalk metaclass architecture motivated this work. We decided to implement the ObjVlisp model into the standard Smalltalk-80 ...
Programming with explicit metaclasses in Smalltalk-80
Special issue: Proceedings of the 1989 ACM OOPSLA conference on object-oriented programmingThis paper discusses the introduction of explicit metaclasses á la ObjVlisp into the Smalltalk-80 language. The rigidity of Smalltalk metaclass architecture motivated this work. We decided to implement the ObjVlisp model into the standard Smalltalk-80 ...