Excerpt
Squeak is an open programming language designed especially for personal computing and multimedia. It's certainly the most cross-platform multimedia platform in existence. What's especially interesting is that Squeak is written almost entirely in terms of itselffor example, it is possible to extend Squeak with the speed of native processor primitives without ever writing a line of C code. This book provides a guide to some of the exciting potential of Squeak. It's not a tutorial (though there are some tutorial chapters), but instead, the book offers a path into some of Squeak's unique features:
- For programmers and others interested in Squeak, this book provides in-depth presentations of some of the most exciting aspects of Squeak, such as Morphic and the internals of Squeak. The final chapters point toward the future of Squeak and where it might be used.
- For multimedia developers, there are chapters here on a range of the multimedia capabilities available in Squeak, from advanced graphics and networking, through specific applications like computer music and streaming audio.
- For application developers who want to build on Squeak, the chapters on how to port and extend Squeak explain the process, and several of the chapters point to examples of development on top of Squeak (including examples of applying new development methodologies like eXtreme Programming).
- For students and others interested in virtual machines (e.g., for embedded systems), the chapters on Squeak's virtual machine (especially Back to the Future and the tour of the object engine), how to port it, and how to extend it provide some of the best writing available yet on an increasingly important technology.
We (the editors and authors of this book) have been living Squeak for some five years now, but for many of you, this book will be your introduction to the wonderful world of Squeak. In another sense, though, if you have used a personal computer in the last twenty years, you have already been introduced to Squeak. Squeak is quite literally the direct descendant of the original Smalltalk work through which the desktop personal computer was invented. The legendary demonstration of Smalltalk to Steve Jobs of Apple Computer by Adele Goldberg and her team at Xerox Pare in 1979 (based on which Apple developed the Lisa and then the Macintosh) was running much of the exact same code that you're running when you run Squeak.
Of course, Squeak has been advanced considerably from that base system, but mostly just in the last five years. The technical story of how Squeak came to be and how it was developed from that original Smalltalk is told in the reprinted chapter Back to the Future in this volume. The challenge posed by that story, though, is made throughout this book.
What if those who developed the desktop personal computer from the original Smalltalk work missed something? The developers of the Apple Macintosh operating system, the Microsoft Windows operating system, and all the other desktop systems didn't start from the actual work at Xerox PARC, but from impressions and demonstrations. What if the fifteen years of the development of the desktop personal computer between 1980 and the start of Squeak went down the wrong path (or at least, didn't go down the right path)?
That's the question that Squeak allows us to ask. Squeak offers us the opportunity to start at the same place as Steve Jobs and others did some twenty years ago, but to explore a different future for personal computers. The researchers at Xerox PARC are hailed for inventing and integrating the windows, icons, menus, and mouse pointer into the "WIMP" desktop user interface that we all know today, but their vision also included:
- the computer as a meta-medium
- that's completely personalizable
- with software that's portable anywhere (from embedded and handheld devices to mainframe computers)
- and could (and should!) be programmed by "the rest of us."
What would a personal computer be like if those ideas (and the others inherent in the vision of the Dynabook) were integrated at the heart of the desktop interface that we all use, and weren't just add-ons? This book invites you to explore the challenge of an alternate future for personal computers. The chapters of this volume were selected not only to serve as a tutorial and invitation to explore Squeak, but also to pose challenges, opportunities, and intriguing glimpses into a future of personal computing different from that posed by existing systems. Please do accept the challenge, see what Apple and Microsoft saw at the dawn of personal computing, and see what future you and your own vision can make for personal computing.