A complete guide to Smalltalk-80, containing everything a user should know to start constructing applications. A very important language for those interested in object-oriented programming, one of the hot areas in software engineering.
The book provides a detailed explanation of the Smalltalk language, and describes the VisualWorks development environment and its rich library of classes.
KEY TOPICS: It includes the correct use of variables (including class instance variables); using the debugger; change management; concurrency control; the dependency mechanism; the model-view-controller paradigm; building an interactive application; using canvasses; also includes a large number of worked examples, and exercises of various degrees of complexity.
Both the specialist and the general reader will find this book accessible. It can be used by university and college students, as well as software professionals. No previous knowledge of object-oriented programming is required, but an understanding of at least one programming language (such as Pascal, C or Lisp) is necessary.
Binding: 408 pages
Publisher: Prentice Hall; 1 edition (October 23, 1995)
Language: English (Also available in German translation)
This book is now out of print, but currently still available from Amazon.
The answers to all the exercises can be downloaded from UIUC.
Extracts of this book have also been used as a class introduction to Smalltalk. This material can be found here.
The version of VisualWorks/Smalltalk described in this book is now long out-of-date. The up-to-date version of VisualWorks/Smalltalk can be downloaded from Cincom. I believe that most of the examples and exercises will still work; however, the "Controller" parts of the User Interface structures have been completely re-written, and any attempt to use (for example) the controlActivity() methods will not work.
One of these days I'll update the book based on the Cincom VisualWorks/Smalltalk release. Maybe.
Co-authored by a team of four drawn from the Departments of Computer Science and Electrical Engineering at the University of Manchester, this book is intended as an introdution to several of the software packages available commercially for the computer-aided design of electronic circuits.
A recent U.K. government initiatiave has enabled many universities, polytechnics and colleges of further education to obtain a wide variety of ECAD software packages, together with the necessary computer facilities.
This book has been compiled to meet the initial needs of both teaching staff and students who wish to begin using some of these packages. The coverage concentrates on the Silvar Lisco (SL2000) and Genrad (HILO) Simulation software together with the Silvar Lisco circuit entry and post processing products. Details are given of an interface between SPICE and the post processor PPRG.
This book is now out of print, and is no longer available (to the best of my knowledge). The content is by now completely superceded, the software products it describes are obsolete, and the book itself is probably only of historical interest.
I contributed chapter 6 (on the HILO simulator). I also typeset the entire book, using the (then) new technology of desktop publishing, using the TeX word processing software package.
Refereed papers appearing in published journals.
Centrenet: A High Performance Local Area Network,
R. N. Ibbett, D. A. Edwards, T. P. Hopkins, C. K. Cadogan and D. A. Train, The Computer Journal, vol. 28, no. 3, 1985, pp. 231-242.
This was the paper produced as the results of my Ph.D work on Centrenet, a Local Area Network (LAN) design based on point-to-point links and high-speed routers. Was not received well in an era of shared-media networks (Ethernet, Token Ring, etc.) but interesting to compare with modern LANs based on IP routers.
Implementation of a High Performance LAN - Centrenet, D. A. Edwards, R. N. Ibbett and T. P. Hopkins, in Distributed Computing Systems Programme, (ed.) D. A. Duce, Peter Peregrinus Ltd., September 1984, pp. 25-38.
Smalltalk-80: an Object-oriented Programming Tool, T. P. Hopkins, in Object-oriented Programming Systems - Tools and Applications, (ed.) J. J. Florentin, Chapman and Hall, 1991, pp. 79-96.
Declarative Objects for User Interface Construction, T. P. Hopkins and S. K. Wallis, in Building Interactive Systems: Architectures and Tools, (eds.) P. D. Gray and R. Took, Springer-Verlag, 1992, pp. 168-181.
Papers appearing in the proceedings of academic conferences.
Distributed Network Services, T. P. Hopkins and I. R. Wilson, Proceedings of the 6th European Conference on Electrotechnics (EURONCON 84), September 1984, pp. 148-152.
Voice Communications on the Centrenet Network - Implementation and Performance, T. P. Hopkins, Proceedings of the 11th Symposium on Microprocessing and Microprogramming (EUROMICRO 85), September 1985, pp. 65-74.
An Integrated Information Presentation System, T. P. Hopkins, Proceedings of the 7th European Conference on Electrotechnics (EUROCON 86), April 1986. pp. 339-345.
A Network-based Integrated Information Presentation System, T. P. Hopkins, Proceedings of Communications 86, IEE Conference publication 262, May 1986, pp. 60-64.
Dynamic Grouping in an Object Oriented Virtual Memory Hierarchy, Ifor Wyn Williams, Mario I. Wolczko, and Trevor P. Hopkins. In Proceedings of the 1987 European Conference on Object-Oriented Programming, J. Bezivin, J.-M. Hullot, P. Cointe, and H. Lieberman, editors, Lecture Notes in Computer Science, volume 276, pages 79-88. Springer-Verlag, Paris, June 1987. Abstract. Full paper in Postscript | PDF.
Introduced dynamic grouping of virtual memory. Simulated various algorithms as applied to Smalltalk-80 applications.
Realisation of a Dynamically Grouped Object-Oriented Virtual Memory Hierarchy, Ifor Wyn Williams, Mario I. Wolczko, and Trevor P. Hopkins. In Proceedings of the Workshop on Persistent Object Systems: Their Design, Implementation and Use, pages 298-308, August 1987. Persistent Programming Research Report, Universities of Glasgow and St. Andrews (PPRR-44-87). Abstract. Full paper in Postscript | PDF.
Described some ways to implement a dynamically-grouped virtual memory, and simulated the implementations.
MUSHROOM - A Distributed Multi-User Object-Oriented Programming Environment, T. P. Hopkins, I. W. Williams and M. I. Wolczko, British Computer Society Object-oriented Programming and Systems and Parallel Programming Specialist Groups Workshop, October 1987.
Multicast Communication Facilities for Distributed Multimedia Information Systems, L. H. Ngoh and T. P. Hopkins, Second IEE National Conference on Telecommunications, Conference Proceedings 300, April 1989, pp. 271-276
REKURSIV Scheme, I. K. Piumarta, T. P. Hopkins and M. I. Wolczko, presented at the Second Workshop, DTI Initiative on Object-oriented Programming, University of Edinburgh, September 1989.
Initial Experience in Implementing Multicast Facilities in Computer Supported Collaborative Work, L. H. Ngoh and T, P. Hopkins, UK IT 1990 Conference, Conference Proceedings 316, March 1990, pp. 196-203.
Declarative Objects for Simulation and User Interfaces, S. K. Wallis, S. Wilson and T. P. Hopkins, The Society for Computer Simulation Western Multiconference, Anaheim, California, USA, January 1991, pp. 143-150.
OOPS Design Metrics, T. P. Hopkins, Proceedings of Software Development '92, London, June 1992.
Concurrent Programming in Smalltalk, T. P. Hopkins, Proceedings of Object Expo Europe, London, July 1993, pp. 135-140.
Testing Smalltalk Code in Multi-person Projects, T. P. Hopkins, Proceedings of TOOLS Europe '94 (Technology of Object-Oriented Languages and Systems), Paris, March 1994, pp. 467-478.
I acted as the Guest Editor for a "special issue" of the IEE/BCS Software Engineering Journal on Object-oriented Systems, (vol. 7, no. 2, March 1992). This involved selecting referees, resolving differences between these and making the final selection of papers, and writing an editorial introduction to the issue.
I have also published various book reviews and newsletter articles, not listed here.