Live data from Hacker News

Who's Using Ada? Real-World Projects Powered by the Ada Programming Language

seas.gwu.edu

41–50 of 74 posts

Re: Who's Using Ada? Real-World Projects Powered by the Ada Programming Language

#41

A lot of radar systems run on Ada. Its takes a little getting used to, but its a good language. Ada has a c binding package so it can call down to the OS libraries (networking, shared memory), which is great, but kills some of the niceness of living in an ada world. When I was trying out GO, I got a little ada flashback for some reason. The package system was good. I disliked ada strings though. When I left the indus…

Yep, the Aegis Combat System is almost all in Ada (but simulated and developed mostly in C++ and Matlab)

http://en.wikipedia.org/wiki/Aegis_Combat_System

Re: Who's Using Ada? Real-World Projects Powered by the Ada Programming Language

#42
post #40
post #39

Earlier quoted context omitted.

Wrong tool for the job. I would do that in Python.

Not in 1992 you wouldn't. This is a strange thing to say without explaining anyway. Would you care to expand on your point? I would expect Ada to run orders of magnitude faster than Python for a task like this.

I think that when you are doing exploratory programming and you're not quite sure about what you're doing you should have a language that gets out of the way as much as possible, which Python does. Ada and other bondage languages are for when correctness is most important or you need structure because you know the codebase will become large.

Re: Who's Using Ada? Real-World Projects Powered by the Ada Programming Language

#43

Earlier quoted context omitted.

> unbounded int, python style Arrrgh!! You mean "Lisp style". Lisp has had arbitrary-precision integers ("bignums") since 1971 -- long before Python was invented.

Whenever I talk about Haskell I always try to make my comparisons to Java, C, or Python for maximum relatability. I think saying "unbounded int" is enough, but then people might say "what exactly do you mean by unbounded?" so I say it's about the same as a python int. Haskell itself predates python. And IBM vacuum tube machines had arbitrary precision integers in the mid 50s, and transistor based ones in the 60s ;)

> Whenever I talk about Haskell I always try to make my comparisons to Java, C, or Python for maximum relatability.

Okay, well, then, thank you for giving me the opportunity to educate people on a bit of history :-)

> IBM vacuum tube machines had arbitrary precision integers in the mid 50s, and transistor based ones in the 60s

I seriously doubt it. They may well have had variable precision, but I don't think they had unbounded precision. That is, there was always a limit such that a result over that limit would either wrap around or trap (I don't know which), but that limit could be different for different instructions. (I'll bet there was a hardware-enforced maximum limit too, on the order of 12 or 15 digits.)

It wasn't until 1969 that Knuth published algorithms for arbitrary-precision arithmetic. Also consider that arbitrary precision requires heap allocation, which certainly wasn't being done in hardware in the 1950s and -60s.

If you can substantiate your claim, I'll be suitably impressed, but I'm extremely skeptical.

Re: Who's Using Ada? Real-World Projects Powered by the Ada Programming Language

#44

Earlier quoted context omitted.

Whenever I talk about Haskell I always try to make my comparisons to Java, C, or Python for maximum relatability. I think saying "unbounded int" is enough, but then people might say "what exactly do you mean by unbounded?" so I say it's about the same as a python int. Haskell itself predates python. And IBM vacuum tube machines had arbitrary precision integers in the mid 50s, and transistor based ones in the 60s ;)

> Whenever I talk about Haskell I always try to make my comparisons to Java, C, or Python for maximum relatability. Okay, well, then, thank you for giving me the opportunity to educate people on a bit of history :-) > IBM vacuum tube machines had arbitrary precision integers in the mid 50s, and transistor based ones in the 60s I seriously doubt it. They may well have had variable precision, but I don't think they had…

I was paraphrasing from http://en.wikipedia.org/wiki/Arbitrary-precision_arithmetic#...

So in the 50s they had integers with up to 2^9 - 1 (== 511) decimal digits.

In the 60s, the transistor-based one could do integers as big as your memory, the largest memory offered gave you up to 60K digits.

Re: Who's Using Ada? Real-World Projects Powered by the Ada Programming Language

#45

Ada is a language that deserves more love.

