If you assume that Ada was designed by dolts who didn't care about things
like memory mapped arrays, or efficiency, then you will spend your time
fighting the Ada compiler, trying to do things in your old ways. If you
assume instead that Ada was designed by bright people for use in embedded
systems where access to the hardware, and efficiency, are common
requirements, and that millions of lines of such applications are running
quite successfully, then you should ask yourself how you, too, can benefit
from using Ada features to attack your problems.
tmoran@acm.org comp.lang.ada Ada is getting more popular! Thu, 14 Oct 2010
www.adaic.com/whyada/index.html
In a nutshell:
Ludovic Brenta
9 Jun 2010 comp.lang.ada
My experience shows that:
Ludovic Brenta
20 May 2010 21:59:58 comp.lang.ada
Prenez le temps de découvrir SPARK, ça n’est pas si compliqué qu’il n’y
paraît et ça n’est même si limité que vous pourriez le craindre.
[snip: Un exemple Live et grandeur nature d’une application Ada/SPARK]
Le tout, dans une syntaxe lisible et directement compréhensible pour les
habitué(e)s d’Ada.
Et Ça n’est pas un gadget, ça n’est pas pour annoter dans le vide, puisque
cela pourra être contrôlé et validé. Ça vaut bien 10_000 fois tous les
commentaires plus ou moins formalisés que l’on peut inventer dans son
coin, non ?
N’écrivez plus vos commentaires formalisés (qui ne peuvent même pas être
validés) à votre sauce : utilisez SPARK.
Suggestion : après avoir fait quelque tours de manège avec Examiner,
passer donc rendre visite au Checker, vous n’allez pas être déçu(e) ; vous
allez avoir une belle surprise en découvrant ce qu’est ce Checker ;)
yannick_duchene 14 May 2010 fr.comp.lang.ada
Q:
A:
pourquoi les entreprises ne font pas le choix de ce langage Ada, puisqu'il
est plus adapté à l'ingénierie logicielle (fiabilité, maintenance...)?
Parce que ces entreprises ne font pas d'ingéniérie logicielle. Pour
éviter de trop réfléchir, elles utilisent ce que j'appelle l'argument du
lemming.
"Tout le monde" utilise Microsoft Windows, Microsoft Outlook, Microsoft
Internet Explorer, Microsoft Word et Microsoft Excel, donc je fais
pareil et tant pis pour les virus, bugs, plantages, normes
propriétaires, coûts de license, coûts de la traçabilité des licenses et
mises à jour forcées.
"Tout le monde" programme en *, donc je programme en * et tant pis pour
les dépassements de tampon, bugs, failles de sécurité, coûts de
maintenance (de toutes façons la maintenance sera le problème de mon
successeur). Commes les autres lemmings font pareil, personne ne
remarquera jamais ma médiocrité. Je pourrai réutiliser leurs
"composants logiciels" et leurs "bibliothèques" les yeux fermés. Et
encore plus beau: je pourrai embaucher autant de programmeurs
interchangeables, voire jetables, que je veux puisqu'ils connaissent
tous le langage *. (Corollaire: la connaissance approfondie du langage
* est un prérequis absolument indispensable pour une embauche
contrairement à la connaissance des systèmes de contrôle de versions,
des bases de données de bugs, des méthodes de test automatique, du
travail en équipe, des algorithmes, etc).
02 May 2010 22:07:10
Ludovic Brenta
fr.comp.lang.ada
A:
Q: what is the relation of root_integer , universal_integer and Integer ?
Root_Integer is an (anonymous!) type that includes all values acceptable
by the implementation; i.e. its range is System.Min_Int..System.Max_Int.
Conceptually, all integer types are derived from Root_Integer; i.e. if
you write:
type Age is range 0..125;
it becomes for the compiler:
type Age is new Root_Integer range 0..125;
(LRM 3.5.4 (14))
Universal_Integer is more like the set of the mathematical integers; it
is the type of integer literals, but any use of one of its values gets
immediately converted to the expected type (this a slightly simplified
model).
(LRM 3.4.1 (6/2)
Integer is just a predefined integer type, defined in package standard,
with no special property. It is used to index strings, but safe for
that, many projects forbid its use because it is not portable. Abuse of
type Integer is generally an indication that the programmer has not been
educated in defining proper types!
A last word: a casual programmer does not need to care about
root_integer and universal_integer. Leave that to lawyers!
by J-P. Rosen www.adalog.fr in comp.lang.ada 23 Apr 2010
Ada and SPARK are languages that are both more expressive and less permissive than C
and Java, which greatly facilitates analysis.
Embedded Systems Design (ESD)
Apr 2010 pp.25-30:
Expressive vs. permissive languages: Is that the question?
Obviously Fortran persists because of existing code base and
those that only "know" that. But egads, the current rendition
of Fortran seem to have so many "bags on the side" and is
downright "butt ugly". Why anyone would want to continue
to wallow in that swill, is beyond me. Ada as a language OTOH,
is so nice and clean by comparison.
I decided to create the first ever RISC OS WIMP application written in Ada.
...or worthless - the whole idea of a module (package in Ada) spec is
to document what the caller needs to know and "hide" what the caller
doesn't need to know.
Ada has strong accuracy requirements on the implementation of
Generic_Elementary_Functions, while other languages have little to say.
Man hat nie genug Zeit, etwas richtig zu machen,
jedoch immer genug Zeit, etwas nochmal zu machen.
Real men only program in two languages and they both begin with A: Assembler and Ada.
Java is probably thought to be closer to business;
at least I've heard teachers say so. It is,
in another sense, at least: sloppy base type systems
and hand made concurrency are a good basis for
continued support business. While Java's int, long, etc. only
require a little hubris to handle them properly, there are the
ubiquituous features of the same spirit, equally successful:
int, long, etc. in C and their integer overflows and buffer
overflows.
You should be teaching what everyone wants.
It's interesting that the primary reason that we didn't change type Integer
from 16-bit to 32-bit when we moved the compiler to the 386 was because we
had (and our customers had) too much old code that failed to follow the
advice to avoid using the predefined types. And a lot of that code assumed a
16-bit representation.
Adam: Ummm... only half right. If Natural'First is implementation-defined,
you're working with a rather bizarre implementation.
En attendant, "l'unique type Integer" est une formulation curieuse
s'agissant d'Ada: Ada permet justement de définir ses types entiers sur
mesure, au point que l'on déconseille même l'utilisation d'Integer...
AdaCore has no obligation to provide free GNAT releases,
but they chose to do so as a community service[1].
Ada works best when it's used the way it was intended,
and that's sometimes different from the low-level approaches required in other languages.
I know of one really good C programmer who is now an Ada programmer.
His reasons for switching to Ada are largely the same reasons that made him
really good in the first place.
And... he's lucky enough to be working in a job where he can choose
the programming language he wants to use.
After years of C programming and trying other languages
(like C++, Java, Haskell, Python),
Ada--The programming language that promised to deliver very high-quality code at a reasonable price.
Ada is clearly a better language:
When I was first learning Ada, back around 1986 or so,
..."man" page for atan2 has some information.
Moral: for memory corruption bugs: they can be anywhere, even in code that's
"Possibly one of the most telling stats is that we find loads more
Peut etre qu'un jour,
face a des megatonnes de lignes inmaintenables en C++ ou java,
on se mettra a reflechir et...
One idea is to introduce the notion of safety-critical programming
and certification, and talk a bit about air traffic control, avionics
programs (most students will have flown on a Boeing-777, which is an
all-Ada plane, and Ada will play a part in both the dream liner (787)
and the new Airbus), so Ada naturally comes up, and you then have an
opportunity to discuss why a language like Ada is particularly relevant
when lives are at stake. The Air Traffic Control systems in much of the
world, including Europe and Australia are all in Ada.
Ada is also used by Canal Plus, the "French HBO". That's not a safety
critical program, but they do require very high reliability, they would
have a lot of angry customers if the system went down in the middle of
Lord of the Rings :-)
...but i have to say some things about GNATCOM: One thing: It's great!
Last sunday i dealt with the problem to control Winword from an Ada95
program for converting a .doc into a .tif. I rembered Gnatcom, studied 1
hour. Then i called bindcom on msword.olb. Thereafter i studied 1 hour
again, wrote some lines of code and the task was done. Thanks for this
powerful tool!
This built-in-quick'n'dirty unreliability is obviously a Bad Thing with
commercial aircraft avionics, but a huge cash cow otherwise, as the
customer has no choice but to pay through the nose after delivery to
correct fatal flaws.
This looks like the cue for my favourite quote.
It was told to me by the man who taught me to fly.
Sloppy programmers will avoid Ada like the plague, because they
resent discipline in general and don't appreciate being taught
lessons.
A good software engineer will be attracted to Ada because
she is a powerful ally.
> I'm new to ADA.
Ada.
rambam@bigpond.net.au Mar2,2005:
Easy !
Just publish 'Explosives For Dummies' and leave out the safety instructions.
That will improve the human gene pool.
:-)
6 Apr 2010
Warren
Quote of the Day:
I still think this was one of my best decisions ever - in the light of extremely limited free time to do development, you really need a compiler and a language to detect most errors without testing.
found in
Steffen Huber's site
by 20100318ph
Quote of the Day:
why should I be forced to read another document just to understand a
module's interface.
typical C and C++ programmers don't seem to "get" this concept.
From: Marco in comp.lang.ada Sat, 6 Mar 2010
Quote of the Day:
This is a major difference between Ada and most other programming languages:
Ada defines error bounds for all numeric operations, so that it's possible
to perform useful numeric analysis on an Ada program without knowing anything
at all about the target hardware.
There is of course a cost to that capability.
But it is an important capability which rarely is taken advantage of : as
noted in a previous thread, without numerical analysis, you have no idea
whether the results you are getting has any significance or not. And "not"
is far more likely than people like to admit.
Randy.
From: Randy Brukardt randy_rrsoftware.com
comp.lang.ada 15 Feb 2010
Quote of the Day:
Jan Pfaff
07 Oct 2009
ifb.uni-stuttgart
Quote of the Day:
Why don't you see more non-military systems developed in those languages?
Cause there aren't enough real men out there to go around.
WJT Sr. Sw Eng commented on Aug 13, 2009 6:49:23 PM :
Real men program in C
By Michael Barr Embedded.com (08/01/09, 12:00:00 AM EDT)
Quote of the Day:
These will provide for vulnerability protection opportunities
and help establish international software companies :-)
Java has learned from this base type system, so it
moved the imperfections to object spaghetti. No?
You should be teaching what everyone teaches.
You should be rushing towards a new paradigm
in teaching as soon as it is there.
Be part of the crowd. It's only tax payers' money.
Quote of the Day:
Moral of the story: if you care about portability, limit as much as possible
the use of the numeric types defined in Standard.
Randy.
randy@rrsoftware.com Wed Jul 1 16:29:20 2009 comp.lang.ada Re: unsigned type
Quote of the Day:
Rod: Doh! I'll go straight to the back of the class then... :-)
Jun 19,2009 comp.lang.ada
Quote of the Day:
J-P. Rosen www.adalog.fr 28 May 2009 fr.sci.maths,fr.comp.lang.ada
Quote of the Day:
[1] And because it can only increase the number of Ada programmers,
which is good for them.
Samuel Tardieu 30 Apr 2009 comp.lang.ada
Quote of the Day:
Jeff Carter 14 Jan 2009 comp.lang.ada
Quote of the Day:
Peter C. Chapin, 06 Dec 2008, Newsgroup comp.lang.ada
Quote of the Day:
I had started to learn Ada early in 2007.
This powerful and beautiful language
has become my favourite,
and I decided to do the code development
as a programming exercise in Ada.
found in
Software for Codebreaking of the Lorenz SZ42
by
Joachim Schueth 20071116
Quote of the Day:
In practice it was found to fulfill those promises, though at the cost of annoying programmers by
making them stick to a very strict syntax.
So it was all but abandoned in favor of inferior alternatives. After all, debugging is sort of fun!
(If a project's final phase is called debugging, do we call the initial parts bugging?)
By Jack Ganssle, Embedded Systems Design,June2007page53,(20070530, 11:21:00 AM EDT)
www.embedded.com/showArticle.jhtml?articleID=199703463
Quote of the Day:
I routinely get a factor of 2-4
in productivity improvement in Ada vs C++.
stephe-leake.org Fri May 4 2007 comp.lang.ada
Quote of the Day:
I was astonished at the percentage of programs I wrote
which, once I had a clean compile, did _exactly_ what I expected.
It's borne out as well in the form those "stump the experts" sessions take.
With C type languages, the question is: "What does this do?"
With Ada, the question is: "Will this compile?"
Bob Spooner rls19 psu.edu 16 Apr 2007 comp.lang.ada
Quote of the Day:
It's not as detailed as the Ada manual,
because after all this is C
and providing specific details would infringe on
the inalienable right of C programmers
to shoot themselves in the foot.
Adam Beneschan
01 Mar 2007 comp.lang.ada
Re: Ada 95 ARCTAN function
Quote of the Day:
supposedly well-tested. And a likely culprit is bindings to non-Ada code,
because the checking that Ada provides is lost there
(the compiler can't detect mistakes).
Randy Brukardt
01 Dec 2006 comp.lang.ada
Re: Possible heap problem on Windows, help sought
Quote of the Day:
bugs in the C code than the Ada code. I can think of 1 bug that
PolySpace uncovered in Ada code in all that time. It arguable that
we'd have been a lot cheaper to not bother with C or PolySpace and
just write everything in Ada!!"
Jack Ganssle
The Embedded Muse 137 Copyright 2006 TGG November 21, 2006
Quote of the Day:
Ada deviendra un langage a la mode :)
Courage !
Stephane Riviere 05 May 2005 Oleron Island - France
stephane.rochebrune.org
Quote of the Day:
Robert Dewar, Apr 21, 2005, GNAT Academic Program discussion list,
GAP gnat.info
Quote of the Day:
Frank Piron 2005-04-05
Quote of the Day:
Alan & Carmel Brain
http://aebrain.blogspot.com
21 Mar 2005
"The superior pilot uses his superior judgement to avoid those
situations that would otherwise require his superior skill"
Although it is about flying, it is also the reason I use Ada (and
particularly SPARK) --- so that I don't have constantly to flaunt my
superior skill :-)
Quote of the Day:
Ludovic Brenta Sat, 05 Mar 2005 20:46:45
Quote of the Day:
               
               
               
