Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Programming

Ada 2012 Language Approved As Standard By ISO 165

hypnosec writes "The Ada Resource Association (ARA) announced that the Ada 2012 programming language has been approved and published as a standard by the International Organization for Standardization (ISO). Announcing the development, ARA and Ada-Europe said that the new version brings with it the concept of contract-based programming, Concurrency and Multicore Support, Increased Expressiveness and Container Enhancements.'"
This discussion has been archived. No new comments can be posted.

Ada 2012 Language Approved As Standard By ISO

Comments Filter:
  • by Anrego ( 830717 ) * on Saturday December 22, 2012 @04:30AM (#42367783)

    I've seen it. Nothing crazy or particularly unusual about it.

    Big thing with ADA is the focus on reducing errors. Very strongly typed with a lot of compile time checking and strong run time checks (and the ability to handle them gracefully). It seems to be used in environments where reliability and error free execution are critical: defense, aviation (the planes and air traffic control), etc. I've never heard of it used in the medical field but it would make sense.

    Like anything else though there is of course trade offs to support this. Plus because ADA is expensive (yes yes, I know, GNAT..) and people who know it are rare and expensive. This seems to have turned it into a niche language.

    Also the ADA community in general are an unusual bunch. There is almost an apple level fanboyism going on.. it's weird.

  • by symbolset ( 646467 ) * on Saturday December 22, 2012 @06:17AM (#42368021) Journal

    Microsoft bought off all the national bodies of ISO when they ramrodded through their undocumented and impossible to implement "document standard". If ISO knew anything about business processes or standards development they could have prevented that panel-stuffing result. And yet one of the standards they set is business processes for just this situation. I don't trust them any more and I don't think you should either. They are too easily swayed by corporate interests.

    Ada's cool in the esoteric nerd sort of way. Like SNOBOL or APL. I shared a girlfriend with one of the Strawman implementors of ADA and knew him moderately well. She was hot (she's probably a great-grandmother now) and he was cool, it was fun, and I'm still fond of ADA. I'm not fond of overloading operators and keywords in an RTOS in the practical sense, but as an artistic exploration of tech potentials I'm all for it as long as you don't make it the OS/language for a drone or something similar. I've never been a fan of garbage collection. It solved some problems I'd rather work around. Sadly Ada went rather overboard in the dynamic re-purposing of symbols, resulting in some unfortunate but predictable side-effects and plain code that had indeterminate use based on context.

    If you can't count on a word symbol to mean a quite specific and limited thing, you can't anticipate what your app will do. In my own mind, that was the problem with ADA. By subtexting and repurposing everyting - including the "=" operator and keywords like "if" they created a thing that was useful for mapping and mimicking human intellectual processes but not for doing useful stuff.

  • by Black Parrot ( 19622 ) on Saturday December 22, 2012 @06:35AM (#42368069)

    Anybody here using Ada, or has used Ada? Not implying anything, but genuinely interested. Isn't Ada one of the most crazy complex algorithm languages ever invented? Just my impression.

    I've used it a lot, but not lately. Its syntax is Pascal-like rather than C-like. However, I think Ada 2005 introduced the C++-style syntax for methods.

    It does have a lot of complex features, e.g. rendezvous for distributed programming, but you can get started by ignoring most of the unusual stuff and using a subset that is very much like Pascal, then learning the advanced features as needed.

    Supposedly when it first came out they had to invent new compiler technology to implement it, but things don't look so exotic now. Lots of integral support for real-time and distributed systems, and as others have said, verbose and an emphasis on reliability. Those last two are related: it makes you say what you mean and mean what you say. Ada programmers laugh when they hear someone describe C++ as "strongly typed".

    However, in my experience the more I worked on it the leaner my code got and the more I was able to think on the level of abstractions rather than details, e.g. by using the 'range attribute when looping over arrays.

    C# went Ada 95 one better on pragmas and attributes, but I don't know what Ada did in 2005 or 2012. I found them *really* helpful.

    Can't give much more comparison, because I'm not up on the latest features of more familiar languages either.

    Supposedly the space shuttle's on-board system was written in a subset of Ada.

  • by Black Parrot ( 19622 ) on Saturday December 22, 2012 @06:40AM (#42368079)

    I've used it in years past. The languages that I've used that help me produce code that just works, no matter how inclined I am to screw things up, are F#, Scala, Ada -- basically your strongly-typed languages keep me out of trouble. If you can handle the pricing and/or license issues, I would still recommend Ada as the best fit for procedural/OO programmers who want to work with tools that sustain quality. I'd expect that a very highly skilled team that wrote F#, Scala, Lisp, or Haskell could beat the dog out of most Ada teams for productivity over a few months or even a few years, but that over a period of many years, a good Ada team would be hard to bear for reliability and maintainability.

    In my experience Ada catches things at compile time that other languages leave you to catch at run time, and catches things at run time that other languages leave you to discover when you find out you've been getting erroneous results for bog-knows how long.

There are two ways to write error-free programs; only the third one works.

Working...