Newsgroups: comp.object,comp.lang.eiffel,comp.lang.c++,comp.lang.smalltalk
Path: cantaloupe.srv.cs.cmu.edu!nntp.club.cc.cmu.edu!godot.cc.duq.edu!newsfeed.pitt.edu!dsinc!spool.mu.edu!howland.reston.ans.net!news.sprintlink.net!in2.uu.net!pipeline!psinntp!psinntp!psinntp!hqda-ai!grant
From: grant@pentagon-ai.army.mil (Pete Grant)
Subject: Re: Why is one OO language more productive than another?
Message-ID: <DDxH8s.16K@pentagon-ai.army.mil>
Organization: U.S. Army Artificial Intelligence Center, The Pentagon
References: <26gT74$02p@zoe.pcix.com> <41icj1$2nda@tigger.cc.uic.edu> <26gjnv$02r@zoe.pcix.com>
Date: Sat, 26 Aug 1995 17:14:52 GMT
Lines: 44
Xref: glinda.oz.cs.cmu.edu comp.object:37540 comp.lang.eiffel:10626 comp.lang.c++:146203 comp.lang.smalltalk:27687

In article <26gjnv$02r@zoe.pcix.com> traymond@pcix.com (Terry Raymond) writes:
>In <41icj1$2nda@tigger.cc.uic.edu>, dhanley@okeeffe (David Hanley) writes:
>>traymond@pcix.com wrote:
>>: I try to use the right tool for the right problem.  Strong
>>: typing is not always the right tool.
>>
>>	I agree with "right tool right problem."  I guess I'm just not
>>understanding when strong typing is bad.  Are you infering you would
>>use strong typing for some projects?  Which ones?  On which ones would
>
>Large projects.
>
>>it be a toss-up, in your opinion?  What makes the difference?  I think
>>these answers will help me understand where you're coming from.
>
>Prototyping projects are better suited to a language that has more
>flexibility than one with strong typing.
>
As a person who develops both in Lisp and C++ for a living, I couldn't
agree with you more, Terry.  I would also like to add that I have not
found loose typing (or, more accurately, dynamic typing) to be as
serious of a problem as some would have us believe.  

In an environment such as Symbolics Genera, type errors are often
corrected "on the fly" and program execution continued with only
a minor interruption.  Compare this with a NULL pointer (a clise kin of
type error) in C++ where the program crashes, a fix is made, program
recompiled/relinked, and execution restarted.

Even in large projects with several programmers of varying skill
levels writing code, type errors just aren't that frequent.  And
when they do occur, the time saved in being able to fix the bug
and continue more than makes up for the occasional "toughie" that
makes you spend a whole day locating the culprit.

In summary, both strongly and dynamically typed laguages have their
weak and strong (yes, pun intended) points.  Neither is better than
the other in all situations.  Like was already pointed out, a
skilled craftsman selects the right tool.

Pete.
>


