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!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!gegeweb.org!news.ecp.fr!news.jacob-sparre.dk!loke.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Running a preprocessor from GPS? Date: Wed, 29 Jul 2015 14:57:36 -0500 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: References: <2df4698f-4c8e-457c-822d-209cb2f8ab5e@googlegroups.com> NNTP-Posting-Host: rrsoftware.com X-Trace: loke.gir.dk 1438199858 32466 24.196.82.226 (29 Jul 2015 19:57:38 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Wed, 29 Jul 2015 19:57:38 +0000 (UTC) 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.6157 Xref: news.eternal-september.org comp.lang.ada:27146 Date: 2015-07-29T14:57:36-05:00 List-Id: "Simon Wright" wrote in message news:lywpxjxxza.fsf@pushface.org... > "Randy Brukardt" writes: > >> (4) Real Ada Programmers don't use Ada 2012 conditional expressions >> (unless they need the expression to be static). > > Why not, specially? > > I haven't used them often, but don't see the problem with > > return Tick * Time_Base ((if System.FreeRTOS.Tasks.In_ISR > then xTaskGetTickCountFromISR > else xTaskGetTickCount)); Verbosity, for one. Second, the hiding of the control structure. In general, it's better to write the control structure out in a subprogram body, it's a lot more readable. Note that I'm not (quite) a real Ada programmer by my somewhat tongue-in-cheek definition -- I'll write whatever is easiest for local code (so long as it's implemented in Janus/Ada, so that rules out conditional expressions for the moment). Of course, the development roadmap for Janus/Ada will lead one to using a lot of conditional expressions, as it ought to be able to inline expression functions (Janus/Ada currently has no inlining). That will encourage code to be written using expression functions, and of course the "body" of an expression function is an expression, thus only conditional expressions can be used. So I'll probably end up getting farther from my ideal based on that. Randy.