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 Path: border1.nntp.dca1.giganews.com!nntp.giganews.com!goblin2!goblin.stu.neva.ru!newsfeed1.swip.net!81.169.171.211.MISMATCH!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: Georg Bauhaus Newsgroups: comp.lang.ada Subject: Re: C versus Ada (once again :-)), was: Re: F-22 ADA Programming Date: Sat, 01 Nov 2014 14:35:59 +0100 Organization: A noiseless patient Spider Message-ID: References: <220f97ab-9aa2-4961-b140-2b271c3ab99a@googlegroups.com> <99759c3f-a35f-4745-a8fd-2fb6ab6fb1aa@googlegroups.com> <48dc1630-8e7d-4e29-8bdd-53d74932d9d0@googlegroups.com> <88a7f98c-55c2-4b5f-8a9d-c8b7512781c8@googlegroups.com> <50cacb19-5d0b-4dbe-b91b-0b3b462913d6@googlegroups.com> <07d0ad94-160b-4873-ba1b-403e8c0bc420@googlegroups.com> Reply-To: nonlegitur@futureapps.de Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Sat, 1 Nov 2014 13:35:52 +0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="60dc2005851f7f7a3ec713c5b395696e"; logging-data="16710"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/PfTtaHi+f7sNZfkBT8YMpuAE9doTnTJ8=" User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 In-Reply-To: Cancel-Lock: sha1:jddzxt+b3x60ACLrMBg990BObcE= Xref: number.nntp.giganews.com comp.lang.ada:190264 Date: 2014-11-01T14:35:59+01:00 List-Id: On 01.11.14 04:03, Simon Clubley wrote: > We keep C because the C compilers generate code to run on everything > out there - and there are always options for each target which don't > restrict what you can do with the generated code unlike GNAT GPL. Then why not use FSF GNAT? Because it is not as convenient as a fully supported compiler? There is more, though. I am abbreviating by using "freeware" notions such as no-cost, or <100 price range, no run-time cost, and no tit-for-tat license. I could have used "gift". Then, first, many C compilers are not freeware in commercial or closed source projects. Second, there are fewer freeware run-times for Ada than there are freeware run-times for C. But, of both there are few. There is no freeware Ada for iOS right now. There is no workable freeware Ada for Android right now. This should cover the mass market of computers for entertainment, communication, and contacts, excluding gaming. Then, embedded. ARM, AVR, ... does a car count as a development target of the kind you mention, where there are, allegedly, freeware C implementations that don't restrict in any way? Side note: AVR chips are usually programmed using GCC. > When you are building foundation libraries, which by definition are > intended to run on a wide range of platforms/targets, you need to use > an implementation language which is freely available across that wide > range of platforms/targets. Which, as outlined, isn't necessarily C, is it? If you wanted Ada to target AVR, and be co-operative, just Export subprograms with convention C, or Standard, and everyone can work with them. > Instead we should consider the possibility of > a half-way language which is better (safer) than C but not as strict > as Ada and would have ease of implementation/porting as one of it's > goals. Imagine C++ without int, without char, and without C-pointers (see MISRA for int,see JSF++ for the latter). Now replace this part of C++'s foundation with a "modern" type system that is informed of the benefits of Ada's type system as well as of others that allow e.g., saturating arithmetic as part of the type system.(*) C++ should be an interesting formalism if it has tight integration of everything in the language. If they can get this replacement in the foundations working, everyone can. __ (*) No! Noo! NOT a library. No. NO!! The. Type. System!!! Damn!