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.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,a0be06fbc0dd71f1 X-Google-Attributes: gid103376,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news4.google.com!feeder1-2.proxad.net!proxad.net!feeder2-2.proxad.net!newsfeed.arcor.de!newsspool1.arcor-online.net!news.arcor.de.POSTED!not-for-mail From: "Dmitry A. Kazakov" Subject: Re: The future of Ada is at risk Newsgroups: comp.lang.ada User-Agent: 40tude_Dialog/2.0.15.1 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Reply-To: mailbox@dmitry-kazakov.de Organization: cbb software GmbH References: <20071229040639.f753f982.coolzone@it.dk> <13oe680qard6u2d@corp.supernews.com> <47887709.9030107@obry.net> Date: Sat, 12 Jan 2008 11:47:18 +0100 Message-ID: NNTP-Posting-Date: 12 Jan 2008 11:47:18 CET NNTP-Posting-Host: 7bd1aa3d.newsspool4.arcor-online.net X-Trace: DXC=eQM]QBK;VOP[7Non7UCi8U4IUK\BH3YR8ljd^NMJQ:TDNcfSJ;bb[UIRnRBaCd On Sat, 12 Jan 2008 21:11:30 +1100, Brian May wrote: >>>>>> "Pascal" == Pascal Obry writes: > > >>> On the contrary, this [user-defined numeric types] more often than > >>> not obfuscates, particularly for future maintainance purposes. > >> > >> On the contrary, properly used they catch numerous development > >> errors at compilation (that with the "everything's Integer" approach > >> become run-time errors, often remaining in the delivered system), > >> reducing the need for future maintenance. That's the point of using > >> a strongly typed language over something like C. > > Pascal> Agreed 100%, I don't even see a single argument to state the opposite. > > They require careful design. If abused, e.g. if you use two many > types, you end up constantly casting from one type to another, and you > miss the benefits. This is an issue where the language should have some mercy. Let the programmer have started with two different types, and I think there is a consensus in c.l.a that this must be the starting point. Then he notices that sometimes he needs them transparently converted. At this point instead of redesigning the rest, which is by the way stable and, more importantly, is type-safe, he should be allowed to add an ad-hoc supertype in order to allow conversions only in the contexts where he surely needs them. Instead of that Ada will force him either to redesign or to do explicit conversions with an additional problem of distributed overhead of handling possible conversion errors. Even with well-thought and carefully designed types, it is quite common that borders between types are half transparent and that this transparency depends on the current view / context. Then all reasons of coders-vs-engineers come into play forcing "coders" to write C programs in Ada or to choose a more lax language. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de