From 흡혈양파의 번역工房
Jump to navigation Jump to search


This book derives from two activities-developing and teaching courses, and develop­ing software. But the real sources are the people I've encountered along the way. Many of them have profoundly shaped my thinking about software-Dave Collins, Peter Deutsch, Amarjeet Garewal, Steve Goetze, Ralph Johnson, Doug Lea, Bertrand Meyer, Tom Morgan, Dave Thomas, Rebecca Wirfs-Brock, and Kirk Wolf-and many others have left smaller but chaotically important impressions: Bruce Anderson, Marilyn Bates, Katherine Betz, Desmond D'Souza, Phil Hartley, Richard Helm, Felix Laura, and John Vlissides. From here the list is too long to enumerate, for it includes individuals with whom I sweated over their businesses' real object-oriented design and programming problems, plus all the students and instructors through the years from whom I learned about teaching objects and Smalltalk and C++.

I am grateful to the many people who were kind enough to share their opinions on draft manuscripts. Bruce Anderson assailed hackneyed expressions and examples; Kent Beck made me rethink my pedagogical approach; Katherine Betz streamlined discussions; Michele Choate caught stylistic slips; Eric Clayberg taught me new things about Smalltalk; Dave Collins, a closet historian, set chronologies straight; Ken Coo­per pointed out awkward transitions; Lisa Goetze suggested improvements to the exer­cises; Steve Goetze was a sounding board for impetuous ideas and, sensitive to the zeitgeist, warned me off gratuitous soapboxes; Ralph Johnson's enthusiasm and tact kept me going when there was still no end in sight; Doug Lea urged technical respect­ability where there was none; Ruth Liu distinguished what I actually said from what I meant to say; Tom Morgan flushed out structural and conceptual flaws; Larry Smith was the conscience of the IBM Smalltalk product; Dave Thomas alerted me to trends from the ANSI standardization effort; Michael Tsuj i painstakingly and repeatedly dis­sected the entire manuscript from the standpoint of someone who professed to be ignorant of objects, and so highlighted innumerable spots where readers would have gone astray; and Kirk Wolfs razor-sharp sensibilities caught sloppy assertions about objects. Kim Arthur, David Bernstein, Wai-Mee Ching, Bill Creager, Amarjeet Gare­wal, John Granlund, and Greg Lee also provided helpful comments. For felicitous anecdotal tidbits, I am grateful to Kent Beck, Roy Campbell , Dave Collins, Erich Gamma, Tami Kinsey, Hal Lorin, and Kirk Wolf.

Thanks also to the unsung heroes of the publishing world: Tom my Barker, Steve Brill, Lee Fitzpatrick, Leslie Haimes, Ted Kennedy, Mary Piergies, and especially Mar­jan Bace for his guidance on the care and feeding of a book; Dave Lynch for his illu­minating and provocative copyed iting; and Sheila Carlisle for the care and precision with which she transformed the raw manuscript into an attractive form. I also thank IBM for giving me time to begin this project. Neither they nor I imagined it would take so long.

Everything owes something to root causes (had it not been for such-and-such , this­ and-that would never have happened) . Thus I, and every practicing object-oriented programmer, am indebted to Alan Kay and his associates at the Learning Research Group at Xerox PARC for inventing Smalltalk, and Bjarne Stroustrup for giving us the C++ counterpoint . The dialectic between these schools of thought inspires much of what follows.


Clarity Computing