Navigation: Homepage | xmlgawk | Buchkritik | Sitemap

Titel

Squeak by Example

Wertung

empfehlenswert

Ein Creative Commons Buch zur Opensource Implementation von Smalltalk-80.

Hauptthema

Einführung in Smalltalk, die Entwicklungsumgebung, das Klassen- und Metaklassenkonzept und Morphic.

Kapitelstruktur

 Preface
 I    Getting Started
 1    A Quick Tour of Squeak
 1.1  Getting Started
 1.2  The World Menu
 1.3  Saving, Quitting and Restarting a Squeak Session
 1.4  Workspaces and Transcripts
 1.5  Keyboard shortcuts
 1.6  SqueakMap
 1.7  The System Browser
 1.8  Finding Classes
 1.9  Finding Methods
 1.10 Designing a new Method.
 1.11 Chapter Summary
 2    A First Application
 2.1  The Quinto Game
 2.2  Creating a new class Category
 2.3  Designing the Class SBECell
 2.4  Adding Methods to a Class
 2.5  Inspecting an Object
 2.6  Designing the Class SBEGame
 2.7  Organizing Methods into Protocols
 2.8  Let's Try Our Code
 2.9  Saving and Sharing Smalltalk Code
 2.10 Chapter Summary
 3    Syntax in a Nutshell
 3.1  Syntactic Elements
 3.2  Pseudo-variables
 3.3  Message Sends
 3.4  Method Syntax
 3.5  Block Syntax
 3.6  Conditionals and Loops in a Nutshell
 3.7  Primitives and Pragmas
 3.8  Chapter Summary
 4    Understanding Message Syntax
 4.1  Identifying Messages
 4.2  Three Kinds of Messages
 4.3  Message Composition
 4.4  Hints for Identifying Keyword Messages
 4.5  Expression Sequences
 4.6  Cascaded Messages
 4.7  Chapter Summary
 II   Developing in Squeak
 5    The Smalltalk Object Model
 5.1  The Rules of the Model
 5.2  Everything is an Object
 5.3  Every object is an instance of a class
 5.4  Every class has a superclass
 5.5  Everything Happens by Message Sending
 5.6  Method lookup follows the inheritance chain
 5.7  Shared Variables
 5.8  Chapter Summary
 6    The Squeak Programming Environment
 6.1  Overview
 6.2  The System Browser
 6.3  Monticello
 6.4  The Inspector and Explorer
 6.5  The Debugger
 6.6  The Process Browser
 6.7  Finding Methods
 6.8  Change Sets and the Change Sorter
 6.9  The File List Browser
 6.10 In Smalltalk, You Can¿t Lose Code
 6.11 Chapter Summary
 7    SUnit
 7.1  Introduction
 7.2  Why Testing is Important
 7.3  What makes a Good Test?
 7.4  SUnit by Example
 7.5  The SUnit Cook Book
 7.6  The SUnit Framework
 7.7  Advanced Features of SUnit
 7.8  The Implementation of SUnit
 7.9  Some Advice on Testing
 7.10 Chapter Summary
 8    Basic Classes
 8.1  Object
 8.2  Numbers
 8.3  Characters
 8.4  Strings
 8.5  Booleans
 8.6  Chapter Summary
 9    Collections
 9.1  Introduction
 9.2  The Varieties of Collection
 9.3  Implementations of Collections
 9.4  Examples of Key Classes
 9.5  Collection Iterators
 9.6  Some Hints for using Collections
 9.7  Chapter Summary
 10   Streams
 10.1 Two Sequences of Elements
 10.2 Streams vs. Collections
 10.3 Streaming over Collections
 10.4 Using Streams for File Access
 10.5 Chapter Summary
 11   Morphic
 11.1 The History of Morphic
 11.2 Manipulating morphs
 11.3 Composing Morphs
 11.4 Creating and Drawing Your Own Morphs
 11.5 Mouse and Keyboard Interaction
 11.6 Interactors
 11.7 Drag-and-drop
 11.8 A Complete Example
 11.9 More About the Canvas
 11.10 Chapter Summary
 III  Advanced Squeak
 12   Classes and Metaclasses
 12.1 Rules for Classes and Metaclasses
 12.2 Revisiting the Smalltalk Object Model
 12.3 Every Class is an Instance of a Metaclass
 12.4 The Metaclass Hierarchy Parallels the Class Hierarchy
 12.5 Every Metaclass Inherits from Class and Behavior
 12.6 Every metaclass is an instance of Metaclass
 12.7 The Metaclass of Metaclass is an Instance of Metaclass
 12.8 Chapter Summary
 IV   Appendices
 A    Frequently Asked Questions
 A.1  Getting started
 A.2  Collections
 A.3  Browsing the system
 A.4  Using Monticello and SqueakSource
 A.5  Tools
 A.6  Regular Expressions and Parsing
 Bibliography
 Index

Verständlichkeit, Sprache

Die Qualität der einzelnen Kapital unterscheidet sich deutlich, es ist eben das Werk mehrerer Autoren und die meisten sind keine native english speaker.

Was ist die Botschaft? Motivation und Begründung

Die Gruppe um Oscar Nierstrasz vom Institute of Computer Science and Applied Mathematics der Universität Bern ist seit Jahren sehr aktiv im Smalltalk und Squeak Umfeld. Deshalb hat er mit einigen Helfern dieses Buch auf die Beine gestellt, um Squeak und seine Tools breiter beliebt zu machen. Das Buch ist 'offen', d.h. jeder kann das PDF herunterladen oder sogar die LaTeX Quellen einsehen. Hier sind 'Überzeugungstäter' am Werk.

Meine Meinung

Die Auswahl an aktuellen(!) Smalltalk Büchern ist sehr klein. Um so erfreulicher, dass es dieses Buch gibt. Vor allem die Beschreibung der neueren Entwicklungsttols wie der Monticello-Browser zur Paketverwaltung oder das SUnit Framework findet man sonst nicht als Buch. Auf das Kapitel zum Morphic GUI hatte ich mich besonders gefreut, leider ist das ein wenig knapp ausgefallen.

Trotzdem, Smalltalk ist eine tolle Sprache, Squeak eine wirklich sehr gute Implementation und damit lohnt sich das Buch, auch wenn es mit anderen Büchern (noch?) nicht mithalten kann.

Ich möchte an dieser Stelle ganz besonders Philippe Marschall danken, der mir dies Buch geschenkt hat. Auch er hat in Bern Informatik studiert.

Autor(en)

Andrew P. Black, Stéphane Ducasse, Oscar Nierstrasz, Damian Pollet

Erscheinungsjahr, Verlag, ISBN, Seitenzahl

2007, Square Bracket Associates, 978-3-9523341-0-2, 284 Seiten

URLs

Amazon: nicht bei Amazon erhältlich, aber hier http://www.lulu.com/content/1171965

Verlag: http://SqueakByExample.org/

Mehr Links zum Thema Smalltalk (inkl. Buchliste) findet sich in MainLanguages im Kapitel 'Smalltalk'.

Schlagworte

Smalltalk, IDE, Metaklassen, Morphic

Datum

03-May-2008

last modified: $Date: 2008/05/03 13:12:49 $