Newsgroups: comp.lang.smalltalk
Path: cantaloupe.srv.cs.cmu.edu!europa.chnt.gtegsc.com!howland.reston.ans.net!news.sprintlink.net!noc.netcom.net!netcomsv!uu3news.netcom.com!netcomsv!uucp3.netcom.com!medicus!billf
From: billf@medicus.com (Bill Foote)
Subject: Re: is Smalltalk a safe language ?
Message-ID: <1995Jun21.175903.8977@medicus.com>
Organization: Medicus Systems Corp.
References: <3rmc29$jce@rc1.vub.ac.be> <3rr079$k24@news.wwa.com> <2119685184@to.mobil.com>
Date: Wed, 21 Jun 1995 17:59:03 GMT
Lines: 38

In article <2119685184@to.mobil.com> curt@to.mobil.com (Curt Welch - RDR) writes:
>>>The other big un-safe problem with Smalltalk is the fact that it does
>>>no type checking at development time - so it's easy, and very common,
>>>for ST code to blow up with a "method does not understand" message.
>>>I'd like to see this fixed with strong type checking.

I think you mean "static type checking".  cf. the comp.object FAQ
(and *numerous* recent flame wars :-)

>In comp.lang.smalltalk, "Charles L. Robinson" <clr@pai.com> writes:
>>Curt, your ideas on attempting to make Smalltalk safe are appealing;
>>however, I am afraid that I must debate with you on strong type checking.
>>It seems to me that it just gets in the way of polymorphism.
>
>I'm not convenced of this yet (though I certanly do see potential problems).
>I'm thinking that strong typing, when done correctly, simply limits
>polymorphism to the way it should be used.

There is an argument for that, *but*:

If you have static type checking, you had *better* have some form of MI
(multiple inheritance), to at least let you inherit protocols.  (Multiple
inheritance of implementation is less important, but multiple inheritance
of protocols in a statically typed language is IMHO crucial)

If you take Smalltalk, add static type checking, and add some form of
multiple inheritance (of at least protocols), the language you end up
with might be interesting, but it won't be Smalltalk.  It might be a
*good* language, but it wouldn't be Smalltalk.

You might want to look into Java, Eiffel, Sather, or maybe even Delphi
(well, Delphi lacks GC and protocol MI, but it's kind of fun :-)

--
Bill Foote                | Adde parvum parvo magnus acervus ecrit.
billf@medicus.com         | [Add little to little and there will be a big pile]
Medicus Systems           |    -- Ovid, via Frederick P. Brooks, Jr.
Alameda, CA USA           |
