Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!odi!dlw From: dlw@odi.com (Dan Weinreb) Newsgroups: comp.object Subject: Re: Do we really need types in OOPL's? Message-ID: <1990Oct10.042554.1348@odi.com> Date: 10 Oct 90 04:25:54 GMT References: <0yw10qr@Unify.Com> <60700003@inmet> <1426@media01.UUCP> Reply-To: dlw@odi.com Organization: Object Design, Inc. Lines: 56 In-Reply-To: pkr@media01.UUCP's message of 9 Oct 90 09:33:22 GMT In article <1426@media01.UUCP> pkr@media01.UUCP (Peter Kriens) writes: I can't stop myself from entering the discussion. I have been following it for quite some while now and it seems that most people live in the type camp or the dynamic camp. Although you've been following it, it appears that you have not paid attention to everything that has been said. For one thing, you're using the terms "typed" and "typeless" to mean "statically typed" versus "dynamically typed". You could also say "language with typed variables" versus "languages with typeless variables". But the latter are not typeless languages. 2. A typed language gives you the freedom to make more errors, of which only some are catched by the compiler. Your single example to support this statement simply shows one possible error of all possible errors that a programmer can make. And it really says something about the advantages of object-oriented programming, not about "typeless" languages; C++ handles this correctly. 3. A strict typed compiler does not allow you to skip a thorough test. Yes. 4. The result of an error in a typed language is usually disastrous Again, you seem to have one example about some computer you used somewhere that crashed. This is not what happens in most computers. More important, this is a function of the language implementation, not the language definition. 5. A typed language forces you the write and maintain the same functionality multiple times. No, only a poor statically typed language. Better ones, like C++ as currently defined including the parameterized type facility, handle this properly. 6. A typed program makes your runtime a little faster but your development a lot longer. This is entirely a statement about the language implementation, not the language definition. It is possible to have an implementation of a statically typed language that provides an incremental environment. You can buy this right now from Symbolics (C, Pascal, Fortran) or Sabre Software (C, and apparently soon C++). 7. With a typed language language the development cycle time is exponantially proportional with the project size and a dynamic language it is almost independent from project size. Same comment as 6.