Beside being intimidating and having few syntax curiosity (' as string index operator) it really is a nice language.

Hmm? Ada uses the apostrophe for character literals and to introduce attributes. Strings are arrays; indexing uses the same `array[index]` syntax as any other array.

    S: constant String := "Hello";
    H: constant Character := S(1);

Re: Who's Using Ada? Real-World Projects Powered by the Ada Programming Language

#46

Earlier quoted context omitted.

Whenever I talk about Haskell I always try to make my comparisons to Java, C, or Python for maximum relatability. I think saying "unbounded int" is enough, but then people might say "what exactly do you mean by unbounded?" so I say it's about the same as a python int. Haskell itself predates python. And IBM vacuum tube machines had arbitrary precision integers in the mid 50s, and transistor based ones in the 60s ;)

> Whenever I talk about Haskell I always try to make my comparisons to Java, C, or Python for maximum relatability. Okay, well, then, thank you for giving me the opportunity to educate people on a bit of history :-) > IBM vacuum tube machines had arbitrary precision integers in the mid 50s, and transistor based ones in the 60s I seriously doubt it. They may well have had variable precision, but I don't think they had…

To add some specificity to gamegoblin's reference, I quote from page 28 of the IBM 1401 Data Processing System: Reference Manual[1]:

The two factors to be combined are added within core storage without the use of special accumulators or counters. Because any storage area can be used as an accumulator field, the capacity for performing arithmetic functions is not limited by standard-size accumulators or by a predetermined number of accumulators within the system.

[1] http://bitsavers.informatik.uni-stuttgart.de/pdf/ibm/140x/A2...

Re: Who's Using Ada? Real-World Projects Powered by the Ada Programming Language

#47
post #45

Earlier quoted context omitted.

Beside being intimidating and having few syntax curiosity (' as string index operator) it really is a nice language.

Hmm? Ada uses the apostrophe for character literals and to introduce attributes. Strings are arrays; indexing uses the same `array[index]` syntax as any other array. S: constant String := "Hello"; H: constant Character := S(1);

True, I was thinking about type conversion from String to Character, IIRC you have to use ' operator, something like my_string'first (not sure, I needed it 10 years ago), otherwise my_string(1) gives a String of length one, not the first Character.

Re: Who's Using Ada? Real-World Projects Powered by the Ada Programming Language

#48

I used Ada during my first internship (avionics software). However, the group I was part of was in the middle of phasing out Ada in favor of C/C++. This was around 2010-2012.

Similar for me. My first ever programming assignment for a real company was converting an Ada project to C for the Boeing 787.

Re: Who's Using Ada? Real-World Projects Powered by the Ada Programming Language

#49

Earlier quoted context omitted.

> Whenever I talk about Haskell I always try to make my comparisons to Java, C, or Python for maximum relatability. Okay, well, then, thank you for giving me the opportunity to educate people on a bit of history :-) > IBM vacuum tube machines had arbitrary precision integers in the mid 50s, and transistor based ones in the 60s I seriously doubt it. They may well have had variable precision, but I don't think they had…

I was paraphrasing from http://en.wikipedia.org/wiki/Arbitrary-precision_arithmetic#... So in the 50s they had integers with up to 2^9 - 1 (== 511) decimal digits. In the 60s, the transistor-based one could do integers as big as your memory, the largest memory offered gave you up to 60K digits.

Okay, very good. I stand corrected. (Well, mostly. I would pedantically argue that you may have arbitrary-precision arithmetic, but you don't have arbitrary-precision integers until they're a functional datatype, so you can write simply 'a + b' to add them -- with the automatic allocation that that in general requires. But this is a quibble.)

Re: Who's Using Ada? Real-World Projects Powered by the Ada Programming Language

#50
post #8
post #6

I would have enjoyed seeing a list like this in university where we had the option to learn Ada for a software engineering course. Ada was mandated to be used for military applications but became largely irrelevant for commercial applications. It's now considered a white elephant [1] by many. 1: http://en.wikipedia.org/wiki/White_elephant

To my knowledge, Ada is used in embedded/realtime systems where reliablity is of the utmost importance. The European Ariane rockets have code written in Ada on board, I think (these are civilian rockets, not military). There is a subset of Ada called Spark that allows - to a degree - automated verification of code. Not saying I like it or anything like that, but it definitely has its place.

For sure. This "Who's Using Ada?" list that was posted gives a good overview for what kind of applications it's used for. You'll see many where lives are on the line (be it for good or bad).
Post reply on HN