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: 109fba,b87849933931bc93 X-Google-Attributes: gid109fba,public X-Google-Thread: f43e6,b87849933931bc93 X-Google-Attributes: gidf43e6,public X-Google-Thread: 114809,b87849933931bc93 X-Google-Attributes: gid114809,public X-Google-Thread: 103376,b87849933931bc93 X-Google-Attributes: gid103376,public X-Google-Thread: 1108a1,b87849933931bc93 X-Google-Attributes: gid1108a1,public From: Brian Rogoff Subject: Re: OO, C++, and something much better! Date: 1997/01/27 Message-ID: #1/1 X-Deja-AN: 212617749 references: <32DF458F.4D5C@concentric.net> <32DF94DC.6FF8@watson.ibm.com> <32DFD972.37E4@concentric.net> <32E4FC5B.242C@watson.ibm.com> <32E6862D.608B@parcplace.com> <32E788D4.4B91@watson.ibm.com> <32E9F63A.159D@rase.com> <32ECDB2F.2447@watson.ibm.com> content-type: TEXT/PLAIN; charset=US-ASCII mime-version: 1.0 newsgroups: comp.lang.c++,comp.lang.smalltalk,comp.lang.eiffel,comp.lang.ada,comp.object,comp.software-eng Date: 1997-01-27T00:00:00+00:00 List-Id: On Mon, 27 Jan 1997, Norman H. Cohen wrote: > Tansel Ersavas wrote: > > > In Smalltalk, I am internally testing a tool that captures and embeds > > type checking automatically during development, and strips that > > information when you request. This way I can actually apply not only > > type checking, but few other checks that increase reliability > > dramatically, while not compromising flexibility. > > You seem to agree with me, then, that Smalltalk plus static consistency > checking (provided in this case by extra tools) is more valuable than > Smalltalk without static checking. You also seem to agree that type > checking is an important form of consistency checking. A lot of really interesting work on this is being done in the Scheme community, under the name "soft typing". The basic idea is to use ML style type inferencing on dynamic languages to statically determine types in most cases, or, when this fails, to insert run time checks or warn the programmer that there is a possible type error at that point in the software. Of course, compilation time will be increased by doing this, and I haven't seen any data about how well this scales to very large programs. > > I have tried to focus my comments in this thread on the value of strong > typing in general. Although I have used Ada as an example of a > strongly-typed language, it is not my intent to engage in Smalltalk > versus Ada language wars. > > And you can never do things in Ada to increase flexibility dramatically. > > No, if you wanted, you could achieve all the weakness of the Smalltalk > type system in an Ada program by declaring one type, Object, and using > it as the root of all tagged type derivations. In order to prevent further decline of the discussion into a language war, a term like "weakness of the Smalltalk type system" should be replaced by something less inflammatory, though I realize that you are not using "weak" in a pejorative but rather in a technical sense. In any case, I think it would be rather difficult to graft something like metaclasses (i.e. something like the CLOS MOP) onto Ada. I know there has been some work in adding such things to C++ and BETA, but I haven't really studied it. It does seem that dynamically typed languages are a more suitable vehicle for these sorts of reflective facilities. -- Brian