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: Teaching C/C++ from Ada perspective? Date: Thu, 5 Jul 2018 09:37:17 +0200 Organization: Aioe.org NNTP Server Message-ID: References: <856189aa-fa00-4960-929e-174f352310ad@googlegroups.com> <2718c8d4-5f35-4fd8-a1aa-1e60069a7a5d@googlegroups.com> <39fce60c-9f56-42fb-b679-fa08810b00ee@googlegroups.com> <3701bf07-89a5-4cb0-a704-5aebb589ca79@googlegroups.com> <2f5e4ce0-94e8-4b94-9da7-045ec90a9b22@googlegroups.com> <18554067-1382-4b43-a832-2d27aa5117d7@googlegroups.com> <8dc19505-b68a-403c-a164-f1de1864f3f1@googlegroups.com> <559657f8-bbf4-4a70-9449-f85bc98d6c6b@googlegroups.com> <590d4672-4aef-42a5-823c-57ccd291115a@googlegroups.com> <8de6b5ba-25ab-4d46-b80c-1544f43a9b05@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 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 X-Notice: Filtered by postfilter v. 0.8.3 Content-Language: en-US Xref: reader02.eternal-september.org comp.lang.ada:53639 Date: 2018-07-05T09:37:17+02:00 List-Id: On 2018-07-05 07:49, Maciej Sobczak wrote: >>> You can implement the same concept in some other way, for example with the use of relational database as a backend, but AARM still does not define the functionality of such library or why it would be any better. It might as well be as dumb as a plain set of files. >> >> Why should it? > > Because AARM does not put any requirements on it. It defines compilation units and their relationships, which quite enough. >> The language should merely offer a possibility to >> implement and maintain such a library in a reasonable and effective way. > > Both Ada and C++ do. Both languages equally fail to deliver on this point. I don't see how it could be accomplished in any reasonable way with header files and preprocessor. >>> And ironically, for a large-scale system, I would not trust anything else than a dumb set of files. >> >> Huh, did you checked your file system recently? > > It's not about storage, it's about modularity of the tool set. Compiling is not the only thing I want to do to with the source code. I need reliable configuration management, too, and most often than not, it is imposed on me independently on the language. Like, say, I'm told to use Git. It does not matter whether I like Git or not, but what does matter to me is whether I can use it seamlessly. I need to run an independent static analysis tool, too, and if my source lives in some nebulous "library" and needs to be regenerated only so that I can run SA on it, then not only this is a burden, but also raises tool qualification issues in the rigorous environment of safety critical processes. I also need a UML tool to reverse-engineer the model, a code generation scripts for some selected parts of the code, and so on, you can extend this story indefinitely. You describe exactly the scenario how not to do a tool chain. > All this is possible only when the tools are based on the same common denominator, which is a set of dumb files. The dumber, the better. Yes. But the correct sentence is: this mess is economically viable because of other mess. Tools feed on design errors, it is an illness. > And after so many decades of language development the leading Ada compiler fails to deliver on the "semantic" promises in the area of managing large (4 short files, actually...) codebase. Pretty much impressing considering AdaCore's size. >> If AdaCode had so much time and so many caffeinated >> workers, just 1% of those, then GNAT would have a library and everything >> else! > > Perhaps. But it didn't and it doesn't. And today, when I'm trying to convince people to use Ada, I will refer to many other arguments, but not the one that Ada will be a silver bullet for solving their large-scale physical design issues. Such arguments fail even the basic, superficial scrutiny. Sure, there is no alternative history. But the argument is good enough to counter equally fallacious - why GNAT does not do this or that. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de