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=0.1 required=5.0 tests=BAYES_05,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,4b06f8f15f01a568 X-Google-Attributes: gid103376,public From: Matthew Heaney Subject: Re: Software landmines (was: Why C++ is successful) Date: 1998/08/28 Message-ID: #1/1 X-Deja-AN: 385469905 Sender: matt@mheaney.ni.net References: <6rnh8p$dno$1@nnrp1.dejanews.com> <6rs6is$6ck$1@nnrp1.dejanews.com> NNTP-Posting-Date: Thu, 27 Aug 1998 17:51:36 PDT Newsgroups: comp.lang.ada Date: 1998-08-28T00:00:00+00:00 List-Id: dennison@telepath.com writes: > This whole line of reasoning makes me very uncomfortable, as it has a > striking similarity to the arguments I used to hear against > strong-typing. After all, a disciplined software engineer won't need > strong-typing either, right? It will just get in his way. No. Among other things, the purpose of strong typing is to prevent accidents, not get in your way. If a "strongly typed" abstraction is difficult to use, then something is wrong with the implementation of the abstraction. Saying that strong typing gets in your way is a little like saying that using a speedometer gets in your way, because you can't see how fast the wheel is rotating. All a language can do is give the programmer the tools he needs to compose abstractions. If the programmer writes bad abstractions, by misusing the type system, then it's the fault of the programmer.