Smalltalk Volume 1 Issue 9

Total Page:16

File Type:pdf, Size:1020Kb

Smalltalk Volume 1 Issue 9 The International Newsletter for Smalltalk Programmers July/August 1992 Volume I Number 9 malltalk programmers routinely read more code than they write. One of the IMPLEMENTING more difficult things in mastering Smalltalk is mastering the underlying class libraries. The act of programming consists of “hunting” for the appro- priate protocols in the appropriate classes. The hallmark of a good PEER CODE SmalltalkerElis the ability to efficiently navigate the increasingly vast landscape of the class libraries. It is very likely that a well-written class will be read many times over. Typicidly, these classes serve as role models for people who aspire to be good Smalltalkers. In the REVEVVSIN same vein, badly written classes that have to be used all the time serve as poor role mcxlels and tend to propagate poor programming practices. Code reviews are a critical software engineering activity. Research studies have shown SMALLTALK that code inspection alone can catch 75–%)% of the errors. Code reviews serve as a cri- tique of a software component by someone other than the author of the component. Typi- cally, reviewers are peers in the same organization who may or may not be on the deveh]P- ment team. Different organizations employ different practices for implementing code reviews. In traditional software organizations, rhe author prints out a listing of the modules m be reviewed and circulates it to the review team. The reviewers mark it up using guide- By S. Sridhar lines. They meet with the author in a face-to-face meeting a few days later where they pre- sent and discuss the review comments page by page, The author is then left with the Contents: daunting task of collating and integrating the comments of all the reviewers. h is quite possible that more than one person has caught the same programming infraction; that Features/Articles means multiple reviewers have spem time documenting the same problem and possibly I Implementing Peer Code suggesting the same fixes. This is an unnecessary duplication of effort, Reviews in Smalltalk This article describes a code review process that is specifically geared to reviewing small by S. Sridhar or large chunks of Smalltalk code. I’ll discuss extensive guidelines for effective code cri- 3 Quality assurance issues for tique and review, and describe a rigorous process that we have adopted in our organization Smalltalk-based applications to execute a comprehensive review, by Ed Klimas Columns THE PROCESS I 4 The13estof Chp.Lang.Srna/hallc My work group, like most Smalltalk work groups, uses a team software engineering tool to What’s wrong with 00P? manage the software development process. The tool we use is the ENVY/Developer envi- by A/an Knight ronment (hereinafter referred to as ENVY). This tool provides the facilities required for 18 Smalltalk Idioms Abstract the development and maintenance of large software systems. It provides sophisticated ver- control idioms sioning, configuration and release management capabilities as well as mechanisms for co- by Kent Oeck ordinating and integrating the software development activities of multiple developers. All 2 I Getting Real:Creating subclasses of the program development information including source code, compiled methods, mod- byjuanita Ew”ng ule dependency gtaphs, component ownership, versioning and configuration details are Departments stored in a shared repository. This repository is accessible to all members of the techniral 24 LabReportSmalltalk research at team. We use ENVY as a practical tool to aid in our code review process. It would be feasi- the University of Florida ble to adapt this approach to code reviews in the context of other team development envi- by@tin O. Graver ronments as well. 25 ProductAnnouncemenfi At the outset of a project, we typically partition the tasks among the developers along 26 Highlights functional lines. For example, one developer may be working on specific domain abstrac- cuminudm NC 8 EDITORS’ me SnlamamRepofi Editon CORNER J.hnPughand hd Whiu5 Cuban Lhlverdq& ThQOb@t W@. John Pugh Paul white SIGS Punuamoiw ~- euse is the name of the game. Headlines shout. Marketing literature trumpets. Salesmen Torn Anvood, ObIacrDaaiso ooze. Objects will solve your reuse problems. Not true, of course. Programmers solve Grady M, sadond reuse problems.” So says Kent Beck in the prelude to his Smalltalk Idioms column in this George Boawoti, oigkdk mad co%1~ Aga Comuidng issue. Kent knows, as do most experienced Smalltalk programmers, only too well that chuckDuff,Syn’Unw 1reuse does not come for free and is far from easy to attain. Developing truly reusable Adele Gold- l?idace Systetm components adds an extra dimension to the design and programming process, and addi- Tom bvq o@vwa, InC tional time and skill is required. BarcmndMeyer, ISE Mallir %gt+~ W@aod _ What if we had access to a quality set of reusable components for objects for some ap- Shesl PrW+, Cc~ne SOftmra plication domain? Would it now be easy to “assemble” new applications from these com- P. Mkhael Sesshols, Vamam ponents? Unless a great deal of thought has gone into the design and implementation of El@me-avup, AThT Ball @ the components (probably not), we will still need a Smalltalk guru to wire the pieces to- Dave Thamas, x Tech- karnadotul gether. Here is a sample list of questions for which we would need affirmative answers. ~ SMAUTALK ~ Do we have the right components? Do the components have the required functionality? Editorial Board Have they been fully tested? Do we have prefabricated components that model common J. Andarwn, _ processes within the domain, or do we simply have a collection of low-level building Adala GoHbew hrwaea sprain, blocks? Have the components been designed with standard interfaces? Have they been need Phlni-pa,KnOwrer&spwntrCorp. designed to work together? Mike Taylor, OI@I hW~Talw+ykmmdand Clearly, a number of things have to be in place before we can use a software-by- assembly approach to application development. However, there are low of analogous Columnists real-world examples where the benefits of this approach can be clearly seen such as the JuanItsEwlrig,OIglnlk Greg tlendiey, KnOwi+ SystUmcarp assembly of personal computers or the manufacture of automobiles. EdKHnlas,LlnaaEr@mari~Inc It’s this software-by-assembly approach to application development that Parts (formerly SmarmeSkubHc&oqecr Tachmlq lnd. LAFKit-Look and Feel Kit), a product currently under development at Digitalk, is at- Eric Smii, hwiedga SFWJUcorp. tempting to address. In his keynote address at Object Expo in New York City, Digimlk CEO RebeccavvHa-ElrOck Olghanl Jim Anderson teased the audience with a preview of the notions of software construction SiGS Publhtions Group, lraG from parts. Watch for more information on Parts in future issues of The Sma!hdk Report, RichardP. Friedman This issue features two significant contributions from recognized members of the Fwndar& GmuPFWlsher Smalltalk community that deal with the delivery of quality software. First, S. Sridhar re- A#Productlon turns to The Snudhzd.kRe@rt with a description of a mechanism for carrying out peer KrisdnaJwkhadar, MamgiIIsE&or code reviews on Smallralk projects. As is the case with all software development, PilgrimRd. Lzd. CreatheDIracdon Karen Te+rgiah,WOdwdOnE&Or whether done using Smalltalk or any other language and environment, code reviews are JennifarEngbndw, ~. -hamr a vital to ensuring the quality of deliverables. As Sridhar points out, “code reviews Ciawhtion should be viewed as a rigorous software enginering activity.” His discussion focuses on Km Mercadq ~- two aspects of code reviews, namely the process by which they should be carried out and oiana Bs&vay,ctwhdmlaudn8ssr-lma@r a set of guidelines to be followed by reviewers, Second, Ed Klimas’ article discusses many VW Mo* CbUdmwlAsskRna JohnSehreibaf, ClrcuhrhnAsbmnt issues that make testing Smalltalk systems unique and puts forward a number of guide- M~n~AdvewWng lines and strategies for planning for and documenting the development of test suites. Diana MOrMde, Aawm EuaCLKw Also in this issue, Juanita Ewing addresses many of the problems involved in carrying HollyMeii, kam Ex6adva out proper subclassing within Smalltalk applications. Always a confusing issue for people Gerakheschafm, kdrraaxszks new to Smalltalk, she describes the differing goals subclassing is used to satisfy and pro- SamhHamsron,Pnsnmbm-r Carwl Pmhler.RwmdarBGr@eti poses hueristics for making decisions concerning subclassing decisions. Alan Knight Adminlatmtion brings us up to date on a thread of discussion on USENET dealing with the hype sur- David Chterp4, timw rounding object technology. And finally, Justin Graver describes the activities of the cbh’eJOha@Ul,caOi%maf%rU& Smalltalk research group at the University of Florida. Cindy ROppeJ.Cahwr.a Cadlnamr Amysv PlqSSlal’4aqar JwllfarFkher,PUblkMatlOnS Helen NevriIng,wkninkmmwhkrmt Narghelim n Melnck GananlMwm@r ❑ SIGS The ShndhslkRqnm (15SN* 1056-7976) is published9 rimes. rem, cvmymonth cxcepIfor the Mar/Apr, J.ly/Aus, and NmdDec cmnbinedissues. PUBLICATICSNS Publishmiby SIGS PublicmionsOIUIp, 588 BrmchvHy,New YndI, NY IKI12 (212)274-0640 Q @right 1992by SIGS Publications,II-C All righs rewved. &Iim of this materialbyelemrcmictrmmnisicm,Xerox or my othermethcdwill k tremrd us. wdlhl .ml.riom 04rhe LX Copyrght PJblmnm Orfuwmd Ofotjtd-orkmd FnQnm LEWand isSEdypmhibirml.M.rcrid IMY k reprducd with expres Ferrnissionhorn the phlishers. M.iled FirsI Clam.%b=riwion rumsI ye.., (!J mhE~M~Htdham~ iwm) .dmneSiq$65, Fmcign md Gnmch, $$+3,%@ cqy price, $8.00. POSTMASTER: Sad w2dre. +w.ges .nd ,.b=riptio. mdem t,. THE redmda#,lb?c++~rhcsnaia7ksqk@ SMAUTALKREMRT, Subsmik Srrvim, !&p[.SML, PO, Sm. K@ Lknvillc, NJ 07S34. Submit mticl= to the Editorsa! 91 SecondAvw..,, 7’balnmmMWd00PWeUcq, and17m X@wnd Otmwa,Onti KIS 1H4,Ciinak THE SMALLTALK REPORT QUALITY Code development phase _ Unit testing ASSURANCE ● Integration testing . Validation testing The benefits of pre-implementation code reviews and in- ISSUES FOR spections should not be underestimated.
Recommended publications
  • The Early History of Smalltalk
    The Early History of Smalltalk http://www.accesscom.com/~darius/EarlyHistoryS... The Early History of Smalltalk Alan C. Kay Apple Computer [email protected]# Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. HOPL-II/4/93/MA, USA © 1993 ACM 0-89791-571-2/93/0004/0069...$1.50 Abstract Most ideas come from previous ideas. The sixties, particularly in the ARPA community, gave rise to a host of notions about "human-computer symbiosis" through interactive time-shared computers, graphics screens and pointing devices. Advanced computer languages were invented to simulate complex systems such as oil refineries and semi-intelligent behavior. The soon-to- follow paradigm shift of modern personal computing, overlapping window interfaces, and object-oriented design came from seeing the work of the sixties as something more than a "better old thing." This is, more than a better way: to do mainframe computing; for end-users to invoke functionality; to make data structures more abstract. Instead the promise of exponential growth in computing/$/volume demanded that the sixties be regarded as "almost a new thing" and to find out what the actual "new things" might be. For example, one would compute with a handheld "Dynabook" in a way that would not be possible on a shared mainframe; millions of potential users meant that the user interface would have to become a learning environment along the lines of Montessori and Bruner; and needs for large scope, reduction in complexity, and end-user literacy would require that data and control structures be done away with in favor of a more biological scheme of protected universal cells interacting only through messages that could mimic any desired behavior.
    [Show full text]
  • Smahtalk Kernel Language Fv1anual
    This document is for Xerox internal use only SmaHtalk Kernel Language fv1anual BY Larry Tesler SEPTEMBER 1977 Smalltalk is a programming rang'uage that deals with objects. Every object has its own data. Objects communicate by sending and receiving messages according to simple. protocols. Objects are grouped into classes. The objects of a class are called its instances. Each class specifies the protocols its instances will know as well as the methods they will use to respond to messages they receive.· The standard facilities of the Small talk system include i/o protocols for disk, display, keyboard, mouse, and Ethernet; basic data structures such as numbers, strings, arrays, and dictionaries; basic control structures such as loops and processes; program editing, compiling, and debugging; text editing, illustration, music. animation, and information storage and retrieval. Smalltalk applications include education, personal computing, and systems research. This interim reference manual covers the semantics and the present syntax of the Smalltalk kernel language. It is assumed that the reader has seen Smalltalk in operation and has programmed computers in Algol-like languages. Familiarity with LISP, Simula, and/or Smallta!k-72 should be helpful but is not necessary. System operation is described in the memo, Browsing and Error Analysis, available under separate cover from the Learning Research Group, Systems Science Laboratory. XEROX PALO ALTO RESEARCH CENTER 3333 Coyote Hill Road / Palo J\lto / California 94304 This document is for Xerox internal use only Discla inler The Smalltalk kernel system is not yet ready for general release. \Ve ask that you do not copy and distribute either the manual or the system at this time.
    [Show full text]
  • Interview with James Mitchell
    Interview with James Mitchell Interviewed by: David C. Brock Recorded February 19, 2019 Santa Barbara, CA CHM Reference number: X8963.2019 © 2019 Computer History Museum Interview with James Mitchell Brock: Yeah. So, yeah, maybe we can talk about your transition from Carnegie Mellon to PARC and how that opportunity came about, and what your thinking was about joining the new lab. Mitchell: I basically finished my PhD and left in July of 1970. I had missed graduation that year, so my diploma says 1971. But, in fact, I'd been out working for a year by then, and at PARC, you know, there were a number of other grad students I knew, and two of them had gone to work for a start-up in Berkeley that-- there were two Berkeley computer science departments, and the engineering one left to form this company called Berkeley Computer Corporation with Mel Pirtle running it and Butler Lampson kind of a chief technical officer and Chuck Thacker and so on, and anyway the people that I-- the two other grad students that had gone already that I knew, when I was going out, I was starting to go around and interview in early 1970 because I knew I was close to being finished, and it was in those days because there were so few people who had PhDs in computer science and every university was trying to build a department, and industrial research places like Bell Labs were trying to hire people and so on, anywhere you went with a new PhD you got an offer.
    [Show full text]
  • 1. with Examples of Different Programming Languages Show How Programming Languages Are Organized Along the Given Rubrics: I
    AGBOOLA ABIOLA CSC302 17/SCI01/007 COMPUTER SCIENCE ASSIGNMENT ​ 1. With examples of different programming languages show how programming languages are organized along the given rubrics: i. Unstructured, structured, modular, object oriented, aspect oriented, activity oriented and event oriented programming requirement. ii. Based on domain requirements. iii. Based on requirements i and ii above. 2. Give brief preview of the evolution of programming languages in a chronological order. 3. Vividly distinguish between modular programming paradigm and object oriented programming paradigm. Answer 1i). UNSTRUCTURED LANGUAGE DEVELOPER DATE Assembly Language 1949 FORTRAN John Backus 1957 COBOL CODASYL, ANSI, ISO 1959 JOSS Cliff Shaw, RAND 1963 BASIC John G. Kemeny, Thomas E. Kurtz 1964 TELCOMP BBN 1965 MUMPS Neil Pappalardo 1966 FOCAL Richard Merrill, DEC 1968 STRUCTURED LANGUAGE DEVELOPER DATE ALGOL 58 Friedrich L. Bauer, and co. 1958 ALGOL 60 Backus, Bauer and co. 1960 ABC CWI 1980 Ada United States Department of Defence 1980 Accent R NIS 1980 Action! Optimized Systems Software 1983 Alef Phil Winterbottom 1992 DASL Sun Micro-systems Laboratories 1999-2003 MODULAR LANGUAGE DEVELOPER DATE ALGOL W Niklaus Wirth, Tony Hoare 1966 APL Larry Breed, Dick Lathwell and co. 1966 ALGOL 68 A. Van Wijngaarden and co. 1968 AMOS BASIC FranÇois Lionet anConstantin Stiropoulos 1990 Alice ML Saarland University 2000 Agda Ulf Norell;Catarina coquand(1.0) 2007 Arc Paul Graham, Robert Morris and co. 2008 Bosque Mark Marron 2019 OBJECT-ORIENTED LANGUAGE DEVELOPER DATE C* Thinking Machine 1987 Actor Charles Duff 1988 Aldor Thomas J. Watson Research Center 1990 Amiga E Wouter van Oortmerssen 1993 Action Script Macromedia 1998 BeanShell JCP 1999 AngelScript Andreas Jönsson 2003 Boo Rodrigo B.
    [Show full text]
  • A Ccnversational Extensible System for the Animation of Shaded Images(*)
    A CCNVERSATIONAL EXTENSIBLE SYSTEM FOR THE ANIMATION OF SHADED IMAGES(*) by Ronald M. Baecker Dynamic Graphics Project, Computer Systems Research Group University of Torcnto, Toronto, Ontario, Canada Abstract The terms "conversational" and "extensible" are defined and shown to be useful properties of computer animation systems. A conversational extensible system for the animation of shaded images is then described. With this system, implemented on a minicomputer, the animator can sketch images and movements freehand, or can define them algorithmically via the Smalltalk language. The system is itself implemented in Smalltalk, and hence can be easily extended or mcdified to suit the animator's personal style. (*) This work was supported primarily by the Xerox Palo Alto Research Center. I. Introduction We shall now focus upon the second category cf systems. The strengths of GENESYS lay in the spontaneous, real time Computer animation consists of a interaction it facilitated, and in the variety cf techniques and processes in ccnceptualization of the computer animated which the computer is used as an aid in the film and the filmmaking process that it production of animated sequences [Halas 74, embodied. The heart of this Wein 74]. Computer animation systems can conceptualization was a duality between generally be classified as either image and movement, and a rich set of algorihmic or demonstrative [Tilson 75]. representations for movement and tools for the construction of movement. The ARTA and 1. Programming-language based systems Eurtnyk-Wein systems demonstrated the (Algorithmic systems) utility of various picture construction and transformation tools, including the ability EEFLIX [Knowlton 64], EXFLOR [Knowlton to interpolate between images (key frame 7C], and ZAPP (Guerin 73, Eaecker 76], animation).
    [Show full text]
  • Smalltalk Solutions 2003 Report
    Smalltalk Solutions 2003, Toronto, 14 - 16 July 2003 1 Smalltalk Solutions 2003, Toronto, 14 - 16 July 2003 I spent the preceding weekend with friends at Oakville, 20 miles west along the lake from Toronto. It struck me as a very pleasant place; if Procor were hiring (see Val’s talk), I think a Smalltalker could do worse. A visit to the hockey hall of fame on Tuesday night was fun for the food and discussions. I also learned a little about hockey. My wife’s description of her schooldays had indicated that in English schools (where hockey is the standard girls’ game, as cricket and rugby are the boys’ games) it is played according to Clauswitzian principles; after you have destroyed the enemy team’s capacity to resist by wielding your sticks so as to maim or incapacitate several of them then you can score as many goals as you wish. (Joanne Rowling’s descriptions of quidditch matches gives the style; perhaps she played in a similar team in her schooldays.) However the hall of fame displays suggested that transatlantic hockey players used their sticks primarily on the ball rather than their fellow players. Cincom also stood us dinner on Monday and ice cream on Wednesday. Style In the text below, ‘I’ or ‘my’ refers to Niall Ross; speakers are referred to by name or in the third person. A question asked in or after a talk is prefaced by ‘Q.’ (occasionally I identify the questioner if it seems relevant). A question not prefaced by ‘Q.’ is a rhetorical question asked by the speaker (or is just my way of summarising their meaning).
    [Show full text]
  • Oral History of Larry Tesler, Part 1 of 3
    Oral History of Larry Tesler, part 1 of 3 Interviewed by: Hansen Hsu David C. Brock Recorded November 22, 2016 Mountain View, CA CHM Reference number: X8020.2017 © 2016 Computer History Museum Oral History of Larry Tesler Hsu: Right. So today is November 22. I am Hansen Hsu and this is David Brock, my co-interviewer and we are here with Larry Tesler, or Lawrence Tesler. Tesler: Larry. Hsu: <laughs> And who will be talking to us about his experience at Xerox PARC and about Smalltalk. So we’re going to start maybe with right before that part of the story with your experiences at the Stanford Artificial Intelligence Laboratory. So how did you—how did you start there? You were working as a consultant? You had your consultancy job practice and you were contracted to work at SAIL at some point? Tesler: Yeah, when I was in college at Stanford. I started a little consulting company. At first it was just me, but at the high point I had four employees, mostly students, and for some of them their first job. They were still in school, so was I. One of my clients after I graduated was Ken Colby up at the A.I. Lab, and he was a psychiatrist who had developed an interest in using computers as an adjunct in therapy, and he hired—he had hired some friends of mine as employees, and when they heard I was out of college and available for consulting they suggested he bring me in to complement the others. I had a strong interest in natural language technologies and one of my clients had been the head of the linguistics department at Stanford.
    [Show full text]
  • Introducing the Smalltalk-80 System, August 1981, BYTE Magazine
    Introducing the Sntalltalk-80 Systelll Adele Goldberg Manager, Learning Research Group Xerox Palo Alto Research Center 3333 Coyote Hill Rd Palo Alto CA 94304 It is rare when one can indulge in one's prejudices with relativ e impunity, poking a bit of good humored fun to make a point. ith this statement, W Carl Helmers opened his remarks in the · "About the Cover" section of the August 1978 issue of BYTE. The issue was a special on the language Pascal, so Helmers took of the opportunity to present Pascal's triangle as drawn cover design presents by artist Robert Tinney. ust such an opportuni­ The primary allegory of t depicts the clouds the cover was' the inver­ clearing from around sion of the Bermuda the kingdom of Small talk, Triangle myth to show and, with banners stream­ smooth waters within the ing, the Small talk system area labeled " Pascal's is taking flight into the Triangle ." In explaining mainstream of the com­ the allegory, Helmers puter programming com­ g uided the traveler munity. This cover was through the FORTRAN also executed by Robert Ocean, the BASIC Sea, Tinney, to the delight of around the Isle of BAL, and up to the Land of Small talk. the Learning Research Group (LRG ) of the Xerox Palo Alto Research Center. LRG is the group that has de­ Trav eling upward (in the picture) through heavy seas signed, implemented, and evaluated several generations w e come to the pinnacle, a snow white island rising like of Small talk over the past ten years.
    [Show full text]
  • The Early History of Smalltalk Introduction
    acm | http://gagne.homedns.org/%7etgagne/contrib/EarlyHistoryST.html 1993 The Early History of Smalltalk Alan C. Kay Abstract Most ideas come from previous ideas. The sixties, particularly in the com- munity, gave rise to a host of notions about “human-computer symbiosis” through interactive time-shared computers, graphics screens and pointing devices. Advanced computer languages were invented to simulate complex systems such as oil refineries and semi-intelligent behavior. The soon-to-follow paradigm shift of modern per- sonal computing, overlapping window interfaces, and object-oriented design came from seeing the work of the sixties as something more than a “better old thing.” This is, more than a better way: to do mainframe computing; for end-users to in- voke functionality; to make data structures more abstract. Instead the promise of exponential growth in computing volume demanded that the sixties be regarded as “almost a new thing” and to find out what the actual “new things” might be. For example, one would computer with a handheld “Dynabook” in a way that would not be possible on a shared mainframe; millions of potential users meant that the user interface would have to become a learning environment along the lines of Montessori and Bruner; and needs for large scope, reduction in complexity, and end-user literacy would require that data and control structures be done away with in favor of a more biological scheme of protected universal cells interacting only through messages that could mimic any desired behavior. Early Smalltalk was the first complete realization of these new points of view as parented by its many predecessors in hardware, language and user interface design.
    [Show full text]
  • Apple Confidential 2.0 the Definitive History of the World's Most Colorful
    vi Reviewers love Apple Confidential “The Apple story itself is here in all its drama.” New York Times Book Review “An excellent textbook for Apple historians.” San Francisco Chronicle “Written with humor, respect, and care, it absolutely is a must-read for every Apple fan.” InfoWorld “Pretty much irresistible is the only way to describe this quirky, highly detailed and illustrated look at the computer maker’s history.” The Business Reader Review “The book is full of basic facts anyone will appreciate. But it’s also full of interesting extras that Apple fanatics should love.” Arizona Republic “I must warn you. This 268-page book is hard to put down for a MacHead like me, and probably you too.” MacNEWS “You’ll love this book. It’s a wealth of information.” AppleInsider “Rife with gems that will appeal to Apple fanatics and followers of the computer industry.” Amazon.com “Mr. Linzmayer has managed to deliver, within the confines of a single book, just about every juicy little tidbit that was ever leaked from the company.” MacTimes “The most entertaining book about Apple yet to be published.” Booklist i …and readers love it too! “Congratulations! You should be very proud. I picked up Apple Confidential and had a hard time putting it down. Obviously, you invested a ton of time in this. I hope it zooms off the shelves.” David Lubar, Nazareth, PA “I just read Apple Confidentialfrom cover to cover…you have written a great book!” Jason Whong, Rochester, NY “There are few books out there that reveal so much about Apple and in such a fun and entertaining manner.
    [Show full text]
  • The Evolution of Smalltalk from Smalltalk-72 Through Squeak
    The Evolution of Smalltalk From Smalltalk-72 through Squeak DANIEL INGALLS, Independent Consultant, USA Shepherd: Andrew Black, Portland State University, USA This paper presents a personal view of the evolution of six generations of Smalltalk in which the author played a part, starting with Smalltalk-72 and progressing through Smalltalk-80 to Squeak and Etoys. It describes the forces that brought each generation into existence, the technical innovations that characterized it, and the growth in understanding of object-orientation and personal computing that emerged. It summarizes what that generation achieved and how it affected the future, both within the evolving group of developers and users, and in the outside world. The early Smalltalks were not widely accessible because they ran only on proprietary Xerox hardware; because of this, few people have experience with these important historical artifacts. To make them accessible, the paper provides links to live simulations that can be run in present-day web browsers. These simulations offer the ability to run predefined scripts, but also allow the user to go off-script, browse thedetailsof implementation, and try anything that could be done in the original system. An appendix includes anecdotal and technical aspects of how examples of each generation of Smalltalk were recovered, and how order was teased out of chaos to the point that these old systems could be brought back to life. CCS Concepts: · Software and its engineering → General programming languages; · Social and pro- fessional topics → History of programming languages. Additional Key Words and Phrases: Smalltalk, Squeak, Alto, NoteTaker, OOZE, BitBlt, Morphic, EToys, Objects, Blocks, Bytecode, Interpreter, Virtual Machine, Bootstrap 85 ACM Reference Format: Daniel Ingalls.
    [Show full text]
  • Smalltalk Best Practice Patterns
    Smalltalk Best Practice Patterns Kent Beck Library of Congress Cataloging-in-Publication Data Beck, Kent. Smalltalk best practice patterns / Kent Beck. p. cm. Includes index. ISBN 0-13-476904-X (pbk.) 1. Smalltalk (Computer program language) I. Title. QA76.73.S59B43 1997 005.13’3--dc20 96-29411 CIP Editorial/Production Supervision: Joe Czerwinski Acquisitions Editor: Paul Becker Manufacturing Manager: Alexis R. Heydt Cover Design Director: Jerry Votta Cover Design: Design Source ©1997 by Prentice Hall PTR Prentice-Hall, Inc. A Division of Simon and Schuster Upper Saddle River, NJ 07458 The publisher offers discounts on this book when ordered in bulk quantities. For more information, contact: Corporate Sales Department Prentice Hall PTR One Lake Street Upper Saddle River, NJ 07458 Phone: 800-382-3419 Fax: 201-236-7141 E-mail: [email protected] All rights reserved. No part of this book may be reproduced in any form or by any means, without permission in writing from the publisher. Printed in the United States of America 10 9 8 7 6 5 4 3 2 1 ISBN: 0-13-476904-X Prentice-Hall International (UK) Limited, London Prentice-Hall of Australia Pty. Limited, Sydney Prentice-Hall of Canada Inc., Toronto Prentice-Hall Hispanoamericana, S.A., Mexico Prentice-Hall of India Pte. Ltd., New Delhi Prentice-Hall of Japan, Inc., Tokyo Simon & Schuster Asia Pte. Ltd., Singapore Editora Prentice-Hall do Brasil, Ltda., Rio de Janeiro Contents PREFACE . vii 1. INTRODUCTION . 1 CODING . 1 Talking Programs . 3 GOOD SOFTWARE. 4 STYLE . 6 WHAT’S MISSING? . 7 BOOK ORGANIZATION . 9 ADOPTION . 9 LEARNING A PATTERN .
    [Show full text]