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=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID 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: 1108a1,b87849933931bc93 X-Google-Attributes: gid1108a1,public X-Google-Thread: 114809,b87849933931bc93 X-Google-Attributes: gid114809,public From: paul.perkins@pobox.com (Paul Perkins) Subject: Re: Static vs. Dynamic typing again (was Re: OO, C++, and something much better!) Date: 1997/01/26 Message-ID: <32ec94c5.12380906@news.ipass.net>#1/1 X-Deja-AN: 212362782 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> <32E85588.1978@parcplace.com> content-type: text/plain; charset=us-ascii organization: IPass.net mime-version: 1.0 newsgroups: comp.lang.smalltalk,comp.lang.eiffel,comp.lang.ada,comp.object Date: 1997-01-26T00:00:00+00:00 List-Id: Eric Clayberg wrote: >That's where Smalltalk really shines. All of the commercial Smalltalk >environments have fantastic cross-referencing and associated reflective >tools built in. I can get a list of all senders or implementors of a >method (either local to the hierarchy I'm in or global to the system) or >all references to a class in a second or two. The built-in cross >referencing tools come in handy all the time this way. I agree, the interactive cross-referencing features of Smalltalk environments are wonderful, much faster and better than I have seen for other languages (Microsoft C++ is pretty good, except for being slow). They do have one weakness that is related to dynamic typing: if two or more semanticly unrelated methods have the same name, you have to manually sort out the senders of the one you care about from senders of the other methods. Such name collisions get harder to avoid as the program size and project duration increase. It seems to me that either (optional) static type declarations, or namespace management features, or both, would help here. Another reason to think that some kind of declarative type feature could be useful in Smalltalk is that good Smalltalk programmers typically use naming conventions and sometimes even comments to indicate what kinds of values are expected to be bound to each variable. The idea of formalizing this just enough so that the information is available to automated tools is appealing to me. Paul Perkins (paul.perkins@pobox.com) Who are you? What do you want? Tick or Tock?