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!.POSTED!not-for-mail From: "Alejandro R. Mosteo" Newsgroups: comp.lang.ada Subject: Re: Teaching C/C++ from Ada perspective? Date: Thu, 5 Jul 2018 09:43:37 +0200 Organization: A noiseless patient Spider 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> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Thu, 5 Jul 2018 07:43:39 -0000 (UTC) Injection-Info: reader02.eternal-september.org; posting-host="a4f5a6b57d5a7575f924525989cdc7a2"; logging-data="10105"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19Bd4S8Ehk0YcXMaC4ltvv7" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 Cancel-Lock: sha1:sFVUJ3PYtrL0DZrVFZpXRP1dXpo= In-Reply-To: Content-Language: en-US Xref: reader02.eternal-september.org comp.lang.ada:53640 Date: 2018-07-05T09:43:37+02:00 List-Id: On 05/07/2018 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. > And because C++ does not put any restrictions on how how this is done on the C++ side, we are again at level ground. That is, this hypothetical possibility that you described (and that no vendor cared to reap during the last 30 years) does not make Ada any better language than C++ (in this particular regard). > >> 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. > >>> 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. > 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. > > I have worked with a library-based tool some years ago, it was called PowerBuilder. I still have nightmares. At a former job they had the rule of "regenerate three times" whenever PB crashed mysteriously. Álex. > >> For multiple decades people failed to make precompiled headers working, > > 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. > >> 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. >