18
  • Do people still use Ada -- (it was mostly used in the Defense Department)
  • Are all applications written in Ada "Legacy"?
  • Does Ada knowledge still sell
treecoder
  • 9,475
  • 10
  • 47
  • 84
  • 5
    Read this first before asking this Q: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html It is more popular than F# or Assembly, and it actually has a neat syntax (IMO). – Job Aug 07 '11 at 14:06
  • 2
    Another informative page: http://www.seas.gwu.edu/~mfeldman/ada-project-summary.html – BlackJack Aug 07 '11 at 14:08
  • 1
    @greenlit, Java to Ada developers are currently about 20:1. To find out more, try to scan the job postings. What is your angle here? Are you hoping to find a high-paying Ada job? – Job Aug 07 '11 at 14:14
  • my "angle" is it's use in general applications -- desktop, server, network, web, etc. – treecoder Aug 07 '11 at 14:16
  • 3
    If you want to use it in general application, why does popularity matter? Do you plan on adding other devs? – JeffO Aug 07 '11 at 14:18
  • one of my friend's relative (50+) is an Ada programmer and wants to know if it is "sellable" in current computer industry – treecoder Aug 07 '11 at 14:23
  • @Job: TIOBE is gibberish. it doesn't reflect anything. – Sean McMillan Oct 31 '11 at 12:50
  • 1
    @greengit see also http://stackoverflow.com/questions/1078043/why-didnt-ada-make-it - actually it did make it, java has spent most of its time catching up ! – NWS Oct 31 '11 at 13:07

5 Answers5

27

Do people still use Ada -- (it was mostly used in the Defense Department)

It appears that Ada was last updated in 2005 and there's work toward an Ada 2012, so the language itself is still alive and kicking.

As far as use, Ada isn't mandated for use in the Department of Defense anymore. Most of the work that I've seen and done has been in Java, C, and C++, but there's also use of the .NET framework and I've even heard of projects running other JVM languages such as Scala, depending on how the system will be used. There's probably a lot of code out there in Ada, so I wouldn't be surprised if there's a lot of code reuse and maintenance happening. Given the nature of defense projects, it's hard to come up with specific numbers as to its use.

There is a list of Ada projects and users, but it looks like the last update was in June 2008. There might be more recent lists out there, but I couldn't quickly find any.

Are all applications written in Ada "Legacy"?

If you're asking if there is new Ada development, I wouldn't be surprised if new systems are being written from the ground up in Ada. I would suspect there would be too many, but there are probably some out there. However, I would suspect that most of the Ada work out there is maintenance or upgrades on existing systems, not new development.

Does Ada knowledge still sell

Knowledge in anything sells, if you can find someone who is looking for that skill set. Even if you aren't using Ada in development, I've found that knowing a particular language or framework has changed my opinion and how I use other languages or frameworks. I would suspect that knowing Ada would give you an insight into other methods to design and construct software in other languages as well.

Thomas Owens
  • 79,623
  • 18
  • 192
  • 283
  • 6
    I am writing new systems in Ada :) – NWS Oct 31 '11 at 13:09
  • 1
    C# & .NET are also used in business applications written by defense contractors. – George Stocker Oct 31 '11 at 14:21
  • @NWS: In some ways it looks like it could offer much more robust static validation than would be possible in C. I'm curious, though, to what extent subrange-based typing actually works to reduce machine-size dependence. If one has e.g. two variables declared as type 0..200, and wishes to test whether their product is greater than 250, could one simply compare their product to 250 and have it be guaranteed to work, or would it fail compilation in cases where it might fail, or could it pass compilation but fail at runtime if the product exceeds 32,767? – supercat Jun 13 '14 at 16:06
  • @supercat Yes Static validation is very good in Ada. With regard to your specific query, the correct use of subtypes and modular types to produce ranges to test against will solve your conundrum. There are also libraries available for very large number manipulation that will work on 16/32 bit machines. Have you read up on the strong type system in Ada ? Once you learn how to use it properly its very powerful. – NWS Jun 15 '14 at 09:07
  • @NWS: I looked at the Ada language definition linked from the Wiki page, and while I found where it talked about defining numeric types, I couldn't find any discussion of how they interacted with operators. If Ada were to require typecasts when operating on types which didn't exactly match, that would seem less than helpful, but I didn't see any indication of what's actually required. If I were designing the language, the in the aforementioned case I'd either ensure the comparison would behave as though evaluated with a type that could hold anything up to 40,000, or else... – supercat Jun 19 '14 at 17:02
  • ...require an explicit typecast to let the compiler to the range of values over which the code should be required to perform the comparison correctly. Can you point me to information about what Ada actually does? – supercat Jun 19 '14 at 17:06
  • @supercat: forgive me coming into this late - you're asking interesting things here but comments aren't a good place to answer. If you're willing, I think your collected comments would make a great question. – user_1818839 Jun 25 '14 at 12:17
13

The answer is: No, Ada is still being used. My company uses Ada to develop native server-side applications for companies in manufacturing, retail, healthcare and more.

Adrian Hoe
  • 241
  • 2
  • 7
8

Ada is still heavily used in defense, mission critical, safety critical, real time, embedded systems.

Therefore: Trains, Railways, Planes, Air traffic Control, Satellites, Medical Systems, Nuclear Power Plants etc

for a recent use of ada see : this

John R. Strohm
  • 18,043
  • 5
  • 46
  • 56
NWS
  • 1,319
  • 8
  • 17
5

"Was" used in the defense department? Last time I checked, it still is. Ada is still as viable as any language for writing new software from scratch. Where it's at a disadvantage is in the availability of existing software to reuse and adapt, and the availability of programmers to help you. However, it can be linked with C programs or those with similar binary interface.

Ada has probably the most idiomatic use of strong typing and generic programming of any language I know. That experience is highly sellable even if not programming in Ada.

Karl Bielefeldt
  • 146,727
  • 38
  • 279
  • 479
  • 1
    It was mandated for DoD projects, up until the late 1990s (1997-1998, if I remember correctly). Ada code still exists, but more and more projects are being built using C, C++, Java, and even languages like Python are beginning to make inroads. I'm not saying it's not used - there's a ton of Ada code out there that is still good and can be reused, modified, or extended for projects, and it is. But not much new development uses Ada. – Thomas Owens Aug 07 '11 at 17:55
  • I found C++ templates with automatic template function instantiation to be far more powerful and 'idiomatic' than Ada generics. – kevin cline Aug 07 '11 at 20:29
  • 1
    @Kevin, idiomatic refers to a typical pattern of _use_ that defines a language, not how "powerful" it is. It's not uncommon for c++ programmers to go years using templates for standard library containers but never defining their own. That's unheard of with Ada programmers and generics. – Karl Bielefeldt Aug 08 '11 at 01:33
  • Note that the mandate was repealed, not its use. – NWS Oct 31 '11 at 13:25
2

I would venture to say that any language that was ever that popular and was not hardware specific in non-tech industry or government will never die in a single generation.

Companies, and doubly so government has too many regulations and other concerns just to upgrade because something is old. Many systems of that age are internally supported anyway so the out of support argument does not fly with those either.

Thomas' answer is good in this instance Ada will be around until everything based on tech before the mid 90's has been replaced in the military, but in general this sort of question always results in this sort of answer because languages that have had a period of significant critical mass never completely die.

Bill
  • 8,330
  • 24
  • 52