From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,b87849933931bc93 X-Google-Attributes: gidfac41,public X-Google-Thread: 103376,b87849933931bc93 X-Google-Attributes: gid103376,public X-Google-Thread: 114809,b87849933931bc93 X-Google-Attributes: gid114809,public X-Google-Thread: 1108a1,b87849933931bc93 X-Google-Attributes: gid1108a1,public From: Eirik Mangseth Subject: Re: Static vs. Dynamic typing again (was Re: OO, C++, and something much better!) Date: 1997/01/24 Message-ID: <32E8678B.4884@online.no>#1/1 X-Deja-AN: 213185912 references: <32DF458F.4D5C@concentric.net> <32DF94DC.6FF8@watson.ibm.com> <32DFD972.37E4@concentric.net> <32E4FC5B.242C@watson.ibm.com> <32E6862D.608B@parcplace.com> <32E764D0.23D9@calfp.com> <32E7A686.56D@parcplace.com> <32E7BB32.6A9D@calfp.com> content-type: text/plain; charset=us-ascii organization: United Consultants A/S mime-version: 1.0 reply-to: emangset@online.no newsgroups: comp.lang.smalltalk,comp.lang.eiffel,comp.lang.ada,comp.object x-mailer: Mozilla 3.0Gold (Win95; I) Date: 1997-01-24T00:00:00+00:00 List-Id: Richie Bielak wrote: > > Eric Clayberg wrote: > > > > Richie Bielak wrote: > > > but static typing _proves_ absence of certain kinds of errors. > > > > That's all well and good, but if the percentage of those kinds of errors > > is absurdly low ... > > That hasn't been my experience. I've used PASCAL, Modula-2 and now > Eiffel. > But that's only hearsay. > > > > > I'm actually somewhat ambivalent about static typing. I find it to be > > very useful in a language like C++ where the syntax is complex and the > > function invocation syntax makes it easy to transpose (or even leave > > out) arguments. > > What do you think about Eiffel? > > [...] > > > > > The largest Smalltalk project I worked on was well over a million lines > > of code and had 10-30 people working on it at any one time. The largest > > Smalltalk project that I worked on by myself had over 100,000 lines of > > code in it. I have personally written over 400,000 lines of commercial > > Smalltalk code (ranging from shrink-wrapped apps to mission critical MIS > > apps). > > > > I'm impressed. > > > Why do you ask? > > > > I find that static typing helps a lot on large projects. Let's say > I change one of my classes (say, I add an argument to a routine). I > change > my code and then attempt to compile. The compiler will find all the > places > where my routine is used and will complain. Even routines that > get hardly ever executed (like error handlers or end of year processing > etc). > > How do you handle this type of change in Smalltalk? How do you find > the dependancies? One approach might be (this may not be the *optimal* approach though): when in the Class Hierarchy Browser, click on the method you're about to change or have just changed, then choose the Methods menu. There you'll find a menu item called Senders. Choosing this will bring up a window displaying a list of all classes with the respective methods calling the modified method. Click on one of the class>>method entries and you'll be able to edit the code immediately. By the way, there's also a menu item called implementors which displays a list of classes implementing the method you're about to change. Anyone care to share some more light on this? > > ...richie > > P.S. When I worked in Modula-2 our applications ranged 100,000 to > 500,000 LOCs, > and the current Eiffel project I'm working on is about 700K LOC. > > -- > * richieb@netlabs.net - at home | Richie Bielak * > * richieb@calfp.com - at work | * > * Home page: http://www.netlabs.net/hp/richieb * > * "Fight software piracy, use free software!" (me) * Eirik M. /Eirik Mangseth United Consultants A/S, Oslo Office, Norway ema@uc-unitedconsultants.com "Quality Software Through Quality People" (TM) emangset@online.no /