comp.lang.ada
 help / color / mirror / Atom feed
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.
>

  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