×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Ada 2012 Language Approved As Standard By ISO

timothy posted about a year ago | from the crisis-averted-you-underground-adaians dept.

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

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

165 comments

Wtf Slashdot? (0)

Anonymous Coward | about a year ago | (#42367703)

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?

I just farted out of my fuck! (-1)

Anonymous Coward | about a year ago | (#42367777)

I just farted out of my fuck!
I just farted out of my fuck!
I just farted out of my fuck!
I just farted out of my fuck!

Re:Wtf Slashdot? (4, Funny)

VortexCortex (1117377) | about a year ago | (#42367779)

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.

Don't worry, Take Heart! (3, Funny)

pollarda (632730) | about a year ago | (#42367801)

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

Re:Wtf Slashdot? (1)

jbolden (176878) | about a year ago | (#42368423)

The idea is that between modules you always include a security level:

require check the input. Thus it is able to detect a bug in client.
ensure checks the output before sending. Thus it is able to detect a bug in supplier, that is an input which gave an unexpected/unreliable/unusable output was in some way unexpected in its effects. The ensure code prevents the situation of the caller's code being more flexible and handling a weird input but creating a call with variables the responder's code is having trouble processing.

Difference between this and assert (1)

tepples (727027) | about a year ago | (#42369313)

What's the difference between this and using the existing assert mechanism in C, Python, or the like? Is it able to perform some sort of automated reasoning on require and ensure between functions that allows some assertions to be optimized out?

Anybody using Ada? (1)

Tough Love (215404) | about a year ago | (#42367709)

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.

Re:Anybody using Ada? (0)

Anonymous Coward | about a year ago | (#42367737)

I tried to learn it, but the syntax made me puke.

Re:Anybody using Ada? (1)

Anonymous Coward | about a year ago | (#42368409)

If Syntax puts you off, I suggest you switch profession. Sorry if I am tough to you.

Re:Anybody using Ada? (0)

Anonymous Coward | about a year ago | (#42367739)

Isn't Ada one of the most crazy complex algorithm languages ever invented? Just my impression.

Hardly.

Re:Anybody using Ada? (4, Informative)

Anonymous Coward | about a year ago | (#42367745)

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).

Re:Anybody using Ada? (2)

Greyfox (87712) | about a year ago | (#42369525)

I looked at it briefly in college. Everyone I've seen in the "real world" that needs that level of reliability uses C++. You catch a lot of stuff at compile time in C++ that would make run time errors in other languages. This was one of Ada's big selling points too. Strong typing might be a pain in the ass for your average programmer, but it's still around for a reason.

Re:Anybody using Ada? (5, Interesting)

Anrego (830717) | about a year ago | (#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.

Re:Anybody using Ada? (3, Informative)

Anonymous Coward | about a year ago | (#42367881)

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.

Re:Anybody using Ada? (3, Interesting)

Black Parrot (19622) | about a year ago | (#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.

Re:Anybody using Ada? (1)

oursland (1898514) | about a year ago | (#42367925)

FYI: It hasn't been called "ADA" for some time, simply "Ada."

Re:Anybody using Ada? (2, Informative)

Black Parrot (19622) | about a year ago | (#42368081)

FYI: It hasn't been called "ADA" for some time, simply "Ada."

Never was "ADA". It was named after Ada, Lady Lovelace, whose birthday we discussed here a few weeks ago.

Re:Anybody using Ada? (0)

terec (2797475) | about a year ago | (#42368301)

Big thing with ADA is the focus on reducing errors

Ada forces programmers to think about errors, but you pay a high price for that. If you have DoD-like budget, well-specified requirements, a project spanning decades, high reliability requirements, and a large pool of mediocre programmers, Ada is a good choice because that's what it was designed for. But most products are created by small teams of programmers, have a lifetime of a few years, don't need to be anywhere as reliable, and need to be able to accommodate new requirements on short notice.

Re:Anybody using Ada? (2, Insightful)

Anonymous Coward | about a year ago | (#42368497)

..But most products are created by small teams of programmers, have a lifetime of a few years, don't need to be anywhere as reliable..

And that, dear readers, is why I really hate what passes for programmers nowadays.
The oldest code I've wrote that I know of which is still currently in daily use is now at the 22 years old mark, was done in assembly, was only really intended to 'work' for a year at most (was done for a R&D prototype, they kept the code in for the production models.)

(And, yes, I have, for my sins, dabbled in Ada)

Re:Anybody using Ada? (2)

RabidReindeer (2625839) | about a year ago | (#42369059)

..But most products are created by small teams of programmers, have a lifetime of a few years, don't need to be anywhere as reliable

Because, after all, who cares if people's credit card numbers, SSN's, home phone numbers and other items leak out all over the Internet? Just as long as the software got written fast and cheap.

Re:Anybody using Ada? (4, Insightful)

mvdwege (243851) | about a year ago | (#42368311)

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.

Re:Anybody using Ada? (1)

Jedi Alec (258881) | about a year ago | (#42369261)

I have found over the years that in a lot of communities there's plenty of people that will happily spend time answering questions, provided said questions are asked in the right manner.

From my experience, the way a community responds to a question often tells more about the individual asking the question than the community itself.

Re:Anybody using Ada? (0)

Anonymous Coward | about a year ago | (#42368421)

No, it is not "weird" to appreciate correctness and reliability. I would call it "weird" how C++ and Java developers accept bags of fleas as software that can be shipped, though.

Re:Anybody using Ada? (1)

Sulphur (1548251) | about a year ago | (#42369097)

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

Big thing with ADA is the focus on reducing errors.

When $(Famed_Programmer) heard that $(they) intended to produce 10 million lines of error free code, he left the project.

If lives depend on code working, it had better run reliably. If a part of the code has a problem, then deal with it without simply quitting.

Re:Anybody using Ada? (1)

Bill_the_Engineer (772575) | about a year ago | (#42369235)

Also the ADA community in general are an unusual bunch.

Yea those people forcing wheelchair access in public spaces are a rowdy bunch.

There is almost an apple level fanboyism going on.. it's weird.

Could be worse... It could have a python level of fanboyism.

Re:Anybody using Ada? (1)

Anonymous Coward | about a year ago | (#42367787)

for a slightly dated status of the Ada market:
http://www.crosstalkonline.org/storage/issue-archives/2001/200103/200103-Brosgol.pdf

and current Ada customers of the GNAT compiler (from GCC family):
http://www.adacore.com/customers

Re:Anybody using Ada? (3, Informative)

AmiMoJo (196126) | about a year ago | (#42367789)

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.

Re:Anybody using Ada? (3, Insightful)

jmhobrien (2750125) | about a year ago | (#42369275)

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.

Re:Anybody using Ada? (5, Informative)

gl4ss (559668) | about a year ago | (#42367793)

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.

Re:Anybody using Ada? (1)

davester666 (731373) | about a year ago | (#42367803)

I believe I had to complete one project in Ada as part of my Computing Engineering degree, in a CompSci course that basically went through the different kinds of languages available back then. C, Prolog, Lisp, Pascal, Ada, probably a couple others.

Prolog and Lisp were the main brain rewiring languages.

Re:Anybody using Ada? (0)

Anonymous Coward | about a year ago | (#42367817)

The TIOBE language popularity index [tiobe.com] says Ada is holding steady in 16th place - actually up from 24th place 5 years ago, but down from being the second most popular language (after C) 25 years ago.

According to The Great Programming Language ShootOut (recently renamed to The Benchmarks Game), Ada is almost as fast as C [debian.org] (then again, so are Pascal and Fortran), but it's also the most verbose language in the comparison! [debian.org]

Unsurprising, given how much them lazy overpaid government contract moochers hate efficiency...

Also note that there doesn't seem to be a genuinely free [copyfree.org] implementation of Ada... (Note that LLVM DragonEgg [llvm.org] is still based on GPLv3'ed GCC, puke.)

The only thing to like about that language is its name!

--libman

Re:Anybody using Ada? (1)

Black Parrot (19622) | about a year ago | (#42368165)

Also note that there doesn't seem to be a genuinely free [copyfree.org] implementation of Ada...

Isn't it still part of the GNU Compiler Collection?

Re:Anybody using Ada? (1)

Yoda222 (943886) | about a year ago | (#42368323)

He is speaking about copyfree, for which GNU GPL is not free enough, because you have restrictions on redistribution. But yes, GNAT is GPL and support Ada 2012 (I don't know if the support is complete)

Re:Anybody using Ada? (0, Informative)

Anonymous Coward | about a year ago | (#42368343)

Yes, and from reading my message (and the link) attentively it's clear that I don't consider GPL (much less GPL v3) to be "genuinely free" software - and neither should you.

Ada compiler implementations that I'm aware of:

* GNAT [wikipedia.org] - part of GCC, restrictively licensed as (GM)GPL

* SPARK (dialect?) [wikipedia.org] - GPL v3

* A#.net [wikipedia.org] - GPL, and requires Mono (part (L)GPL v2) or MS .NET

* AdaCore [wikipedia.org] (now also encompasses AdaMagic) - proprietary

* Aonix ObjectAda [atego.com] - proprietary

* Green Heels Software [ghs.com] - proprietary

(Am I missing any?)

The short list of major languages without a fully-functional copyfree implementation includes: Perl, C#/VB.NET, Java (and Groovy / other languages that require the JVM), Delphi (and other dialects not covered by copyfree Pascal compilers, which are ancient), Erlang, and Ada. These are the languages that people should avoid - which isn't much of a loss, because all of them have already been surpassed by better-designed languages that come with no coercive demands attached.

A language without a copyfree implementation is not a free language - not just because of the severe practical restrictions of how it can be used, but for philosophical / ethical reasons as well!

--libman

Re:Anybody using Ada? (2)

stevew (4845) | about a year ago | (#42369377)

This very argument happens in chip design where we have two languages VHDL & Verilog. VHDL is very much done in the Ada Model and is a direct descendant where Verilog comes by way of C. There was a language shoot out back in the late 90s when this argument had more life with similar results. Verilog lets you get things done in about half the amount of text and about twice as fast as writing the equivalent in VHDL. Verilog gives you every chance to mess-up, i.e. it doesn't hold your hand. VHDL smothers you with compile-time warnings, Interface checking, etc.

Both have a large number of followers now-a-days. VHDL is strong in the FPGA community (pushed by Xilinx) and in Europe. Verilog has more adherents in the US & Asia.

What it comes down to in my line of work is time - Verilog + Linter is faster than VHDL in getting the job done. (IMHO!)

Re:Anybody using Ada? (2)

cheesybagel (670288) | about a year ago | (#42367861)

There was much rejoicing amount the two Ada programmers left in the planet for the approval of this standard. Ooops.

You know you are doing poorly when the major user of your product, in this case the military, has been turning away from Ada to C/C++ for the last decade. The F-35 is one example. Even parts of the F-16 software have been rewritten to C/C++ by now. There are still some use cases but all newly written software seems to be C++. Another example is SpaceX who used C/C++ to write their flight control software as well.

Re:Anybody using Ada? (0)

Anonymous Coward | about a year ago | (#42367895)

I think that has more to do with available talent and the cost of that talant than anything else.

You are also seeing a lot of java used in the defense industry (I shit you not!) for this same reason.

I think ADA is actually very well suited for military and aviation, which traditionally have been it's customers.. however because it never really expanded out (there was some expansion and GNAT theoretically made it more accessible to non-military) in a serious way, it became a high risk and expensive choice. In todays budgets, "c/c++ will do fine" or even "java will probably work" is a little too tempting.

Re:Anybody using Ada? (2)

darkestkhan (2524786) | about a year ago | (#42368045)

And you know... those projects that moved from Ada to C/C++ are strangely overtime (many years by now) ONLY because of software BUGS. Seems like they got a lot of problems from that switch.

And IMHO if your programmer can't learn enough Ada to be productive in 2 weeks then they are quite bad programmers.

Re:Anybody using Ada? (1)

jbolden (176878) | about a year ago | (#42368427)

Absolutely. Ada was designed to be like mainstream languages it has a small and gradual learning curve. I don't understand why the sorts of companies that want to use a mainstream language and want exceptional reliability don't use it.

Re:Anybody using Ada? (1)

Anonymous Coward | about a year ago | (#42368265)

turning away from Ada to C/C++ for the last decade. The F-35 is one example.

I'm not overly sure that is a good example. To my understanding, the F35 is plagued by software issues, delaying it's development and raising costs by the year.

Re:Anybody using Ada? (1)

cheesybagel (670288) | about a year ago | (#42368441)

SpaceX seems to be moving quite quickly. Plus you forget how protracted the F-22 development was and that was in Ada. If you keep piling on more and more requirements after the work started of course the project is going to be late.

Muhahahaha (0)

Anonymous Coward | about a year ago | (#42368443)

The F35 is one of the worst-directed projects in history and their decision to "go C++" is one facet of management incompetence.

Re:Anybody using Ada? (1)

fitteschleiker (742917) | about a year ago | (#42367887)

First language I learned at Uni back in '00.
Haven't used it since, but I recall it being far more pleasant than the java I had to learn next.
Just no opportunities for me to use it since, unless I wanted to work for the ADF (Australian Defence Force)

Re:Anybody using Ada? (1)

Anonymous Coward | about a year ago | (#42367889)

I had to take it in college. To this day, when I see a := operator in source code, I want to close my editor and forget I ever saw it. That I saw the := operator in Visual Basic confirmed this notion.

Re:Anybody using Ada? (1)

Black Parrot (19622) | about a year ago | (#42368089)

I had to take it in college. To this day, when I see a := operator in source code, I want to close my editor and forget I ever saw it. That I saw the := operator in Visual Basic confirmed this notion.

IIRC that notation was introduced in Algol, as a compromise between the Europeans who wanted "=" and the Americans who wanted "=".

Re:Anybody using Ada? (1)

Black Parrot (19622) | about a year ago | (#42368103)

IIRC that notation was introduced in Algol, as a compromise between the Europeans who wanted "=" and the Americans who wanted "=".

Sorry; that first one was supposed to look like what we commonly interpret as "less-than-or-equal-to", but it didn't HTMLify very well.

Re:Anybody using Ada? (1)

jbolden (176878) | about a year ago | (#42368435)

Well no the issue is = (assignment) vs. == logical test. == corresponds to what we use = for in math. So it makes more sense to have = be a logical operator and use something else for assignment.

Re:Anybody using Ada? (1)

Kergan (780543) | about a year ago | (#42367921)

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.

It has a fan base, and specialized uses, if this mother of all Internet trolls from 1997 is any indicator:

https://groups.google.com/forum/m/?fromgroups#!topic/comp.lang.ada/SHMwUTG_TZQ [google.com]

It's like... Wow, just wow, look at the size of that thread!

Re:Anybody using Ada? (1)

serviscope_minor (664417) | about a year ago | (#42368303)

On a side note: is it just me or has google decided to get rid of nested comments? If so, wow. That's another great misfeature from google. Makes their "products" seem so trustworthy.

Re:Anybody using Ada? (1)

Mark Atwood (19301) | about a year ago | (#42367977)

I've used it. I liked it. For a long time my email sig was "The more I use C++, the more I like Ada".

Re:Anybody using Ada? (4, Insightful)

oneblokeinoz (2520668) | about a year ago | (#42368011)

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.

Re:Anybody using Ada? (4, Interesting)

Black Parrot (19622) | about a year ago | (#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.

Re:Anybody using Ada? (1)

mrbester (200927) | about a year ago | (#42368249)

"Its syntax is Pascal-like rather than C-like."

This was the only annoying thing I found when using it at university, having already learnt Pascal: the number of times I wrote what I thought was valid Ada and wondering why it didn't work only to realise I'd written Pascal instead. Purely my fault, there was nothing wrong with the language.

Re:Anybody using Ada? (2)

aaaaaaargh! (1150173) | about a year ago | (#42368171)

I'm using it for time-critical stuff. It's complex and has some arcane syntax features, but it's still easier than C++ and a lot safer than C and C++. One problem is the lack of free or affordable compilers, there is not enough competition to GNAT and AdaCore makes sure that the *really* free FSF version with MGPL lacks essential features, whereas their own free versions are useless for anything but GPL'ed software.

Overall it's a very powerful and fast language that I would recommend for real software development (as opposed to gluing together other people's libraries).

Re:Anybody using Ada? (1)

KiloByte (825081) | about a year ago | (#42368205)

Eh? Since when the license on the compiler restricts you from using it for non-GPLed software?

And if you want to see where anti-GPL FUD leads to, just try to compile for Mac on another system -- or even a different version of OS X.

Re:Anybody using Ada? (0)

Anonymous Coward | about a year ago | (#42368315)

Eh? Since when the license on the compiler restricts you from using it for non-GPLed software?

And if you want to see where anti-GPL FUD leads to, just try to compile for Mac on another system -- or even a different version of OS X.

To produce an executable from Ada source the compiler has to include a (small) run-time that handles things like the multi-tasking and elaborating all the library units (kind of like executing a constructor subroutine for the library). In addition, generics (templates) are also necessary for almost all Ada programming other than trivial stuff.

Adacore releases a pure-GPL release of GNAT (the Ada GCC front-end) that is fairly up-to-date, but because the associated generic code and run-time are GPL any binary produced becomes covered by the GPL. They also send changes upstream to the 'main' GCC people under a modified GPL that explicitly excludes the run-time and generics from the definition of 'derived work' so you can compile non-GPL binaries. However the main-line version of GNAT is further behind in features and bug fixes.

Re:Anybody using Ada? (2)

aaaaaaargh! (1150173) | about a year ago | (#42368355)

No FUD at all. Ada is worthless without the runtime. The license of the GNAT Ada runtime forces you to put programs compiled with the GPL version (mainly developed by AdaCore) under the GPL, too. The FSF version is licensed under the MGPL, a modified version of the GPL that allows you to use the runtime in non-GPL'ed software. However, the MGPL version lacks some essential libraries.

The restrictive licensing of GNAT is probably one of the major reasons why Ada never became very popular for general purpose programming. It's a great language but lacks compilers.

Re:Anybody using Ada? (1)

KiloByte (825081) | about a year ago | (#42368777)

Ok, thanks for clarification. It's still the license of the runtime rather than the compiler that's a problem, but indeed both are in one package.

Re:Anybody using Ada? (1)

dkf (304284) | about a year ago | (#42369515)

Ada is worthless without the runtime.

That's true for virtually all languages; without a runtime, all they can do is spin on the spot and do pointless things like simple calculations that they can never tell anyone else about.

Re:Anybody using Ada? (0)

Anonymous Coward | about a year ago | (#42368183)

Isn't Ada one of the most crazy complex algorithm languages ever invented? Just my impression.

Ada 83 looked completely insane compared to the simplicity of other languages available at the time, such as C. Initial Ada compilers were slow, produced inefficient code and were hugely expensive.

However time moved on. C begat C++ which began to add more and more features. Meanwhile the Ada revision process was more restrained, with new features such as OO being carefully integrated with the existing strong type system. Ada had generics (templates) from the beginning, but even if it hadn't I don't think you would have had the C++ situation where they kept adding template features without any ultimate goal in mind, until one day someone proved that C++ templates had become Turing complete. The Ada people seem to spend a lot more time than the C++ people on understanding the full consequences of any changes they make.

These days, the Ada standard is actually shorter than the C++ standard by some margin. I think some perceived complexity comes from the strict typing and scope rules, but to be honest the equivalent program in C++ would probably be 'undefined behaviour' or 'implementation dependent'. Certainly if you try to use some of the Ada specialist annexes such as the ability to partition a program across several computers things get hairy, but it would be equally hairy in C++.

Re:Anybody using Ada? (1)

mvdwege (243851) | about a year ago | (#42368273)

I write the occasional hobby project in it.

Contrary to what people tell you, it is not a complex language at all, it's a fairly standard Algol descendant. It does have an intricate type system that you must get used to to get anything done, and it is a bit wordy, using actual words as identifiers for everything except for some operators, but aside from that it's a very elegant language, and surprisingly fun to work with.

Re:Anybody using Ada? (1)

Yoda222 (943886) | about a year ago | (#42368305)

I have used Ada professionally. I was working at Thales Alenia Space [thalesgroup.com]. I have mostly done software testing, the (satellite) software was in Ada, the tests I wrote were not in Ada (but in a shitty specific language...) but I worked a lot with developers to identify the bugs. I have worked a few months as a developer, where I have directly used Ada. But a lot of the Ada features are disabled on the embedded software for performance. (stuff like range checking and so)

I'm no more at Thales, but I am working in a satellite operator company, and a lot of our spacecraft use Ada. (but I don't see any code in my current job ;-) ) These GEO plateform use Ada: Thales (ex Alcatel) SpaceBus, Astrium Eurostar, Boeing (ex Hugues) 601/702. I'm not sure for the others.

Re:Anybody using Ada? (1)

lindi (634828) | about a year ago | (#42368337)

I've spent two years porting Ada code from VMS to Linux. Overall it was a nice experience but compile times were horrible on our VMS system. Getting a syntax error after 15 minutes of waiting is kind of frustrating :)

GDB support for Ada tasks was also pretty bad. I filed several bugs like http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37245 [gnu.org] .

Read The Fucking Interwebs (0)

Anonymous Coward | about a year ago | (#42368407)

Ada is syntactically similar to Pascal. Often used in aerospace applications where a single error can kill 400 people. Think flight control software interpreting pilot input and translating into control surface movements.

Just because it does not "look" like C++, Java or VBA means nothing.

Those who are in the know have lots of respect for Ada, because it epitomizes what is good about software engineering, as opposed to "bug-ridden crapola which is weekly updated".

Re:Anybody using Ada? (0)

Anonymous Coward | about a year ago | (#42368529)

I used it extensively in an aerospace application where, "a single error could kill hundreds of people". (Pilots that have turned this box off have killed hundreds of people). Ada allows the enforcement of rules that minimize making stupid mistakes. It allows one to focus on solving the real world problem rather that fretting over whether or not the language let you do something "creative and elegant" that ultimately broke something else. So what if it feels Military if it gets the job done. Folks that have been fed C & C++ pablum when they were infants don't like the taste and will find other work.

Re:Anybody using Ada? (1)

Midnight Thunder (17205) | about a year ago | (#42368719)

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.

That would be Scala ;) Ada has resemblances to Pascal in certain aspects.

Re:Anybody using Ada? (0)

Anonymous Coward | about a year ago | (#42368739)

My company uses it for programming embedded train safety systems. We still follow the Ada95 standard, after a decision made by the company some time during the 90-ies. Unlike other IT-industries, the train industry is not moving very rapidly forward in terms of technical solutions.. mostly due to the large costs (money & time) involved in replacing an existing train train signalling solution.

I don't know what to say about Ada really, other than it works well for the types of systems we are delivering. It's strongly typed, the syntax is easy to read/understand. We're restricted by our coding standard to only use a sub-set of the language (for example we don't use dynamic memory allocation as a measure to improve performance stability), so I can't say much about these other language features.

Re:Anybody using Ada? (2)

Maury Markowitz (452832) | about a year ago | (#42368961)

"Anybody here using Ada, or has used Ada"

A LONG time ago. This was in the period long enough after its release that people were getting used to what worked and what didn't. Like C, Ada has any number of constructs that you don't really use because they tend to make things harder. If you used its base functionality you had what was basically Pascal with very strong error checking, and that I didn't mind.

But throughout my (limited) use, I couldn't help but shake the feeling that Ada *really* wanted to be an OOPS language. For instance, there's constructs in the language itself (as opposed to libraries or such) that return the bounds for variables. That way you can do bounds checking in code using those constructs. The difference between that construct and a dot-syntax OOPS language is basically zero, yet they put all of this machinery into the basic system but not the rest that would give it true OOPS functionality (at the time, I suspect this has changed).

If anything is "wrong" with Ada, it's that it was defined maybe 3 or 4 years too soon. The structured programming of Pascal was clearly a major input, but at the time of definition the fact that OOPS was the future was still being *heavily* debated. I do wonder what a post-OOPS Ada would have looked like.

Initialism (1)

1u3hr (530656) | about a year ago | (#42367721)

"the concept of contract-based programming, Concurrency and Multicore Support, Increased Expressiveness and Container Enhancements.'"

Is Beginning Every Word With A Capital Letter Mandatory In Ada?

Re:Initialism (1)

oursland (1898514) | about a year ago | (#42367937)

Amusingly, yes. The language standard adhered to is to capitalize each word AND separate words by underscores. To make matters a little more "interesting", the language is case-insensitive, so the capitalization is only a (unnecessary, imo) luxury for the reader.

Re:Initialism (1)

lindi (634828) | about a year ago | (#42368399)

Fortunately gcc has support for the expected style (using the -gnatyy flag).


with ada.text_iO;
use ada.text_io;

procedure hello is
begin
        put_line("hello world");
end hello;

fails with


hello.adb:1:06: (style) bad casing of "Ada" declared at ada.ads:16
hello.adb:1:10: (style) bad casing of "Text_IO" declared at a-textio.ads:48
hello.adb:2:05: (style) bad casing of "Ada" declared at ada.ads:16
hello.adb:2:09: (style) bad casing of "Text_IO" declared at a-textio.ads:48
hello.adb:6:05: (style) bad indentation
hello.adb:6:05: (style) bad casing of "Put_Line" declared at a-textio.ads:263

Re:Initialism (1)

Yoda222 (943886) | about a year ago | (#42368351)

At Thales Alenia Space the coding rule says: Ada keywords in lower case. Everything else in upper case. THAT WAS AWFUL TO READ, IT'S LIKE SOMEONE IS YELLING AT YOU. YOU WANT A break AFTER A FEW MINUTES. It was also awful to write, so after some times I wrote a script to change everything from normal programming style to this crazy idea. Nobody knows why this rules was there, I guess that the one who write this rule didn't want to buy new glasses.

Ada 2012? (0)

Anonymous Coward | about a year ago | (#42367767)

Just as well they approved it: they only had ten days left!

Ada contracts and Z (0)

Anonymous Coward | about a year ago | (#42367805)

Design by Contract is a fine idea but it really would be nice if it was extended from expression
to something a little more useful like Z. There are a few systems out there that
support forall, exists, before and after state and thus move this into being really useful.

ISO? We don't trust them any more. (4, Interesting)

symbolset (646467) | about a year ago | (#42368021)

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.

Re:ISO? We don't trust them any more. (0)

Anonymous Coward | about a year ago | (#42368167)

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, ...

So, tell us more ....

Re:ISO? We don't trust them any more. (1)

darkestkhan (2524786) | about a year ago | (#42368275)

Keywords do have well defined behaviors, so I don't see where "repurposing everything - including the ""="" operator and keywords like ""if""" happened.
And you actually do need to permit overloading of operators (otherwise you end up with nasty code [ie. in complex arithmetic]).

Re:ISO? We don't trust them any more. (0)

Anonymous Coward | about a year ago | (#42368331)

I've never been a fan of garbage collection. It solved some problems I'd rather work around.

Garbage collection is not required by Ada, although implementations can offer it. Interestingly, Ada does allow user-defined memory allocators to be used.

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.

All the major languages have operator overloading these days. Somehow people manage...

Re:ISO? We don't trust them any more. (1)

Alomex (148003) | about a year ago | (#42368469)

All the major languages have operator overloading these days.

Right, like Java... oh wait!

Operator overloading reached its peak in the mid-80s at the time of Ada and C++. Since then most languages have pulled back from there and today it is considered mostly a source of bugs and heavily discouraged even in languages that allow it, e.g. Python.

Re:ISO? We don't trust them any more. (1)

Fished (574624) | about a year ago | (#42368599)

Operator overloading is not "discouraged" in Python. Rather, you're encouraged to use it to make your objects "Pythonic" (i.e. support a similar range of features to a built-in python object) and to make sure the semantics are basically the same. Eliminating operator overloading from languages entirely is one of the things that makes Java suck so much and so frickin' verbose, in my opinion.

Re:ISO? We don't trust them any more. (1)

Alomex (148003) | about a year ago | (#42368771)

i.e. support a similar range of features to a built-in python object

Yes, I should have said something like "heavily restricted to straightforward overloads" such as straightforward extensions comparators and iterators with no unexpected side effects. Any other use is heavily discouraged.

Re:ISO? We don't trust them any more. (1)

symbolset (646467) | about a year ago | (#42368713)

You guys are so far off the Ada mark that you might as well be choking your chicken at the A&P. Would you please learn some little thing about the subject?

Re:ISO? We don't trust them any more. (0)

Anonymous Coward | about a year ago | (#42368791)

You are the typical self-aggrandizing blowhard who walks in the middle of a conversation and blurts out "you know nothing about the subject", without giving any evidence of yourself having any knowledge in the subject, thus proving that either you have none or you lack the mental capacity to put it in words and express it in a meaningful way.

Plus the posting you responded to is not even talking about Ada, but about operator overloading in other languages.

So all around an epic fail for you. Now crawl back under your rock until you are spoken to.

Linda Lovelace any relation to Ada? (0)

Anonymous Coward | about a year ago | (#42368043)

Charles? Anyone?

Re:Linda Lovelace any relation to Ada? (0)

Anonymous Coward | about a year ago | (#42368111)

She was quite the tramp, according to wikipedia.

Re:Linda Lovelace any relation to Ada? (0)

Anonymous Coward | about a year ago | (#42368377)

And wikipedia is quite the busybody

Re:Linda Lovelace any relation to Ada? (0)

Anonymous Coward | about a year ago | (#42368401)

WHORE!

Avionics Software (0)

Anonymous Coward | about a year ago | (#42368501)

Used it for a fighter jet's avionics software back in the day.

VHDL and ADA (0)

Anonymous Coward | about a year ago | (#42368807)

VHDL (a hardware description language) is based on ADA; I never coded ADA but knowing VHDL quite well I felt right at home reading ADA code.

I wonder though how far the two languages went apart though. The first version of VHDL standard was released in 87 and then upgraded in 93 and 2002 (these were minor upgrades). A new VHDL standard with a slew of new features such as generic functions was released in 2008. I wonder if ADA supports them?

Basically, VHDL had a reputation for being dead even before 2008 version came out. The only simulator vendor that fully embraced is Aldec as far as I know.

Re:VHDL and ADA (3, Informative)

jockm (233372) | about a year ago | (#42369343)

ADA had generics long before VHDL. From the first version of Ada in fact. Stepanov and Musser wrote the Standard Template Library [wikipedia.org] 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.

Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...