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,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.107.6.80 with SMTP id 77mr8850303iog.11.1437154269054; Fri, 17 Jul 2015 10:31:09 -0700 (PDT) X-Received: by 10.182.24.35 with SMTP id r3mr198049obf.38.1437154269034; Fri, 17 Jul 2015 10:31:09 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!peer03.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!qs7no6876589igc.0!news-out.google.com!t2ni13541igk.0!nntp.google.com!qs7no6876580igc.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Fri, 17 Jul 2015 10:31:08 -0700 (PDT) In-Reply-To: <084c0dc7-ae74-4cb8-b1fe-78f42de94291@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=97.123.230.87; posting-account=lJ3JNwoAAAAQfH3VV9vttJLkThaxtTfC NNTP-Posting-Host: 97.123.230.87 References: <084c0dc7-ae74-4cb8-b1fe-78f42de94291@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <494f7dc4-12a9-4dc9-96d9-0985a00b00c5@googlegroups.com> Subject: Re: Weakness of Ada is expensive / security / etc. ? Anything else? From: Shark8 Injection-Date: Fri, 17 Jul 2015 17:31:09 +0000 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Received-Bytes: 3639 X-Received-Body-CRC: 3603412009 Xref: news.eternal-september.org comp.lang.ada:26854 Date: 2015-07-17T10:31:08-07:00 List-Id: On Friday, July 17, 2015 at 4:19:30 AM UTC-6, Trish Cayetano wrote: > Hi, here is what I have noted as strengths and weaknesses of Ada. Let me = know for any corrections and if you have anything to add... Thank you! >=20 > Strength and weaknesses of the language=20 > Strength > - Semantics - well defined even in error situations And the "Bounded Error" option in the spec. (Which is essentially a step be= tween "well-defined and specified behavior" and "undefined behavior".) > - Strong typing - can be used to reduce the scope (and cost) of analysis This should not be underestimated; you can protect (e.g.) a database agains= t bad input with strong typing; you can enforce validity-checks and formatt= ing with it too. > Weaknesses > - Ada complete language is too complex. True or False? If true, how? False; while it's a 'big' language it's not difficult and full of gotchas -= - if you use it regularly (and 'idiomatically') for a couple of years you'r= e not going to be surprised by much... whereas with C++ you constantly see = experts with decade-plus experience being surprised. > - Ada requires expensive compilers for large systems=20 Semi-false -- This depends on what you're doing. FSF-GNAT is free, but come= s with GPL; AdaCore-GNAT is also free but comes with a DIFFERENT GPL. Other= s like RR-Software or IBM's (they bought Rational) will have a different li= cense. > - Ada lacks that web presence greatly. comp.lang.ada is the only location= on the internet with an active Ada community. Semi-true -- others have given places where the Ada programmers hang out; b= ut these places usually have an excellent signal to noise ratio. (There cou= ld stand to be more tutorials and such.) > - How is security a weakness? (Strength can be a weakness too?) It's not. Security is something you have to consider while designing the pr= ogram; and having all the security in the world available means absolutely = nothing if you don't use it. -- Ada *does* make a lot of security-related t= hings easier with its strong-typing and, funnily enough, with its timing me= chanisms. (You can [theoretically] eliminate the timing side-channel attack= by marking the "time+maximal operation duration", do the operation, execut= e a "delay until X" [where X is the calculated time] and now the timing sid= e-channel doesn't exist because that operation executes with constant time.= )