From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on ip-172-31-65-14.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-0.4 required=3.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 Path: eternal-september.org!reader01.eternal-september.org!aioe.org!MuA3i1h56C6Jxec/oPrNyA.user.46.165.242.75.POSTED!not-for-mail From: "Nasser M. Abbasi" Newsgroups: comp.lang.ada Subject: Re: Carbon Date: Fri, 29 Jul 2022 23:23:14 -0500 Organization: Aioe.org NNTP Server Message-ID: References: <877d3vnzsy.fsf@nightsong.com> Reply-To: nma@12000.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: gioia.aioe.org; logging-data="10541"; posting-host="MuA3i1h56C6Jxec/oPrNyA.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org"; User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Content-Language: en-US X-Notice: Filtered by postfilter v. 0.9.2 Xref: reader01.eternal-september.org comp.lang.ada:64165 List-Id: On 7/29/2022 8:40 PM, Paul Rubin wrote: > "Nasser M. Abbasi" writes: >> Or may be there is something else going on. > > It seems to me that it simply takes a lot more code (not just > keystrokes) to do anything in Ada, compared to other languages. Having > two files (ADS and ADB) for every module is already a nuisance. > Isn't this similar in a way to C/C++ with their header files all over the place? Also in modern Fortran, each module Fortran .f file will have an associated .mod file generated that goes with it (used by other modules to interface to it). I think having the implementation in one file and the interface in separate file is good. Otherwise, if they are both in same physical file and one changes say the implementation only, causing the time stamp on the file to change, then hard to know later if one changed the implementation part or the interface part in the file by looking at timestamps of files that changed (make will not know also, so it thinks both changed). Also having separate file for interface and implementation, allows others to program against the interface file, while someone at same time changing the implementation file without each getting in each others way. > I think there is also a very big gap between beginner-level Ada and > production-level Ada, and it's not very obvious how to bridge the gap. > C++ has tons of online docs and you can learn what you need to > gradually. Plus it is easier to navigate C++'s library ecosystem. > Alire(sp?) may help with that for Ada. I haven't used it yet. --Nasser