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: 114809,b87849933931bc93 X-Google-Attributes: gid114809,public X-Google-Thread: 1108a1,b87849933931bc93 X-Google-Attributes: gid1108a1,public X-Google-Thread: 103376,b87849933931bc93 X-Google-Attributes: gid103376,public From: Robb Nebbe Subject: Re: OO, C++, and something much better! Date: 1997/01/23 Message-ID: <32E7253E.4058@iam.unibe.ch>#1/1 X-Deja-AN: 211654026 references: <32DF458F.4D5C@concentric.net> <32DF94DC.6FF8@watson.ibm.com> <32DFD972.37E4@concentric.net> <5bphq4$5js@mulga.cs.mu.OZ.AU> <32E05FAF.47BA@concentric.net> <5buodl$bci@boursy.news.erols.com> <32E2FEC7.2F7B@concentric.net> <5bvncj$gqg$1@A-abe.resnet.ucsb.edu> <32E47B4B.56D9@concentric.net> <5c4fr0$27j@mulga.cs.mu.OZ.AU> <32E67751.4AFC@parcplace.com> content-type: text/plain; charset=us-ascii organization: Dept. of CS, University of Berne, Switzerland mime-version: 1.0 newsgroups: comp.lang.c++,comp.lang.smalltalk,comp.lang.eiffel,comp.lang.ada,comp.object x-mailer: Mozilla 3.01 (X11; I; SunOS 5.4 sun4m) Date: 1997-01-23T00:00:00+00:00 List-Id: Eric Clayberg wrote: > > ... The more "rules" a language has, the more > involved its syntax, and the more draconian its type system, then the > more type errors are likely to be created by the developer and then > caught by the compiler. This shows a fundamental misunderstanding about what a type system is and what it does. Typing is a property of how you set up your model, not of which language you use to code it. A type system does have some influence on how a model can be expressed but a good object-oriented type system places few constraints on how you set up the model. Currently there are some advantages to some kind of dynamic scheme but I would expect these advantages to disappear as static type systems improve. > In a language like Smalltalk which has an > absurdly simple, consistent syntax, and which has a very open-mined > concept of "type", very few type errors are ever created to begin with > and thus very few actually exist to be found. The *few* real type errors > that are created tend to be caught almost immediately by Smalltalk's > superb debugging facilities. Speaking of hubris ... you can argue that people tend to code differently in Smalltalk thus avoiding the possibility of type errors is a few cases but just asserting that their is something magical about Smalltalk is silly. Obviously the lack of static typing in Smalltalk does not make it unsuitable for software development, a fact that some people (probably those who have never programmed in Smalltalk) seem to have trouble grasping. However, dynamic typing is mostly a stop-gap measure since static type systems aren't quite up to snuff yet. I expect static type systems to steadily improve until there is no longer any reasonable justification for dynamic typing but we aren't there yet in my opinion. Robb Nebbe