On to Smalltalk / Edition 1

On to Smalltalk / Edition 1

5.0 1
by Patrick Henry Winston
     
 

ISBN-10: 0201498278

ISBN-13: 9780201498271

Pub. Date: 09/03/1997

Publisher: Addison-Wesley

Learn the language with power tools for program writing and interface building This book is written in the clear and concise style that has made Winston's Java, C, C++, and Lisp books popular among programmers who want to add new languages to their repertoire. Using this book, you learn Smalltalk quickly and effectively, and you learn why Smalltalk is the language

Overview

Learn the language with power tools for program writing and interface building This book is written in the clear and concise style that has made Winston's Java, C, C++, and Lisp books popular among programmers who want to add new languages to their repertoire. Using this book, you learn Smalltalk quickly and effectively, and you learn why Smalltalk is the language of choice when you need power tools for writing object-oriented programs and building graphical user interfaces.

The Knowledge You Need

Each section adds new capabilities to a short, yet representative Smalltalk program. One such program displays the calorie content of a food selected by a button click.

As you see the program evolve, you learn how to experiment using the workspace and the transcript, benefit from procedure abstraction, define classes that inherit instance variables and methods, benefit from data abstraction, design classes and class hierarchies, store values in class variables, store values in dictionaries, work with arrays and collections, use time-sorted collections in simulations, work with dates and times, program defensively, exchange software, create points and rectangles, draw lines and display text in windows, connect display elements, display list boxes, menus, and file dialog windows, develop a graphical user interface using a GUI builder, work with an industrial-strength smalltalk, work with the model-viewer-controler paradigm, and much, much more.

Winston's proven approach

  • Based on extensive teaching experience
  • Features easily digested segments
  • Illustrates ideas via short, yet complete, programs
  • Answers your natural questions in a natural order
  • Stresses principles of good programming practice
  • Recapitulates key points as if--then rules

0201498278B04062001

Product Details

ISBN-13:
9780201498271
Publisher:
Addison-Wesley
Publication date:
09/03/1997
Edition description:
New Edition
Pages:
320
Product dimensions:
7.50(w) x 9.25(h) x 0.50(d)

Table of Contents

