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!nntp-feed.chiark.greenend.org.uk!ewrotcd!newsfeed.xs3.de!io.xs3.de!news.jacob-sparre.dk!franka.jacob-sparre.dk!pnx.dk!.POSTED.rrsoftware.com!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Teaching C/C++ from Ada perspective? Date: Fri, 6 Jul 2018 14:01:04 -0500 Organization: JSA Research & Innovation Message-ID: References: <856189aa-fa00-4960-929e-174f352310ad@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> Injection-Date: Fri, 6 Jul 2018 19:01:04 -0000 (UTC) Injection-Info: franka.jacob-sparre.dk; posting-host="rrsoftware.com:24.196.82.226"; logging-data="30371"; mail-complaints-to="news@jacob-sparre.dk" X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.7246 Xref: reader02.eternal-september.org comp.lang.ada:53702 Date: 2018-07-06T14:01:04-05:00 List-Id: "Maciej Sobczak" wrote in message news:f7023d0f-3130-4214-a84f-bc682ebf69f8@googlegroups.com... >> Take Janus/Ada, for example. The source code lives wherever the >> programmer >> wants it, it's not in the library > > OK, but since I don't have access to this compiler, is it possible to > complete your description with the explanation of what will happen when > the equivalent exercise is performed in this environment? > > I mean - when somebody: > - adds a whitespace to a file with package spec P, or > - adds a new type definition to the same file. Janus/Ada doesn't make any optimizations in this area. It's not worth the effort on modern machines, at least with the system sizes that I'm used to. The build tool (which determines the proper order of compilation) is quite a bit slower than the compiler (since it reads - at least in part - all of the source every time it is run) and often I'm waiting for it to finish moreso than waiting for the compiles. > What will need to be reparsed or recompiled or relinked? Whatever the build tool tells you. (Think something like Gnatmake if you need an example.) It's possible to compile individual files but it is rarely done - it requires more human work and is much more likely to fail for some reason. >> configuration management needs to be integrated with the IDE > > What if my IDE is a plain text editor and I intentionally don't have all > possible tools glued to it? > Do you mean (and I think that Dmitry shares your point) that Ada > discourages me to use a regular text editor to edit source files? I've never in my life used an IDE other than to see what others are doing. Plain text editing is fine if you want that. Even the Claw Builder doesn't include any editor since it seemed important to let programmers use whatever they are familar with to build code, rather than putting them into some necessarily limited environment. However, the vast majority of programmers have no clue about how to do anything for themselves anymore, and you have to provide a IDE that does pretty much everything for them if you want customers. Such a system has to include configuration management (I'd suggest via a plugin or similar scheme, rather than insisting on a particular system). Going in and out of a large IDE doesn't really make sense (it's very different than regular editing in that way). Randy.