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.109.57.200.81.mobile.3.dk!not-for-mail From: Jacob Sparre Andersen Newsgroups: comp.lang.ada Subject: Re: How to get Ada to ?cross the chasm?? Date: Sun, 29 Apr 2018 18:14:03 +0200 Organization: JSA Research & Innovation Message-ID: <87efiyuh10.fsf@jacob-sparre.dk> References: <1c73f159-eae4-4ae7-a348-03964b007197@googlegroups.com> <87k1su7nag.fsf@nightsong.com> <87po2la2qt.fsf@nightsong.com> <87in8buttb.fsf@jacob-sparre.dk> <87wowqpowu.fsf@nightsong.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: franka.jacob-sparre.dk; posting-host="109.57.200.81.mobile.3.dk:109.57.200.81"; logging-data="19006"; mail-complaints-to="news@jacob-sparre.dk" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.4 (gnu/linux) Cancel-Lock: sha1:uCNqN8qXh4EKVa0m1GHU2HKBiZQ= Xref: reader02.eternal-september.org comp.lang.ada:51800 Date: 2018-04-29T18:14:03+02:00 List-Id: Paul Rubin writes: > Jacob Sparre Andersen writes: >>> I couldn't imagine writing a substantial server app entirely in Ada. >> Why not? (That's what I spend most of my time doing.) One of the two >> projects I'm working on now is already ~1M lines of Ada in the server. > > Why write 1M lines of Ada when you can write 1/10th as much code in a > HLL? Because you then would have to maintain that HLL in a backward compatible form for 30+ years. And who says it can be written in 1/10th as much code in another language? (I guess it can, but only because we are pretty sure we can do the same in Ada too.) > Why worry about potential integer overflow every time you do > arithmetic? Better worry about it, than getting incorrect results. > How much of your effort goes into manual memory > management? 0! > Why not use a language and runtime that handles all that for you > automatically? But we do. > And if your app runs on one cpu, what does Ada's solidity get you > under Joe Armstrong (designer of Erlang)'s dictum that a > non-distributed system can never be reliable, since the power cord is > a single point of failure? Conversely, if your app is distributed, > what does Ada get you that normal failover machinery doesn't? Long-term survivability and maintainability. Can you point me to any application written in a HLL, which is still maintainable 30 years after its first deployment, and after two changes in compiler/run-time providers? >> The other one... The R and Python parts will be carefully shielded >> from the users and the internet by the Ada part. > > That sounds like a much more practical approach. The R and Python parts are mostly there because we get some of the development-time for free that way. The Ada part is there to ensure separation, and to check that the results from the R and Python calculations make sense (if they make sense, we don't care if the code did what the programmer intended). Greetings, Jacob -- "The generation of random numbers is too important to be left to chance"