CONTENTS iii(6)
ACKNOWLEDGMENTS ix
1 HOW THIS BOOK TEACHES YOU THE LANGUAGE
1(6)
why you should learn Smalltalk
methods versus functions
programming idioms and programming principles
2 HOW TO EXPERIMENT USING THE WORKSPACE
7(8)
the workspace and the transcript
expressions, receivers, messages, and answers
methods and arguments
unary, binary, and keyword methods
method precedence
expression separation
strings
patterns and instantiation
3 HOW TO WRITE ARITHMETIC EXPRESSIONS
15(4)
arithmetic messages
integer, floating-point, and rational numbers
absence of special precedence conventions for arithmetic
number-class conversion
4 HOW TO DEFINE SIMPLE METHODS
19(10)
method definition
the self object
returning from methods
blank insensitivity and case sensitivity
message cascading
string concatenation
comments
5 HOW TO DEFINE METHODS WITH PARAMETERS
29(4)
arguments and parameters
parameters and local scope
6 HOW TO PERFORM TESTS USING PREDICATES
33(2)
equal and not equal
greater than and less than
negation
class-membership predicates
7 HOW TO WRITE CONDITIONAL EXPRESSIONS
35(6)
Boolean expressions
ifTrue: and ifFalse:
blocks
8 HOW TO COMBINE BOOLEAN EXPRESSIONS
41(4)
& and XXX
and: and or:
9 HOW TO INTRODUCE LOCAL VARIABLES
45(4)
local-variable initialization and assignment
the role of nil
local scope
10 HOW TO BENEFIT FROM PROCEDURE ABSTRACTION
49(4)
making programs easier to reuse, read, and debug
making programs easier to argument, improve, and change
11 HOW TO CREATE CLASSES AND INSTANCES
53(8)
instance variables, setters, and getters
derived attributes
12 HOW TO DEFINE CLASSES THAT INHERIT INSTANCE VARIABLES AND METHODS
61(6)
subclasses and superclasses
inheriting instance variables and methods
method overriding
class-membership predicates
polymorphism
13 HOW TO DEFINE INSTANCE-CREATION METHODS
67(6)
instance-creation methods and initializors
definition of new versions of new
14 HOW TO BENEFIT FROM DATA ABSTRACTION
73(4)
hiding implementation details
making programs easier write and maintain
15 HOW TO DESIGN CLASSES AND CLASS HIERARCHIES
77(4)
explicit representation
the modularity principle
the no-duplication principle
the look-it-up principle
the is-a versus has-a principle
16 HOW TO WRITE ITERATION STATEMENTS
81(4)
iteration expressions
whileTrue: and whileFalse:
timesRepeat:
17 HOW TO WRITE RECURSIVE METHODS
85(8)
methods that use themselves recursively
the base part and the recursion part
recursion versus iteration efficiency
18 HOW TO STORE VALUES IN CLASS VARIABLES
93(4)
class variables and class-variables access
class-variable setters and getters
19 HOW TO STORE VALUES IN DICTIONARIES
97(4)
the Smalltalk dictionary
creation of new dictionaries
pool dictionaries
20 HOW TO WORK WITH ARRAYS
101(8)
manipulating arrays of numeric elements
iterating with elements as parameter values
iterating with numeric indexes as parameter values
combining array elements with inject:into:
arrays of arrays
21 HOW TO WORK WITH ORDERED COLLECTIONS AND SORTED COLLECTIONS
109(10)
ordered collections of elements
iteration over ordered collections
bags and sets
sorted collections and sort blocks
22 HOW TO CREATE FILE STREAMS FOR INPUT AND OUTPUT
119(8)
creating file streams
reading strings, integers, and floats from input streams
writing to output streams
closing streams
23 HOW TO WORK WITH CHARACTERS AND STRINGS
127(6)
strings and characters
reading lines from files
extracting characters from strings
converting strings to streams
24 HOW TO PRODUCE FORMATTED TEXT
133(6)
understanding field widths and padding characters
determining the length of a string
creating strings with specified length and filler
25 HOW TO USE SORTED COLLECTIONS IN SIMULATIONS
139(8)
system simulation
event queues
application classes
26 HOW TO WORK WITH DATES AND TIMES
147(6)
Time and Date objects
time and date creation, manipulation, and comparison
use of dates in simulations
27 HOW TO DEFINE BINARY METHODS
153(4)
defining binary methods
creating new classes for numberlike objects
28 HOW TO USE DEBUGGING TOOLS
157(8)
the walkback window
the debugger
the inspector
the stepper
senders and implementers
29 HOW TO PROGRAM DEFENSIVELY
165(6)
indicating definitions are expected
defining class predicates
announcing errors
30 HOW TO EXCHANGE SOFTWARE
171(6)
absence of text files
filing in and filing out
the chunk-file format
31 HOW TO CREATE POINTS AND RECTANGLES
177(6)
screen coordinate system
points and rectangles
32 HOW TO DRAW LINES AND DISPLAY TEXT IN WINDOWS
183(14)
view managers, top panes, and graph panes
the createViews method
the when:perform: method
pens, lines, and displaying text
33 HOW TO USE THE GRAPHICS CONTEXT TO ALTER APPEARANCE
197(6)
using pens and graphics contexts
changing colors, widths, and fonts
drawing plain and filled polygons
34 HOW TO USE LIST BOXES TO SELECT INSTANCES
203(4)
creating list boxes
loading list boxes with elements
determining which element has been selected
35 HOW TO CONNECT TOGETHER DISPLAY ELEMENTS
207(6)
sending messages to named views
activating events with event:
36 HOW TO DISPLAY MENUS AND FILE DIALOG WINDOWS
213(8)
menu items, menus, and menu bars
access to files via file dialogs
37 HOW TO DEVELOP A GUI USING A GUI BUILDER
221(10)
entering the GUI builder
installing graphical elements
sizing and alignment
understanding events and callbacks
38 HOW TO WORK WITH A COMMERCIAL SMALLTALK
231(4)
understanding categories and protocols
filing out categories and protocols
reading and writing file-stream distinctions
39 HOW TO WORK WITH THE MODEL-VIEWER-CONTROLLER PARADIGM
235(8)
change and update messages
dependent parts and views
40 HOW TO USE VISUALWORK'S VALUE HOLDERS AND ASPECT ADAPTERS
243(6)
using value holders to hold values
using aspect adapters to translate messages
41 HOW TO USE VISUALWORKS TO BUILD APPLICATIONS
249(6)
application models
VisualWorks GUI Builder
42 HOW TO USE VISUALWORKS TO BUILD VIEWERS AND CONTROLLERS
255(6)
defining new viewers
defining new controllers
APPENDIX A: THE CALORIE APPLICATION 261(6)
APPENDIX B: PACKAGING APPLICATIONS FOR USERS 267(2)
APPENDIX C: THE VISUALWORKS GUI BUILDER 269(6)
APPENDIX D: THE VISUALWORKS DRAWING METHODS 275(4)
COLOPHON 279(2)
INDEX 281(8)
SOFTWARE 289(2)
BOOKS 291

Customer Reviews

Average Review:

Write a Review

and post it to your social network

     

Most Helpful Customer Reviews

See all customer reviews >

5 out of 5 based on 0 ratings. 1 reviews.
Anonymous More than 1 year ago