From: Norman Worth <nworth@comcastNOSPAM.net>
Subject: Re: Weakness of Ada is expensive / security / etc. ? Anything else?
Date: Sun, 19 Jul 2015 20:40:50 -0600
Date: 2015-07-19T20:40:50-06:00 [thread overview]
Message-ID: <5IidnWtEWowowjHInZ2dnUVZ5v6dnZ2d@giganews.com> (raw)
In-Reply-To: <084c0dc7-ae74-4cb8-b1fe-78f42de94291@googlegroups.com>
On 7/17/2015 4:19 AM, 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!
>
> Strength and weaknesses of the language
> Strength
> - Semantics - well defined even in error situations
Yes. This is perhaps Ada's greatest strength. It is what makes Ada
safe and often what makes it reliably understandable. It is why many
errors that creep in with other languages simply can not happen in Ada.
But every Ada programmer has (fairly often) screamed at the compiler
"I didn't do that!" or "What the hell does that mean!" while staring at
an obscure error message. He then clicks in the appropriate place to
get the ARM reference and, momentarily, is even more confused. Of
course, he did make the error, and there is a sound meaning to the error
message. Despite the occasional frustration, I don't know of anyone who
seriously wants to relax the rules. Since a bit before Ada 95 it seems
to have become a serious area of study to find ways to make Ada easy to
use while keeping this strict semantic safety net.
> - Strong typing - can be used to reduce the scope (and cost) of analysis
Those of us who are used to it love it. Others really hate it. This
is a matter of training and experience. It is not always obvious how to
make strong typing work for you.
> - Quality - successfully used in many high integrity applications
> - Standardization - Ada is probably the most standardized
language in existence. This means that programs and systems can be
moved from one environment to another with little or no fuss, and they
work as expected when moved. It also means that programmers require
minimum retraining when going from one setting to another.
>
> Weaknesses
> - Ada complete language is too complex. True or False? If true, how?
It is not too complex, but it is complex. Fortunately, it is quite
modular, and you can use it effectively while learning the more obscure
or complex features. I might mention that other languages are also
becoming very complex, and they do not always share the modularity or
stright-forward and uniform style of Ada. Have you looked at the most
recent versions of Fortran and Cobol?
> - Ada requires expensive compilers for large systems
Not at all. I first used Ada (full Ada 83) on a North Star Z80
computer with a very cheap commercial compiler (RR Software). The
latest version of the language (Ada 2012) is fully supported by the free
GNAT compiler, which is available for just about all modern computers.
Even fully supported compilers are competitively priced, and the fully
supported version of GNAT (from AdaCore) is quite reasonable. These
compilers support systems of any size.
> - Ada lacks that web presence greatly. comp.lang.ada is the only location on the internet with an active Ada community.
Good point. Google "Ada language" and you will get a few more
references. But links are often out of date, and there is not much
activity. Even this forum does not see much action. The compiler
makers, like AdaCore, try to keep up some activities of their sites and
often have interesting articles and tutorials.
> - How is security a weakness? (Strength can be a weakness too?)
It isn't.
> - It is difficult to find modern and versatile development tools.
I have had Ada turned down as the development language for projects
because of this. GPS is an acceptable, if somewhat awkward, tool for
GNAT, but it pales in comparison to the tools available for C/C++.
> - It is difficult to find interfaces to standard libraries, like
Motif or the Windows GUI libraries or databases or to the standard
scientific libraries written for Fortran or C.
This can be a real problem. Most big projects rely on standard
libraries, and almost any user interface requires a GUI these days. The
interfaces often exist, but they can be hard to find. In some cases,
they are proprietary. GTKAda provides an interface to the GTK+
graphical interface routines for Linux. Unfortunately, it is hard to
use compared to Visual C++, and the documentation is difficult. GNAT
from AdaCore provides a Windows interface. (I haven't tried it.) There
is an old interface to XLib and Motif that used to work, but I haven't
seen it in years. GNAT from AdaCore has interfaces to some databases,
including an ODBC interface, but databases do not seem to be well
supported in general.
> - Programmers are reluctant to learn and use Ada because they feel
it limits their employment opportunities.
>
next prev parent reply other threads:[~2015-07-20 2:40 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-17 10:19 Weakness of Ada is expensive / security / etc. ? Anything else? Trish Cayetano
2015-07-17 10:46 ` Simon Clubley
2015-07-17 15:35 ` Trish Cayetano
2015-07-17 15:54 ` David Botton
2015-07-17 12:06 ` G.B.
2015-07-17 15:38 ` Trish Cayetano
2015-07-17 12:54 ` David Botton
2015-07-17 15:41 ` Trish Cayetano
2015-07-17 16:20 ` Patrick Noffke
2015-07-17 17:31 ` Shark8
2015-07-17 17:43 ` Simon Clubley
2015-07-17 18:39 ` Jeffrey R. Carter
2015-07-17 19:28 ` jm.tarrasa
2015-07-17 21:00 ` Pascal Obry
2015-07-17 21:53 ` Shark8
2015-07-17 22:41 ` Nasser M. Abbasi
2015-07-18 7:40 ` Trish Cayetano
2015-07-19 14:55 ` David Botton
2015-07-20 2:40 ` Norman Worth [this message]
2015-07-20 9:52 ` Serge Robyns
2015-07-20 17:35 ` Shark8
2015-07-20 19:13 ` David Botton
2015-07-20 22:12 ` NiGHTS
2015-07-21 1:37 ` Norman Worth
2015-07-21 6:54 ` Dmitry A. Kazakov
2015-07-21 13:31 ` NiGHTS
2015-07-21 16:59 ` Dmitry A. Kazakov
2015-07-21 17:50 ` NiGHTS
2015-07-21 19:44 ` Dmitry A. Kazakov
2015-07-21 20:28 ` Björn Lundin
2015-07-21 22:01 ` Georg Bauhaus
2015-07-21 23:44 ` Shark8
2015-07-22 6:19 ` Dmitry A. Kazakov
2015-07-22 6:13 ` Dmitry A. Kazakov
2015-07-22 7:04 ` Georg Bauhaus
2015-07-22 7:37 ` Dmitry A. Kazakov
2015-07-22 9:29 ` Graham Stark
2015-07-22 10:33 ` Dmitry A. Kazakov
2015-07-22 10:12 ` G.B.
2015-07-22 10:31 ` Dmitry A. Kazakov
2015-07-22 11:20 ` G.B.
2015-07-22 0:17 ` NiGHTS
2015-07-22 6:54 ` Dmitry A. Kazakov
2015-07-22 15:11 ` Shark8
2015-07-22 11:43 ` Brian Drummond
2015-07-24 7:34 ` Egil H H
2015-07-21 11:17 ` Serge Robyns
2015-07-20 17:38 ` Florian Weimer
2015-07-20 17:45 ` Paul Rubin
2015-07-20 17:53 ` Florian Weimer
2015-07-20 18:09 ` Paul Rubin
2015-07-20 18:25 ` Florian Weimer
2015-07-20 18:34 ` Paul Rubin
2015-07-20 19:33 ` Florian Weimer
2015-07-20 20:20 ` Paul Rubin
2015-07-22 18:29 ` Florian Weimer
2015-07-22 19:58 ` Paul Rubin
2015-07-26 19:41 ` Florian Weimer
2015-07-27 1:18 ` Jeremiah
2015-07-22 6:34 ` Stefan.Lucks
2015-07-26 14:51 ` EGarrulo
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox