Newsgroups: comp.lang.smalltalk
Path: cantaloupe.srv.cs.cmu.edu!rochester!udel!news.mathworks.com!news.duke.edu!news-feed-1.peachnet.edu!gatech!howland.reston.ans.net!news.sprintlink.net!malgudi.oar.net!news.erinet.com!netcom.com!milod
From: milod@netcom.com (John DiCamillo)
Subject: Re: Strong type checking...
Message-ID: <milodD5wv1B.Ior@netcom.com>
Organization: NETCOM On-line Communication Services (408 261-4700 guest)
References: <markjrD55495.GLo@netcom.com> <3ko6a1$mts@ns.oar.net>
Date: Thu, 23 Mar 1995 20:46:23 GMT
Lines: 53
Sender: milod@netcom20.netcom.com

drr@terrapin.raleigh.com writes:

>I couldn't get into netcom.com to mail this, so I am postin to the group.

>In article <markjrD55495.GLo@netcom.com>, markjr@netcom.com (Mark Roulo) writes:
>>The languages
>> that are effectively in the running are: C++, Smalltalk, and Eiffel.
>> Because this is going to be a large (250,000 - 1,000,000 C equivelent line)
>> project involving about 12 to 20 programmers, strong type checking is
>> kinda important.  So ... can anyone tell me if there is a way to:
>> 	a) Add strong type checking to Smalltalk (this method only
>> 	   takes numbers, for example, and then have all the source code
>> 	   scanned to insure that this is the case).

>Just as a curiosity, by "strong" type checking do you primarily mean "static" type
>checking? Most people do, and there is no way to support static type checking in
>Smalltalk without seriously altering the syntax of the language.

There is a strongly typed variant of Smalltalk called Strongtalk,
but I can't find a reference to it right now...

[partially correct descriptions of C++/Eiffel/Ada type systems deleted]

>> 	b) Provide statistics that show that the advantages of *not*
>> 	   needing to do your own garbage collection (free/malloc, new/delete)
>> 	   outweigh the lack of type checking from the standpoint of building
>> 	   robust applications.

Aren't you comparing apples and oranges?  Type checking and GC
are orthogonal.  Eiffel is statically typed and has a GC.  C++
can have a GC added to it (I've used a GC in C++; mixed results).
The Miranda and ML language families are implicitly typed and
have GC.  Assembly language is untyped and has no GC.  Ada is
statically typed and has no GC (that I know of).

>"Haskell vs. Ada vs. C++ vs. Awk vs. ... An Experiment in Software
>    Prototyping Productivity" by Paul Hudak and Mark Jones
>    {hudak-paul,jones-mark}@cs.yale.edu

An excellent paper.  Try:

  ftp://nebula.systemsz.cs.yale.edu/pub/yale-fp/papers/NSWC/jfp.ps

Just a general comment: choosing a language solely on the basis
of application size and type system is a bad idea.  Things like
portability, availability (of compilers and tools and programmers),
efficiency, safety, etc. are also very important.

-- 
    ciao,
    milo
================================================================
    John DiCamillo                        Pinin' for the fjords?
    milod@netcom.com                  What kind of talk is that?
