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=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,c406e0c4a6eb74ed X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news2.google.com!proxad.net!news.cs.univ-paris8.fr!informatik.uni-bremen.de!cs.tu-berlin.de!uni-duisburg.de!not-for-mail From: Georg Bauhaus Newsgroups: comp.lang.ada Subject: Re: ADA Popularity Discussion Request Date: Mon, 13 Sep 2004 12:43:22 +0000 (UTC) Organization: GMUGHDU Message-ID: References: <49dc98cf.0408110556.18ae7df@posting.google.com> <413e2fbd$0$30586$626a14ce@news.free.fr> <4140b5cc$0$17701$626a14ce@news.free.fr> NNTP-Posting-Host: l1-hrz.uni-duisburg.de X-Trace: a1-hrz.uni-duisburg.de 1095079402 9020 134.91.1.34 (13 Sep 2004 12:43:22 GMT) X-Complaints-To: usenet@news.uni-duisburg.de NNTP-Posting-Date: Mon, 13 Sep 2004 12:43:22 +0000 (UTC) User-Agent: tin/1.5.8-20010221 ("Blue Water") (UNIX) (HP-UX/B.11.00 (9000/800)) Xref: g2news1.google.com comp.lang.ada:3669 Date: 2004-09-13T12:43:22+00:00 List-Id: jayessay wrote: : Georg Bauhaus writes: : :> Kevin Cline wrote: :> :> : Explicit static typing ala Ada and C++ definitely has a cost, :> :> Yes. (And you get something in return, too?) : : In most domains, the answer is "not much". The cost is _way_ more : than the ROI. I know I'm nagging, but still, could you be a bit more specific about what you mean by "most domains", and "not much"? :> Hm. Brittle? Your example could be a design issue. In Ada you could have :> written : : Open your mind a bit more - don't concentrate on the particular : example and think about what it would mean to have the sort of : flexibility to track changing requirements (indeed to realize new : requirements) that Kevin is talking about. (Could you give a typical example of the kind of change in requirements you have in mind?) I did, and I agree that requirements pattern matching can be written more quickly by writing melleable interfaces, and making ad hoc changes at every level of a system, tested. I don't see how adding static type checking makes a program brittle. Type mismatches may break the compilation run, sure. But is a program therefore brittle? When in the example type Direction is (North, East, South, West); the requirements change, and now we have type Direction is (North, East, South, West, Up, Down); then refactoring can be guided by static type analysis pointing out missing cases for example (in ML terms: exhaustive pattern matching finds definitions which need to be extended to match the new requirements, absent wildcards). Now ideally there is no need to test whether all values in the type Direction are handled in functions (etc.) with an argument of type Direction. -- Georg