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!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: More reliable compilers (of some programming langauges) than GNAT Date: Thu, 23 Nov 2017 09:22:12 +0100 Organization: Aioe.org NNTP Server Message-ID: References: <2fca0f38-833e-485d-9a38-febcdd507bb1@googlegroups.com> NNTP-Posting-Host: MyFhHs417jM9AgzRpXn7yg.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 X-Notice: Filtered by postfilter v. 0.8.2 Content-Language: en-US Xref: feeder.eternal-september.org comp.lang.ada:49092 Date: 2017-11-23T09:22:12+01:00 List-Id: On 23/11/2017 01:35, Randy Brukardt wrote: > A "shared library" is not a "basic construct"; indeed, it is not an Ada > construct at all so of course it has nothing to do with the quality of the > *Ada* compiler. Mot of the compiler, rather of the linker. > Indeed, many Ada compilers don't bother to support "shared > libraries" GNAT supports shared libraries, not worse than Visual Studio does. There is an issue with Windows DLL which must be addressed. When tasks are used explicitly or implicitly Ada RTL initialization will hang if done from PROCESS_ATTACH. > as they are a rather useless construct that mainly serves to > introduce bugs (if the shared library gets updated out of sync with > the rest of the program). There is no any alternative to shared libraries. The problems lie mostly with loaders, linkers, differences in design (like having data in the library or not). The problem of versioning, especially of elaborated interfaces like OO, exists no matter how you link your stuff. Ada with SPARK could provide a huge qualitative step forward here, but that would also require total overhaul of existing linkers which are really remnants of 70's. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de