Marius Amado Alves 20050303
Quote of the Day:
Jeffrey Carter :
Now if we can just arrange things so dummies are not allowed to make
language choices or create designs ...
Quote of the Day:
I remember being impressed with Ada because you could write an infinite
loop without a faked up condition. The idea being that in Ada the typical
infinite loop would normally be terminated by detonation.
Larry Wall (detected 20050202 by gvc in
http://www.sysprog.net/category/programmers-quotes/ada-quotes/ )
Quote of the Day:
Remember, the point of a good programming language is to help good
programmers write better programs, not to force bad programmers to
follow the rules.
Stephen Leake Sat, 1 Jan 2005 15:31:04 +0000 (UTC)
Quote of the Day:
Writing means producing a body of code that accomplishes its design goals,
and that follows the lessons of modern software design. Cutting through all
of the hype around OOP, one critical lesson we all need to follow now is to
totally encapsulate our code and data. The days of global variables should
be long gone.
Jack Ganssle The Embedded Muse 107 Copyright 2004 TGG December 6, 2004
Quote of the Day:
The current popular languages C, C++ and Java as starting languages ruin
your ability to develop good reliable, readable, modifiable software.
They make simple programs much more complicated than necessary and
complicated programs even more complicated.
Steve Schwarm, 29 Nov 2004
Quote of the Day:
Welcome to the Team-Ada group therapy session #1
Love it or hate it, but be passionate about it!
Nothing gets done when you just don't care.
-- David Botton
Date: Wed, 24 Nov 2004 19:47:43 -0500
Quote of the Day:
Ada is a job killer!
                       
Peter Streiner 20041020
Quote of the Day:
So you may say that the versions will be mostly compatible.
The key is very little effort to port   -   not 100% compatibility.
I don't want to fall in to the "minimum" common feature trap.
David Botton
Date: Mon, 18 Oct 2004 02:27:57 -0400
Quote of the Day:
I like it
when the support group complains
that they have insufficient data
on mean time to repair bugs
in Ada software.
                       
Robert I. Eachus in 2004
return