
Ada 2012: A New Language for Safe and Secure Software (2012) - shepardrtc
http://cotsjournalonline.com/articles/view/102810
======
jmilkbal
These articles give the worst impression of Ada possible. It's not the it's a
specialized language for the military, but a language created to cleanup the
DoD's software nightmare of the 70s, which is not unlike the software
nightmares of today. It just happens that they had a pretty good grasp, even
at that time, of what helps make good software easier to write, large software
projects easier to manage and maintain, and strong ideas about how much a
language should intervene if the programmer is doing things that look pretty
dumb.

Ada has a neat OO system (not like the Javas or C++s), built-in state-of-the-
art tasking (since 1983!), ranged types (one of the things I can hardly bare
to live without), but also simple things like switches that aren't useless and
just a general appreciation for what a discrete type can allow you to do. It
has generics, too, though I know they've been proven irrelevant by newer
languages. Have you seen that new Java 8 date time stuff? It's playing catch
up to Ada. Ada's numerics are, hands down, the best facilities of any
mainstream language.

Most importantly, it's probably already available for your Linux distribution
because it's a part of the GNU Compiler Collection, which means that it's on
the commercial OS you've settled for, as well.

An out of print book that I always recommend to those who are interested in
playing with Ada is John English's "The Craft of Object-Oriented Programming".
Enjoy.

[http://www.adaic.org/resources/add_content/docs/craft/html/c...](http://www.adaic.org/resources/add_content/docs/craft/html/contents.htm)

~~~
stickfigure
I did the first couple years of my undergrad (starting 1990) in Ada. I liked
the generics, although the lack of inheritance was peculiar for an OO
language. As a Pascal programmer in high school, Ada was pleasant and
familiar, but I quickly lost interest when I discovered Eiffel. Eiffel felt
like what Ada should have been from the beginning.

I've not written a single line of either post-graduation.

~~~
pjmlp
Sadly both suffered from enterprise prices by the compiler vendors.

Although Ada seems to be quite well in high integrity systems. At least that
is my perception from the, now regular presence, at FOSDEM and European safety
conferences.

------
jcadam
I was an Ada programmer for about 4 years in the aerospace industry.

I remember my last Ada project. It was run as a traditional 'waterfall'
project (In the early 2010s). I sat in my hole (cubicle, in the very center of
a massive cube farm) coding away on a simulation model for a satellite's
attitude control system, while the other devs worked on their own modules in
silence and isolation. Integration and testing was pushed all the way to the
end of the project.

I was a scumbag contractor, hence I was not allowed to see the complete code
base like the regular employees were, so I couldn't, say, do a complete build
to verify my stuff worked (because some of the libraries I needed to build my
module I wasn't allowed access to). So I was armed with the Ada compiler as
one of my only tools (I just had to ignore the link errors. Though, I _was_
able to code up a few tests for some of the algorithms I was able to isolate,
even though unit testing was neither expected nor encouraged, as it did
nothing to increase my SLOC numbers -- i.e., "wasting time").

I worked slowly and deliberately (getting constant flak for my SLOC numbers
not going up fast enough -- and apparently if you ever reduce your SLOC,
you've made _negative_ progress), and at the end when I passed my code off to
the 'build master' to my amazement my module built and largely _just worked_.
I have to give credit to the language -- it caught a __ton __of stuff at
compile time.

Suddenly I was no longer a slacker (Gee, thanks). At the end of that project I
left and never touched Ada again. I now (probably unfairly) associate Ada with
old-school waterfall-driven software development and dank, dark offices with
flickering, soul-sucking fluorescent lights.

~~~
monocasa
You'll like this:

[http://www.folklore.org/StoryView.py?story=Negative_2000_Lin...](http://www.folklore.org/StoryView.py?story=Negative_2000_Lines_Of_Code.txt)

~~~
jcadam
Been a while since I read that :)

I do remember entering a negative number one week on the manager's "status
spreadsheet (an excel spreadsheet on a network share that he asked everyone to
edit)" next to my name. Of course he came by asking for an explanation, and if
memory serves had me enter the number of lines deleted as a positive number,
so that the 'metrics' he reported up the chain didn't look bad.

------
copx
American programmers like to think they are engineers. German ones cannot
because "engineer" is a legally protected title here and programming is not
recognized as an engineering discipline.

I think that is justified by the way. Programming is a fad / fashion driven
industry more than anything.

This is relevant here because whenever I look at Ada source code I hear synth
pop. It is _so 1980s_. Sorry, maybe if Google or some other hip company took
Ada, and simply changed the superficial appearance (i.e. syntax, identifier
names) to look more 2010ish, gave it a cool name, and marketed it as the hot
new thing it might go somewhere.

Sad fact is, whatever merits Ada has or does not have is completely irrelevant
until that happens.

~~~
mauricemir
Probably explains why Germany is such a powerhouse in software development
NOT.

I do wonder about the effect of all the bright kids who would do CS/Computing
in the USA/Uk instead want to work for Audi.

Rigid hierarchies do have down sides until recently get put on the vocational
track in the German school system that was it you where on it for life and it
was almost impossible to go from Aprentice-> Technician to Engineer.

~~~
kriro
It might not be a powerhouse but it's fairly stable/good. There's at least one
major player (SAP) there's plenty of companies in future fields (Metaio for AR
for example) and there's a lot of in house stuff. There's also sort of an
"alternative OS" tradition (Suse, yellowTAB). There's also more of a focus on
business software (SAP influence might shine through) imo (the difference
between Wirtschaftsinformatik and Information Systems has been discussed at
length in journals)

Berlin is one of the better non-SV startup locations from what I hear.

~~~
mcguire
" _There 's at least one major player (SAP)..._"

I'm not very familiar with any of the other examples you mention, but, uh,....

Have you ever gone anywhere near SAP?

~~~
kriro
I've worked for a competitor. Independent of the quality of their products SAP
is still a big software company and the German software marked makes up
roughly 50% of the entire European market. At least that was the case around
2012 haven't checked since (SAP alone is responsible for most of it). My point
is merely that Germany is hardly a software wasteland and the assertion that
"the talented people flock to traditional engineering" is somewhat dubious
(imo).

There's some cultural indicators that programming is a topic of interest as
well (the existence and size of the CCC for example).

------
kriro
The only thing I remember about Ada is that it introduced exceptions (or maybe
was one of the languages that spread it). Useful little tidbit since I like to
keep a mental picture of what languages roughly influenced other languages.
+it has a military/secure programming background (and thus is inherently
friendly towards proving/verification) It was fairly widespread in Austria for
a while (90s).

Never really used it and kind of expected it to be dead or only used in
specific old systems. Interesting to see that there's a new version (I have to
admit I'm still stuck on 95 and missed 2007 completely).

Edit: I think SAP generates roughly 1/3 of all European software revenue so
that's already pretty major. Germany has always hovered around 50% of the
European software market (last time I checked was a couple of years ago)

~~~
pjmlp
Exceptions were already in CLU and Mesa (70's), among others.

------
jeff_carr
"Ada: A New Language"

Haha. Did I just take some acid and end up back in 1973. That would be cool if
this is true. Now I can really see Pink Floyd live.

~~~
snom320
No, you just missed the "2012" part of the headline. :)

