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=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Ivan Levashev Newsgroups: comp.lang.ada Subject: Re: State of the compiler market Date: Mon, 27 Feb 2017 16:56:35 +0700 Organization: A noiseless patient Spider Message-ID: References: <1813789782.509760763.093426.laguest-archeia.com@nntp.aioe.org> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1251 Content-Transfer-Encoding: 8bit Injection-Date: Mon, 27 Feb 2017 09:58:48 -0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="46835f7296199aaa1bd034d723b693ad"; logging-data="11549"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/d0IPZ75FTJtmuESGEEj2Dyn6HB1FXb6U=" User-Agent: Mozilla/5.0 (Windows NT 5.2; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0 In-Reply-To: Cancel-Lock: sha1:clF31A6Gi1M8IPbOQa5TDVnW124= Xref: news.eternal-september.org comp.lang.ada:33429 Date: 2017-02-27T16:56:35+07:00 List-Id: 26.02.2017 17:14, Dirk Craeynest пишет: > Action for all: talk to your favorite Ada95/2005 vendor, and ask them > about their plans to upgrade to newer Ada features! For AdaMagic it means AdaCore, and AdaCore means there is no hope. Elbrus was designed in Soviet times, and there was a great Ada-Elbrus development system. The Elbrus itself matches Ada design. It has a tagged memory design and a protected mode being more protected than what it means on x86. In addition to common system tables there is a module descriptor table, and data types are encapsulated by hardware. Memory can only be read by a pointer, and a pointer can only be obtained by performing valid operations. Some invalid operations are possible, but they break the tag, and tagged value becomes just a number, not usable as pointer anymore. In particular, data type can be restricted to be operated by a particular module, and other modules just can't get into. Hopefully, Elbrus survived all the tough past-USSR times, but it only comes now with FORTRAN, C and C++ compilers, so targeting Elbrus is only possible via Ada-to-C kind of translator (licensed to MapuSoft by AdaCore). Which still only has this shameful Method (Object) syntax. Elbrus is similar to CHERI, but CHERI is an academical stuff, and Elbrus is already being delivered to some work places where technological independence is a must. Also, CHERI assumed C from the beginning, while in Soviet times there was no GOST for C, and effectively C-specific issues were not considered. So it's a CPU for Ada, similar to Rational R1000. CPU for Ada without corresponding modern Ada compiler. Asm.js and WebAssembly is another reason to use Ada-to-C translation and be ashamed of Method (Object) syntax. And have no hope for things to ever improve. Best Regards, Ivan Levashev, Barnaul -- If you want to get to the top, you have to start at the bottom