Slashdot Mirror


Ada 2012 Language Approved As Standard By ISO

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.'"

16 of 165 comments (clear)

  1. Re:Anybody using Ada? by Anonymous Coward · · Score: 4, Informative

    Seen it used for some logic in a gateway that converted one network medium to another (and did a bunch of other not-so-trivial things while it was at it..).

    I wouldn't really have classified it as an "algorithm" language. If anything it's a logic language with a major focus on reliability (lots of strong typing and compile time error detection) and fault handling (really good run time error handling).

  2. the only important link by RedHackTea · · Score: 4, Informative
    --
    The G
  3. Re:Wtf Slashdot? by VortexCortex · · Score: 4, Funny

    I click on the contract based programming link to know what the fuss is about and I get landed on a separate press release? Wtf?

    Always read the fine print before you agree to follow a contract...

    Now you know, and knowing is half the battle.

  4. Re:Anybody using Ada? by Anrego · · Score: 5, Interesting

    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.

  5. Re:Anybody using Ada? by AmiMoJo · · Score: 3, Informative

    I did it at university because they thought it would teach people good programming habits. In fact it just made us hate Ada and look for ways to subvert it, like redefining "-" to add values together.

    Ada is extremely pedantic. The idea is that it enforces good coding practices and prevents the kinds of subtle errors that can creep into more flexible languages like C. Supposedly some people in the aviation and space industries use it for mission critical stuff.

    --
    const int one = 65536; (Silvermoon, Texture.cs)
    SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
  6. Re:Anybody using Ada? by gl4ss · · Score: 5, Informative

    I used it once, for a course on parallel programming.

    the choice of ADA for that language by the faculty was stupid as hell - it's practically the only course in that university that uses ADA so the course becomes an ADA course rather than parallel programming course, the practice work is really trivial except for the fact that it's ada and it's a bitch to find ada information that isn't loaded with "IT'S MILITARY GRADE, YO!!!" bullshit for the first 10 pages of the text, making it a bitch to find out the simplest things about string manipulation and output.

    on the other hand, ADA had such sweet parallel programming mechanisms(rendezvous etc) that you didn't have to learn much anything about parallel programming, last I heard they even dropped semaphores from the course work.

    it's supposed to be really reliable though, but if every fucking book about it has to justify it's existence with that for half the book.. it just starts feeling fishy.

    --
    world was created 5 seconds before this post as it is.
  7. Don't worry, Take Heart! by pollarda · · Score: 3, Funny

    It is always good to know that the language designed by committee has in fact passed the committee.

  8. Re:Anybody using Ada? by Anonymous Coward · · Score: 3, Informative

    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.

  9. 28 comments... by ignavus · · Score: 4, Funny

    Well, that's all the Ada programmers accounted for.

    --
    I am anarch of all I survey.
  10. Re:Anybody using Ada? by oneblokeinoz · · Score: 4, Insightful

    Ada is used in lots of places where the application is safety critical or there is a need for high reliability.

    It got a lot of bad press, mostly because it originated from a request from the US DoD for a single language to do "all things". It's original MIL-STD designation was 1815 (Ada Lovelace's birth year).

    Many aircraft have their flight control systems built in Ada, eg: Boeing 777, Apache Helicopter.

    From memory the GPS Block II Satelites, not sure about the Block III.

    The original Ada 83 compilers were pretty awful - slow and produced horrible code. But they got way better. Because the language required a "program library" to store information about the compiled units (yes, GNAT showed that it wasn't really necessary), the optimizers in the middle pass and back-end had access to more information than normal, giving scope to some very effective optimizations. I've seen generated code that was as good as the best hand coded assembly - multiple levels of inlining, removal of sub-routine pre and post amble code, delayed branch slot filling, value propogation used to remove implicit and explicit tests etc.

    My biggest challenge was always the lack of support for the latest and greatest libraries, eg: X11, MOTIF and their Windows equivalents.

  11. ISO? We don't trust them any more. by symbolset · · Score: 4, Interesting

    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.

    --
    Help stamp out iliturcy.
  12. Re:Anybody using Ada? by Black+Parrot · · Score: 4, Interesting

    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.

    --
    Sheesh, evil *and* a jerk. -- Jade
  13. Re:Anybody using Ada? by Black+Parrot · · Score: 3, Interesting

    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.

    --
    Sheesh, evil *and* a jerk. -- Jade
  14. Re:Anybody using Ada? by mvdwege · · Score: 4, Insightful

    Let me add a note for the community: yes, they are almost as bad as Apple fanbois when it comes to advocating Ada, but aside from that it's the friendliest community I've ever met on the Internet.

    When I as a hobbyist, who dabbles a bit in Ada, can ask questions and get answers from professional industrial programmers with multiple large mission-critical systems to their name, and get these answers in a friendly supportive tone, I think I am justified to say that this is a nice community.

    --
    "I know I will be modded down for this": where's the option '-1, Asking for it'?
  15. Re:Anybody using Ada? by jmhobrien · · Score: 3, Insightful

    I did it at university because they thought it would teach people good programming habits. In fact it just made us hate Ada and look for ways to subvert it

    That's a shame. I was also introduced to Ada at university and, while I accept that the syntax is pedantic, it was demonstrably extremely useful. Now I just see it as another tool which I could competently apply to problems where high reliability is mandatory and distributed/concurrent algorithms are involved.

    --
    Where is moderation: -1 False?
  16. Re:VHDL and ADA by jockm · · Score: 3, Informative

    ADA had generics long before VHDL. From the first version of Ada in fact. Stepanov and Musser wrote the Standard Template Library for Ada in 1987 C++ Standard Template Library was first developed in ADA and then ported to C++ in the early 90s.

    Just to complete the trivia, Oracle's PL/SQL has a syntax that was based somewhat on Ada.

    --

    What do you know I wrote a novel