Smalltalk Volume 2 Issue 7
Total Page:16
File Type:pdf, Size:1020Kb
The International Newsletter for Smalltalk Programmers May 1993 Volume 2 Number 7 ecognizing Smalltalk’s increasing importance as a mainstream pro- TOWARD A gramming language and acting as a large user of the language, IBM D recently proposed the formation of a standards effort within ANSI to define a Smalltalk language standard and offered a “common SMALLTALK base” strawman to start such an effort. At this time the proposal has beenQaccepted by the ANSI SPARC committee, and the formation of an ANSI STANDARD: Smalltalk committee has begun. This article focuses on technical issues regarding the common base. We have written a companion article that will appear in OBJECT MAGAZINE,which outlines TECHNICAL ASPECTS the history of the development of the common base. WHAT IS THE COMMON BASE? OF THE COMMON BASE As part of the proposal for an ANSI Smalltalk standards effort, we have con- tributed a “strawman” as the starting point for standardization. That strawman is contained in the IBM document entitled Smalhalk Portability A Common Base By R.J. DeNatale and comprises chapters 3–5 and appendices A and B from that document. * & Y.P. Shari This proposal is not our work entirely. It is the result of an 18-month-long col- laboration among five companies: IBM, Digitalk, KSC, OTI, and ParcPlace. Contenti: A purely syntactic description of Smalltalk results in a language specification that is incomplete when compared to those for languages such as C, COBOL, Features/Articles and FORTRAN. When studying the specification for a language one expects to 1 The Smalltalk standard: Technical learn things, such as how to do arithmetic, how to code conditional logic, and so aepects of the common base forth. Smalltalk syntax does not address these issues. To bring the description of by R.J. DeNatsle & YP. Shari Smalltalk up to the expected degree of completeness we must specify a number 5 Classic %nalltalk bugs of classes, such as numbers, booleans, blocks, and so on. The purpose of the by Ra@h Johnson common base is to provide a semantic description that is common to both Columns Smalltalk-80 and Smalltalk/V. We wanted to produce a specification of Smalltalk 10 %ti~ it in perspective: that covers the variety of existing implementations. This led us to specif@g the The incremental nature of design external behavior of classes without prescribing implementation. Detail differ- by Rebacce Wirfa-Brook ences between the two implementations were left out of the common base, al- 12 Getting Red: Don’t use Arrays? though we have kept careful note of these differences in the review process, and by Juanita Ewing they will no doubt be important items of discussion as the standardization effort 15 SmsIttelk kfbms: Instance specific proceeds. behavior Digitalk implementation Currently, the common base covers the following areas. (This scope might be and the deeper meaning of it all changed during the standardization process): by Kant Beok . Language syntax 18 Z6e beatof comp.lsng.smslltslk: “ Common object behavior Breeldngoutofaloop by Alarr Kni@ht ● Common class behavior Departments cmrinut-d on page 4.., . 20 Product Announcements and ● The document can be ordercdfiom your localIBM branch ofice or by credit card throughthe IBM publica- Hi@lights tionsordering number (800.879.2755). The publication number is GG24-39L13.Theprice-is$2.75 pe; copy forptinting and handling. ThashMmauc Report EDITORS’ EdHDr’s JohnPughand PaulWhite CORNER I Ckrk40nUnkwei4y&Th9ObjectPOO#a John Pugh Paul White SIGs wEtLICATlONS Aclvisoly BOmKl his month’s hot topic is standards. After many years of discussion, an ANSI Smalltalk lan- TomAtwood,ObjeoiTechnologylrmmdimml GradyBmch, guage standard is now much nearer to becoming a reality. There is little doubt that lan- RUbmI GeorgeEaewofih,O&SSI Tguages achieve an extra measure of respectability when an ANSI standard is defined for Sind Cox, lnforr@cllAgeCuilsuhirq them. Many in the Smalltalk community have long recognized this, but how do you stan- ChuckDuff,SYnmnk Ade!sGoldberg,l%mPLscs9@wIIS dardize SmaUtalk? The language itself is very small, but standardization alone—though TomLove,tisulkam valuable—does not produce a very useful result. We must standardize the class library. BwtrendMeyer,1.ss The Smalltalk class library can be thought of as an extension of the language; for example, MeilirPsge-Jonse,Wayl.mdSW- I even control structures are captured via message passing rather than hard-wired syntactic - ~~, Cem4eAirwScdIwar.3 BjsmeStrousl?up,AT&T SS4 Labs constructs. However, now we run into further trouble. There are two major dialects of DaveThomas,ObjedTechnologylrdemsdiomd Smalltalk Smalltalk-80 and Smalltalk/V. Enfin might be included as yet a third dialect, THESMMLTALKREPcwrr and by the time you read this article there maybe a fourth, SmalltalkAgents for the Mac- Edii Bad intosh. Each has classes and frameworks unique to itself particularly in the domain of user JimAnderecm,0igi4w interface classes. Even when we restrict ourselves to magnitudes and collections we are ml. Goldberg,PamPhcaSy3telm not out of the woods. Smalltalk-80 and Smalltalk/V have distinct differences both in the fled Phi!lii, KnOwwgeSyewnsCorp. MikeT&@or,Oi@slk organization of the class hierarchy and in the classes themselves. How have all these issues Oewslhofmse,Ok@ Teclmn@yJmm@nrA been addressed? Well, read the lead article written by Rick DeNatale and Y.P. Shari and Columnists you will find out. For our part, we applaud the initiative taken by IBM to promote the KentSeek, firstCks SoJtwmre standards effort and the participating vendors for putting their competitive instincts to JuanitsEwinu,o&@ one side for the benefit of the Smalltalk community as a whole. We’ll keep you informed Greg Hendey, KnwtedgeS@ermCmF.. Ed Klimee,li- &-tgi~dnEInc. as the standardization effort proceeds and hope that as many of you as possible will play a AlenKnightrl%. O&ct %+ part in the process. EricSmth, ILnoMadgaSy61em8Corp. But there’s even more news on standards. Digitalk has announced that it will make its RebeacaWti-Bmck, LX@tdk Smalltalk products interoperable with SOM, IBM’s System Object Model for0S/22.o and SIGS PllttkdonS Group, Inc. that it will also develop client-server database and development tools adhering to the data RichardP. Friedman access portions of Apple’s Virtually Integrated Technical Architecture Lifecycle (VITAL). Foun#w&GroupPuWhez In our second feature article this month, Ralph Johnson provides us with a list of clas- Art/Prductlon Kristin~Joukhedar,MmsgingEMCi sic Smalltalk bugs. He has compiled his list from the collective experiences of many expe- SUW CultiW, PilgrimRoad,Ltd.,CmabmDrechm rienced Smalltalk programmers. The list will be particularly useful to beginning Smalhalk KarenTcmgish,%oductionEdtior programmers. If you are aware of other bugs you think should be accorded “classic” sta- RobertStewart,computerSystemCmrdinatar cirCulStiOtl tus, please forward them to Ralph. His address is given at the end of the article. Srephanw.SoisJe,circUISb-1* In her column, Rebecca Wirfs-Brock passes on some more of her nine years of experi- b Mercudo,FuSiSmemManw= ence designing, implementing, and managing software projects. In this issue, she discusses Madcating/Advartislng the incremental nature of design and what distinguishes incremental design from rapid JaeonkVaieko@,MmdiskqMgr+ CMSUCWda HollyMein4zw,Adw4!&gMw-Wes4~rops prototyping. In this issue’s Getting Real column, Juanita Ewing discusses the inappropri- Helen Newling,IWxuitrmmlSalesManager ate use of arrays and how their misuse affects reusability. Kent Beck continues his discus- SSmhHS3nilt0n,Pr0m91iom Manager-%blidkns sion on instance-specific behavior, where methods can be attached to individual in- caren Pokiw, PmrdYIB -- AdmhWratton stances, as opposed to being attached only to the class. This month, Kent explores the DavidChatierpaul,AemmiingManw implementation of instance specialization in Digitalk’s Smalltalk/V for 0S/2 and contrasts JamesAmenuvor,Peokkeeper it with the ParcPlace implementation of the same concept. DylanSmh, %-id AA6+ant to the publi~hw clSkSJohnsbm,~ Mamg9r Finally, Alan Knight focuses on the thread of discussion generated on (hdY kid, Ocmlwnf!ceT=bnid Manager comp.lang.smalltalk by the following question: “I [have] always found a way to avoid this, Margherii R. Monck but I would like to know how to break away from inside a loop and return [to] the imme- Q9nemlManager diate upper level context?” We hope you enjoy this issue. ~ 7 Lm ?.lL 0 a y . :1% -—.-k --- The Smalkalk SepIIrl ( lSSN# 1056-79761 is puhlishccl 9 timm A year, every month except for the Mar/Apr, July/Aug, and Ntwlllcc comhincd issum. Published by SIGS IJ.blicaiio.s Group, 5s8 Ihoadway, New York, NY 10012 (2 1.3)274-0640. o (@yright 1993 by SIGS Publicalinm, Inc. AH rights reserved. 14rprmluc[io” of this material hy electronic tramrniuion, Wrox or any olher nm(h.d will b treaicd as a willful .iola- tion of [hc L!S Cupyrigh[ hw and is flatly prohibiwd. Malcrid may Jm rcpmduccd with express permission frnm the publishers. Mailed First (lass, 5ubscrip1io. ralcv I year, (9 issum) dmnes[ic, $45, Foreign and Canada, 590, Sin~lr cnpy prim, $8.00. POSTMASTF.IC Smd m-ldrm Fub6shemof JUIFOJMOF OWECTGUENTED P!+OGRAL+ mm, OaIECT MAGAZINE, HOTLINE m OEJECT-OWENTED cha”gm a“d subwripii.n orders tn. ‘TIIh SMW1.IAI.KREPON, S.b~riber Scrviccs, Dept. SML, P.(), Box 3000, fkwillc, NJ 07R34. Submil arli- clm to Ihc Editors at 91 Second Avenue, Ottawa. OIItmio KM 2H6 Canada. For service on current subscriptions call