Talk:Ada (programming language): Difference between revisions

Content deleted Content added
m 2 revisions imported: import more July 2001 edits from "Ada programming language/Talk" in the August 2001 database dump
 
(145 intermediate revisions by 74 users not shown)
Line 1:
{{merged-from|Steelman language requirements|24 December 2024}}
{{talkheader}}
{{WikiProject banner shell|class=C|vital=yes|1=
__TOC__
{{WikiProject Computing|importance=High}}
{{WikiProject United States|importance=Low|USGov=Yes|USGov-importance=Mid}}
{{WikiProject Computer science|importance=High}}
}}
{{archives}}
 
== AdaExternal Homelinks modified ==
 
Hello fellow Wikipedians,
*[http://adahome.com/ Ada Home] - Old Web Site for Ada (not maintained)
: I agree it is not maintained, but it is still used by Ada practitioners for reference. It is still recently referenced from the comp.lang.ada group. So I have restored the extlink. -[[User:Wikibob|Wikibob]] | [[User talk:Wikibob|Talk]] 11:24, 2004 Jun 16 (UTC)
 
I have just modified 5 external links on [[Ada (programming language)]]. Please take a moment to review [https://en.wikipedia.org/w/index.php?diff=prev&oldid=787594532 my edit]. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit [[User:Cyberpower678/FaQs#InternetArchiveBot|this simple FaQ]] for additional information. I made the following changes:
== Moved comments ==
*Added archive https://web.archive.org/web/20160304073005/http://archive.adaic.com/pol-hist/policy/mandate.txt to http://archive.adaic.com/pol-hist/policy/mandate.txt
*Added {{tlx|dead link}} tag to http://delivery.acm.org/10.1145/1040000/1035608/p28-wolfe.pdf
*Added archive https://web.archive.org/web/20110706133825/http://www.digilife.be/quickreferences/QRC/Ada%20Syntax%20Card.pdf to http://www.digilife.be/quickreferences/QRC/Ada%20Syntax%20Card.pdf
*Added archive https://web.archive.org/web/20120206005541/http://archive.adaic.com/standards/83lrm/html/lrm-B.html to http://archive.adaic.com/standards/83lrm/html/lrm-B.html
*Added archive https://web.archive.org/web/20040625113309/http://archive.adaic.com/standards/83lrm/html/Welcome.html to http://archive.adaic.com/standards/83lrm/html/Welcome.html
*Corrected formatting/usage for http://www.omg.org/technology/documents/formal/ada_language_mapping.htm
 
When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.
'''Moved comments here from main text. Reorganized into threads.'''--[[:buzco|buzco]]
 
{{sourcecheck|checked=false|needhelp=}}
== Ariane 5 ==
 
Cheers.—[[User:InternetArchiveBot|'''<span style="color:darkgrey;font-family:monospace">InternetArchiveBot</span>''']] <span style="color:green;font-family:Rockwell">([[User talk:InternetArchiveBot|Report bug]])</span> 09:17, 26 June 2017 (UTC)
The descrition of the Ariane 5 Failure should not be on a side describing a programming language a link to a different side should be enough.
[http://www.rvs.uni-bielefeld.de/publications/Incidents/DOCS/Research/Rvs/Misc/Additional/Reports/ariane.html Ariane 5 Failure]
 
== External links modified ==
[http://www.wackerart.de Hermann Wacker]
 
Hello fellow Wikipedians,
I agree with that. it seems to me that this topic has nothing to do in an article describing a programming language all the more since it is rather a human error than a weakness of the language.
 
I have just modified one external link on [[Ada (programming language)]]. Please take a moment to review [https://en.wikipedia.org/w/index.php?diff=prev&oldid=792381656 my edit]. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit [[User:Cyberpower678/FaQs#InternetArchiveBot|this simple FaQ]] for additional information. I made the following changes:
--[[User:Tarroux|Tarroux]] 07:28, 24 February 2007 (UTC)
*Added archive https://web.archive.org/web/20070202205233/http://archive.adaic.com/standards/83rat/html/Welcome.html to http://archive.adaic.com/standards/83rat/html/Welcome.html
 
When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.
:It is relevant because Ada advocates claim that Ada doesn't allow these types of mistakes. That is, until someone brings up this incident or something like it, then Ada advocates say something else. [[User:Val42|Val42]] 23:21, 28 February 2007 (UTC)
 
{{sourcecheck|checked=false|needhelp=}}
:: No, we Ada-Advocates claim that Ada '''can''' protect against these type of error - but you also can switch the protection off if need be. The ability to switch the protection off is an important feature of Ada - otherwise Ada would not be usable for [[System programming]]. [[User:Krischik|Krischik]]&nbsp;<sup>[[User_talk:Krischik|T]]</sup> 07:46, 12 March 2007 (UTC)
 
Cheers.—[[User:InternetArchiveBot|'''<span style="color:darkgrey;font-family:monospace">InternetArchiveBot</span>''']] <span style="color:green;font-family:Rockwell">([[User talk:InternetArchiveBot|Report bug]])</span> 05:23, 26 July 2017 (UTC)
The statement that this incident caused the Ada runtime error checking to be questioned (I have been working with Ada for 20 years and have never heard this). This statement has no citation; the full report on the incident does not cite the Ada language as a contributing cause of the accident only the specification and design of the software. I believe this statement should be supported by a citation or removed. [[User:RichardABrown|Richard A Brown]] 18:05, 9 March 2007 (UTC)
 
== Comments and end of line ==
:Yes, we do need a citation. This statement should be marked as needing a citation (if it hasn't already). Then after at least two weeks, if there is no citation provided, it should be removed. [[User:Val42|Val42]] 06:01, 10 March 2007 (UTC)
 
"''Comments stop at end of line, so there is no danger of unclosed comments accidentally voiding whole sections of source code.''"
:: We originally added this chapter because the Ariane 5 failure is often used by Anti-Ada-Advocates to spread [[Fear, uncertainty and doubt|FUD]]. Isn't it great that the Anti-Ada-Advocates can spread there false claims unhindered why we are asked to provide more and more citation. We have the full [[wikisource:Ariane 501 Inquiry Board report]] on [[Wikisource]], 3 References and 5 External Links on the [[Ariane 5 Flight 501|main article]] - but no that is still not enough! Down with the truth, [[Fear, uncertainty and doubt|FUD]] rulez! --[[User:Krischik|Krischik]]&nbsp;<sup>[[User_talk:Krischik|T]]</sup> 07:46, 12 March 2007 (UTC)
 
This is actually more dangerous than explicit closing when you use UTF-8 encoding. For example, if the last character on the comment line is a 'é' (e with acute accent), and if the source parser is miss-configured and thinks the encoding is a one-byte encoding (e.g. ISO-8859-1) rather than UTF-8, then the compiler won't see the end of line and treat the next line of code following the comment as a continuation of the comment. So one line of code won't be executed!
In any case, a human-error "let's just import the program directly" example isn't a criticism. "It's unweildy and unpopular" would be criticisms... and before anyone jumps down my throat, I don't know the first thing about Ada, so those were just vague examples. I'd love to see a criticism section like the one in [[C++#Criticism|C++]] or [[COBOL#Criticism]], but until then, I'm just going to axe it and request an expansion. --[[User:The Centipede|The Centipede]] 20:00, 15 August 2007 (UTC)
[[User:Bohan|Bohan]] ([[User talk:Bohan|talk]]) 15:32, 21 January 2018 (UTC)
 
: Most of the section concerning comments is poorly worded, IMO. Parts of it are obviously incorrect. For example, how can one line comments be nested??? [[Special:Contributions/207.225.245.125|207.225.245.125]] ([[User talk:207.225.245.125|talk]]) 05:55, 4 March 2018 (UTC)
:I agree that this section needs to be rewritten. I have never understood the insistence on talking about Ariane 5 in this page. True, this story has been used to criticize Ada, but I don't find it useful to litter this page with all sorts of badmouthing about Ada.
 
: You can nest single-line comments by adding a comment marker to the start of the line, so you can comment out lines without worrying about existing comments.
:In fact (but this would probably belong to the flight 501 page) it would be more interesting to ask if there is a programming language design that would have helped in this instance. In C and C++ the effect of the conversion would have been "undefined" (meaning: anything goes). In Java it would have saturated. In C#, an exception would have been raised. Now because this particular piece of software was not actually in use, not raising an exception would have been preferable. But the important point is that there is no way that a programming language could guarantee some reasonable behavior after an unreasonable conversion.
: If you're feeding the wrong encoding into your compiler, there's your bug. I don't know how a trailing é (in UTF-8 16#c3# 16#a9#, or misinterpreted as Latin-1, "é") could cause the compiler to not see the end of line, though.--[[User:Prosfilaes|Prosfilaes]] ([[User talk:Prosfilaes|talk]]) 06:48, 4 March 2018 (UTC)
 
:: I guess it depends on how "nesting" is defined. I believe it is defined as a block comment within a block comment. While I see your point that an end-of-line comment can be within an end-of-line comment, I have never seen (except in this article) that called "nesting". IMO, the article should just say "Ada has end-of-line comments, started with --, and was intentionally designed not to use block comments", or equivalent wording, and give an example of an Ada comment. All the other text concerning Ada comments (eg, "designed to resemble the English language") is verbiage, IMO. [[Special:Contributions/207.225.245.125|207.225.245.125]] ([[User talk:207.225.245.125|talk]]) 17:41, 4 March 2018 (UTC)
:There have been valid criticisms levied against Ada, and it would be interesting to list them and give a balanced view of their merits. But this is not what this section is doing. -- [[User:PascalLeroy|PascalLeroy]] 14:04, 20 August 2007 (UTC)
:"While clearly denoting disabled code with a column of repeated "--" down the page, this renders the experimental dis/re-enablement of large blocks a more drawn out process."
:Disabling large segments of code is trivial
:== declare a boolean in the relevant unit
:Disabled : Boolean;
:== Set that boolean to true or false as required
:Disabled := true;
:== wrap your block of code to be selectively disabled in an if statement.
:if not Disabled then
:end if;
:[[Special:Contributions/86.14.138.8|86.14.138.8]] ([[User talk:86.14.138.8|talk]]) 19:39, 23 October 2023 (UTC)
 
== Double-dash? or double-hypen? ==
== US Department of Defense ==
 
The article reads:
Really only used anymore in US Department of Defense stuff. Oh yeah, and Ada95, the most popular Ada compiler actually translates your code to C, then compiles the C. I love that.
 
<blockquote>
---
A double-dash ("--"), resembling an em dash, denotes comment text. </blockquote>
Sorry, but that's a rather pointless and not only invalid but also uninformed statement, in fact you may be surprised that software compilation regularly involves translating high level code into ASSEMBLY language, which -surprise- usually happens to be even less-(strongly) typed than any conceivable high level language, so the point really isn't the target language/representation that a high level language is translated to, but rather how (strictly) this is done and how it is enforced that the corresponding rules are enforced.
Thus, only because a compiler for a very strongly typed language (such as Ada) may -in fact, routinely- translate source code to a less-strongly or even virtually untyped target/intermediate representation (like C or directly assembly), this doesn't necessarily imply that the strongly-typed nature and goals of the original language is automatically affected and may thus be questioned: once compilation has taken place and succeeded, it doesn't matter for an Ada program whether its target language is C, Java, Pascal, Python or assembly, simply because until then numerous rules have been applied to the original code, ensuring to a very high degree that the underlying source code can in fact be properly transformed to (a subset of) the target representation. The real potential pitfall in such a scenario would in fact lie in 3rd party software that may translate the produced -valid- output to another target language possibly not applying similarly rigorous rules, however this issue is routinely addressed by settling for a well-defined and very limited subset of the target language which can be easily verified and validated using a corresponding test suite.
 
I suspect that "double-[[dash]]" is incorrect, with the correct statement being "double-[[hyphen]]".
This approach is for example also taken by the SPARK language (a dialect/subset of Ada): Being basically a subset, SPARK programs are necessarily valid Ada, however they're being written with lots of meta information about expected and desired runtime behavior, this very meta information is provided in the form of comments in the source code, so it would not really affect an Ada compiler, a SPARK compiler however will happily process and honor such comments to parse, validate and augment the source code to come up with an accordingly enriched Ada program. So, this is again an example for a scenario where a comparatively strongly typed source language (SPARK) is translated to a less-strongly typed language (ADA) without necessarily compromising the safety margins provided by the source language and its specification.
 
But I'm not sure, so I will leave this for someone else.
----
 
[[User:Karl gregory jones|Karl gregory jones]] ([[User talk:Karl gregory jones|talk]]) 17:04, 26 September 2018 (UTC)
:Ada95 is ''not'' a compiler, it is a version of Ada, the most recent version, I believe. I am also skeptical of the idea that Ada is "really only used anymore" in the US DOD.
 
: It's a [[hyphen-minus]], to give it its Unicode name. It is the one and only ASCII character to be a horizontal line at x-height in the character cell. It is the dash in ASCII, among its multitude of duties.--[[User:Prosfilaes|Prosfilaes]] ([[User talk:Prosfilaes|talk]]) 04:17, 28 September 2018 (UTC)
----
 
== "Safe modular programming" ==
:Do you mean GNAT (GNU Ada Translater) when writing "Ada95"? This is no translater to C any longer but a frontend to the GNU Compiler Collection, as the C or the Java frontends are. By the way, it is _not_ used only by DOD staff and it is a highly capable language. In contrast to the popular misbelief it produces rather fast code (comparable to C).
 
The first sentence of the "History" section ends with a rather vague (IMO) reference to "safe modular programming". This phrase doubtless means something definite to someone somewhere, but I find it unclear—and I have a degree in computer science, so I imagine the two adjectives in front of "programming" convey virtually no useful information to a casual reader.
----
 
A [https://www.google.com/search?q=%22safe+modular+programming%22 Google search] for the three-word phrase in question, in quotes, turns up 1,660 results, and it seems like they're mostly direct quotes of this article, which strikes me as problematic. I can guess pretty well what "modular programming" means (I mean, there's [[Modular programming|an article]] about it, and of course I know what modularity is, so that's a reasonable term to use), but "safe" is a bit of a weasel word. Without a link to an article describing a specific kind of safety (like how "safe" links to the article on type safety in the infobox), it's hard to know which, or how many, of the meanings of the word are intended. Was the problem that some of the languages then in use supported modular programming, and some supported safe (whatever that means) programming, but none supported safe, modular programming? Or were all languages both unsafe and non-modular? Or something else entirely?
:Make that C, C++, Forth, FORTRAN, Java, Objective C and Pascal front ends! May be others! --[[:buzco|buzco]]
 
All of that to say: it would be great if someone who knows more about the history of programming languages than I could clarify what "safe" means in this context.
----
 
I'm probably making too much of a fuss about a single word, but it strikes me as a deficiency in the article, so I think it should either be fixed somehow or someone should explain why it's not actually a problem.
:The team behind Gnat used in the beginning a proprietary Ada compiler and used that to build an compiler which implemented a subset of Ada big enough to support building itself. Now the team left that proprietary compiler in the dust. After that it was a simple matter of extending that they already have while using the base to build the next more evolved version.
:Gnat until 3.11 or so (ca 1999) needed to generate a C stub for the sake of elaboration but that liability is no more !!
:GNAT never was a Ada-to-C translator !
:cfront was a c++-to-c translator !
 
[[User:GreenWeasel11|GreenWeasel11]] ([[User talk:GreenWeasel11|talk]]) 08:11, 18 November 2020 (UTC)
----
 
:I don't have sources, but I remember proponents of Ada stating it aimed to make programming more safe, meaning tending to produce fewer or less severe bugs, especially for large projects. Features supporting this focused on inter-module programming constructs, where other languages, like C, could be weak in detecting certain kinds of bugs. So, it's not really a "weasel" word, but I'd say it's subjective at best, and may only be theoretical. In my experience, although Ada did have features that purported to address some things around this, other contemporary languages and code-checking tools did as well or better with less awkwardness.
:SofCheck licenses its "AdaMagic" front end to a number of Ada vendors. There is one version of this front end that generates optimized ISO/ANSI C (though it is not widely used at this point). There is another version that generates Java byte codes ("AppletMagic"(tm)). The most widely used version generates a conventional compiler intermediate representation, and has well over 50,000 users. The version that generates optimized C is useful because it allows the use of Ada on platforms that might not justify the expense of building a fully integrated Ada compiler. The C-generating front end has enabled the use of Ada 95 on Crays, old Vax/VMS machines, old versions of the AIX operating system, 16-bit microcontrollers, etc. We love that. ;-)
:In summary, I'd say it's okay to keep ''if sourced''. Otherwise, it should go. --[[User:A D Monroe III|A&#8239;D&#8239;Monroe&#8239;III]]<sup>([[User talk:A D Monroe III#top|talk]])</sup> 02:51, 21 November 2020 (UTC)
:And actually, the USDoD has no particular connection to Ada anymore. The most loyal users of Ada are companies that like the low error rates that typically accompany developing in Ada, as well as those that are obligated to certify the safety of the software (commercial aviation, passenger rail, etc.). [[User:209.6.248.170|209.6.248.170]] 14:20, 29 January 2007 (UTC)
 
::Good point. I tend to use terms to mean what I want them to mean rather than what they're commonly accepted to mean—so if "weasel word" connotes intent to mislead as Google's dictionary says, then I should have just said "ambiguous". But anyway, it just seems shady to make the sweeping statement that no language the DoD used supported this way of programming and then not indicate precisely what features they lacked that made them un"safe". Oh well. It's not terribly important anyway. I do find it disturbing that there are so many instances online of people parroting this phrase when each person who reads it probably has a slightly different idea of what it's supposed to mean. —[[User:GreenWeasel11|GreenWeasel11]] ([[User talk:GreenWeasel11|talk]]) 03:34, 15 December 2020 (UTC)
See http://www1.acm.org/sigs/sigada/education/pages/myths.html for some answers to similar questions.--[[User:Parallelized|Parallelized]] ([[User talk:Parallelized|talk]]) 23:02, 1 February 2008 (UTC)
 
== Logo ==
And: http://www.mil-embedded.com/articles/authors/gicca/
--[[User:Parallelized|Parallelized]] ([[User talk:Parallelized|talk]]) 23:12, 1 February 2008 (UTC)
 
It's a bit disturbing to add a logo to the page, that has no "official" status. It was a result of a contest on [http://www.gnoga.com/#mascot Gnoga], for business purposes: ''"As part of my work on the building the business side of Gnoga to advocate Ada to the applications market, I realized that there is not a single modern slick Ada mascot (that doesn't mean the mascot replaces Lady Ada!). So, as I always do, I put my time and money where my mouth is :)"''. I don't think Wikipedia shall endorse this, and I'll thus remove the image from this page. [[User:7zz|7zz]] ([[User talk:7zz|talk]]) 08:47, 12 March 2021 (UTC)
== theory books ==
:Why do you care? I mean, Wikipedia's role is descriptive in nature, not prescriptive, right? —[[User:GreenWeasel11|GreenWeasel11]] ([[User talk:GreenWeasel11|talk]]) 20:36, 12 March 2021 (UTC)
::I don't think the logo has to be "official", but there does need to be evidence that it's widely used and accepted. It doesn't seem to be used on the web sites of the [https://www.adaic.org/ Ada Information Clearinghouse] or [https://www.adacore.com/ Adacore], a leading Ada vendor, or on the covers of books about Ada. --[[User:Macrakis|Macrakis]] ([[User talk:Macrakis|talk]]) 20:48, 12 March 2021 (UTC)
:::That's what I was thinking; I looked around and didn't see it in many places, so I don't think there are grounds for reverting the edit, but I see nothing wrong in principle with using a symbol not officially approved by the language designers. —[[User:GreenWeasel11|GreenWeasel11]] ([[User talk:GreenWeasel11|talk]]) 21:22, 12 March 2021 (UTC)
::::Ok, that's debatable. But if, say, a commercial implementation has a well-known logo, I don't think it's ok to put this logo on the programming language page, that is not limited to this commercial implementation. It's similar here: apparently the goal is to promote Ada in a business context, and this is not endorsed by the wider Ada community. A kind of POV-pushing, maybe. But if we all agree, for various reasons, that the logo should not be here, that's fine. [[User:7zz|7zz]] ([[User talk:7zz|talk]]) 12:52, 14 March 2021 (UTC)
 
== Reference to SPARK? ==
Ada is used in a few compiler theory books because of its comprehensiveness and elegance.
 
Should this article reference / discuss SPARK, which is derived from ada? <!-- Template:Unsigned IP --><small class="autosigned">—&nbsp;Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/139.63.195.185|139.63.195.185]] ([[User talk:139.63.195.185#top|talk]]) 07:44, 14 January 2022 (UTC)</small> <!--Autosigned by SineBot-->
Related websites:
* http://www.cs.kuleuven.ac.be/~dirk/ada-why2.html
* http://www.cs.kuleuven.ac.be/~dirk/ada-books.html <small>—Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[User:Parallelized|Parallelized]] ([[User talk:Parallelized|talk]] • [[Special:Contributions/Parallelized|contribs]]) 22:45, 1 February 2008 (UTC)</small><!-- Template:Unsigned --> <!--Autosigned by SineBot-->
 
I don't consider SPARK a Ada dialect, but a real complete programming language <!-- Template:Unsigned IP --><small class="autosigned">—&nbsp;Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/139.63.195.185|139.63.195.185]] ([[User talk:139.63.195.185#top|talk]]) 07:47, 14 January 2022 (UTC)</small> <!--Autosigned by SineBot-->
== primary users ==
 
== Accuracy ==
Should there be a section on primary users of a language like ada and how their requirements affected the language?
 
{{Blockquote|text=One notable free software tool that is used by many Ada programmers to aid them in writing Ada source code is the GNAT Programming Studio, part of the GNU Compiler Collection.}}
Ada is today still routinely being used for efforts where safety-critical software systems need to be developed, this is for example the case for aviation and space technology (think ATC, avionics, engine control etc) but also lots of other government software (think traffic surveillance, control and management), whenever lives or great financial resources are at stake, crucial software components are still being developed in Ada or even more rigorous subsets of it (i.e. SPARK).
Likewise, for many such safety-critical software projects there are very high safety requirements to be met, which are often easier to satisfy by using Ada (critical software in railway control systems or even nuclear power plants, must have a well-defined and easily verifiable runtime behavior).
 
This isn't accurate - GNAT Programming Studio, a development IDE/editor, is a open source project by AdaCore, released under GPLv3, but it is *not* part of the GNU Compiler Collection. GNAT, the Ada compiler, is part of the GNU Compiler Collection, however.
Also, Ada is also frequently the first choice when it comes to guaranteeing a high degree of maintainability for long-term software projects.
 
== Ada and Agda ==
For additional in-depth resources, see the Ada wikibook and its discussion/talk page which features a "resource" section about Ada, its primary uses and benefits. <small>—Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/82.83.66.83|82.83.66.83]] ([[User talk:82.83.66.83|talk]]) 13:23, 21 January 2008 (UTC)</small><!-- Template:UnsignedIP --> <!--Autosigned by SineBot-->
(moved from [[User talk:Macrakis]])
This is purely anecdotal, but I added the hatnote distinguishing the Ada and Agda programming languages because I was talking about one with a friend and discovered he thought I was talking about the other. And he was a programmer! The languages themselves may be quite different, but their *names* are very similar. Given that this is a general-purpose encyclopedia, one which might be approached by people who aren't already familiar with either or both languages, I think the hatnote is warranted. [[User:Tisnec|Tisnec]] ([[User talk:Tisnec|talk]]) 22:46, 25 August 2022 (UTC)
:{{ping|Tisnec}} WP can't include every possible error made by some individual in a hatnote. It seems unlikely that the 2015 functional language Agda known mostly in academic circles would be confused with the 1983 procedural language. They're written and pronounced differently and they're in different application domains. The only reason I can think that they'd be confused is that Agda is not well known outside specialist circles, which is an argument ''against'' the hatnote. --[[User:Macrakis|Macrakis]] ([[User talk:Macrakis|talk]]) 13:47, 26 August 2022 (UTC)
::[[WP:HATCONFUSE]] suggests that "these hatnotes should only be used when the ambiguity exists for a significant portion of the readership".
::Given what has been said, it seems to me that the status quo - hatnote on [[Agda]] but not on [[Ada (programming language)|Ada]] makes perfect sense. A significant proportion of the readership arriving at [[Agda]] will in reality be looking for the much more well-known Ada, while I am not sure a significant proportion of the readers of the more commonly read article will in reality be looking for the more obscure language. [[User:Felix QW|Felix QW]] ([[User talk:Felix QW|talk]]) 09:59, 28 August 2022 (UTC)
:::I agree, no hatnote needed on Ada. I'm not even sure it's needed on the other one. [[User:Wasted Time R|Wasted Time R]] ([[User talk:Wasted Time R|talk]]) 13:17, 28 August 2022 (UTC)
 
== Embraced by the Education System? ==
See [http://www.seas.gwu.edu/~mfeldman/ada-project-summary.html this] website for an overview of Ada users and application areas.
Someone might want to incorporate some of this into the actual article.
--[[User:Parallelized|Parallelized]] ([[User talk:Parallelized|talk]]) 22:42, 1 February 2008 (UTC)
 
Did any colleges ever offer a course in ADA for the Computer Scientists or others interested? I Suspect NOT. ''"In 1991, the US Department of Defense began to require the use of Ada (the Ada mandate) for all software, though exceptions to this rule were often granted. The Department of Defense Ada mandate was effectively removed in 1997, as the DoD began to embrace commercial off-the-shelf ([[Commercial off-the-shelf|COTS]]) technology."'' I believe part of the mandates removal was the cost incurred by contractors as ADA was not getting taught in universities.[[User:Wfoj3|Wfoj3]] ([[User talk:Wfoj3|talk]]) 21:44, 23 December 2022 (UTC)
== Pascal ==
 
:This 1985 ACM article about the University of New Orleans adopting Ada as its primary programming language. (https://doi.org/10.1145/323275.323389)
Ada has some tastes of Pascal still but not one of the bad ones. --[[:Janet Davis|Janet Davis]]
:I wish I had a reference for the University of Southwestern Louisiana, now [[University of Louisiana at Lafayette|University of Louisiana Lafayette]] as of 2000, introducing Ada in its first programming classes for Computer Science, Computer Engineering, and Telecomm Engineering curriculums circa late '80s, early '90s that I experienced.
:There were, according to this source as of spring 2000, MANY universities & colleges throughout the world introducing Ada as a foundational programming language. (http://www.seas.gwu.edu/faculty/mfeldman/ada-foundation.html) [[User:Mebobbob|Mebobbob]] ([[User talk:Mebobbob|talk]]) 16:07, 15 February 2023 (UTC)
:IIRC I had a one lecture introduction to Ada in a comparative programming languages course at Lancaster Uni in 1983/4.
:I was definitely taught Ada at the University of Kent at Canterbury in the late 1980s, this was a course contracted for by my employers, which I think they ran several times for us. Clearly UKC had the ability to teach Ada in-house, though I'm not sure if it was on the curriculum. I'm pretty sure Mid-Kent College was teaching it on the curriculum for their CompSci HND, later degree, which was very highly optimised for my employer - sites across the road from each other - as its students arrived for their industrial year already familiar with it.
:The issues around the Mandate removal were complex and it wasn't simply that Ada wasn't being taught, so much that many students felt they had better, wider, higher-paid opportunities using other languages, which were used across multiple industries, such as finance, whereas Ada largely restricted them to aerospace/defence/safety critical work, and therefore the courses weren't popular. [[Special:Contributions/86.14.138.8|86.14.138.8]] ([[User talk:86.14.138.8|talk]]) 19:23, 23 October 2023 (UTC)
 
== listHoax of possible topicslanguage ==
what about 1st party claims it was a disinformation hoax? see https://www.plover.com/~mjd/misc/hbaker-archive/sigplannotices/gigo-1997-04.html [[User:Gcbwiki|Gcbwiki]] ([[User talk:Gcbwiki|talk]]) 04:04, 9 June 2023 (UTC)
 
:I'd point out that that was published in early April, and that even Reddit classifies it is humo(u)r. [[Special:Contributions/81.149.7.120|81.149.7.120]] ([[User talk:81.149.7.120|talk]]) 22:21, 30 September 2023 (UTC)
(list of possible topics moved from main page)
What about
* how Ada tied into formal specification languages?
* how Ada is very stongly typed
* packages in Ada
* concurrency support
* real time/embedded system support ???
* how Ada suffered from design by DOC committee/specifications and required super-fast hardware for compilation/debugging.
* ?? others
 
== listSubtypes ofand possible topicsrange ==
 
In the subtypes box, Hours is defined as "range 0 .. 12;" with the comment "-- at most 12 Hours to work a day". However 0..12 in most notations covers 13 hours... is the article correct? [[Special:Contributions/81.149.7.120|81.149.7.120]] ([[User talk:81.149.7.120|talk]]) 22:24, 30 September 2023 (UTC)
I think the Steelman language requirements page would be better as part of this entry, or maybe a subpage, as it isn't really of interest except in the context of Ada. Anyone agree/disagree? --Matthew Woodcraft
 
:Hours is defined further up as a mod 24. The subtype is Working_Hours, which is used to keep track of a person's hours spent at work, where the comments give this particular employer's rules that Monday through Friday are the only working days and someone can work anywhere from no hours to twelve hours during any of those days. [[User:Wasted Time R|Wasted Time R]] ([[User talk:Wasted Time R|talk]]) 22:52, 30 September 2023 (UTC)
 
Development History: If possible a table summarizing the roughly 17-18 received, all but one Pascal-based designs, with names or references preceding the four finalist colors would be good. Any distinct features might be noted before their developers fade to dust. [[Special:Contributions/143.232.210.150|143.232.210.150]] ([[User talk:143.232.210.150|talk]]) 17:44, 14 May 2008 (UTC)
 
== AIMS is not the 777's fly-by-wire system ==
== More Ariane 5 ==
 
I've taken out the incorrect claim the fly-by-wire system on the Boeing 777 is the Honeywell AIMS, AIMS is the Flight Management System, covering stuff like cabin displays and maintenance, the actual fly-by-wire system on the 777 is the Primary Flight Control System, produced by BAE Systems Rochester, which fortunately was also written in Ada, so I've substituted that (full disclosure, I was part of the PFCS software team). I've expanded the comment with various other flight control/fly-by-wire systems written using Ada.[[Special:Contributions/86.14.138.8|86.14.138.8]] ([[User talk:86.14.138.8|talk]]) 21:18, 23 October 2023 (UTC)
I don't think the note re the Ariane 5 disaster is quite correct. As I understand it, the fault was the re-use of a part ''and'' its software, which had worked properly on the Ariane 4. However, the more powerful engines on the Ariane 5 gave a thrust/velocity/displacement that was out of the part's design range, and the part detected that fact -- correctly, according to its original design. But since it thought it had a number that failed the sanity check it went into debug mode -- again according to design -- and started dumping debug data onto the rocket's control bus. So unless my understanding of the problem is wrong, the problem was a simple failure to review a part's specifications, and nothing at all to do with the programming language or compilation switches. -- [[User:Bobby D. Bryant|B.Bryant]]
 
== Widely used??? ==
:That's basically my understanding of the situation, except that 'detected that fact' is a bit strong -- it seems that the error was a CPU-level floating point trap, with no high-level-language handler. The Ada task in question didn't actually do anything useful after takeoff, so if the exception hadn't been explicitly suppressed the rocket would have been safe.
 
I work with Lockheed Martin on Fighter Aircraft software safety systems and can tell you that in the fighter world Ada is dead. No new effort in the last 10 years has used Ada. I strongly dispute the claim of this article that it is widely used for safety critical systems based on two things: 1) my own experience and work with the fighter aircraft industry for over 42 years now 2) the reference to very dated articles in this article on Wikipedia - one is dated 1996 and another 2014! Please remove this claim or make it specific to certain products. [[Special:Contributions/104.190.180.66|104.190.180.66]] ([[User talk:104.190.180.66|talk]]) 17:59, 19 January 2024 (UTC)
:Certainly that bit of the article could do with improvement, but some mention is probably appropriate in this article (if it were taken out someone would just add it in again). -- [[User:Matthew Woodcraft|Matthew Woodcraft]]
 
:@[[User:104.190.180.66|104.190.180.66]]
:I do not consider an information given by someone who is explicitly speaking about the American fighter world is valid for most contexts around the world. There are many fighter projects in industries which are external to the American or to the British fighter or aerospace industry which are known to have code running which involved Ada. The modernization efforts of the Saab Gripen are. Inevitably tied to that. Dassault and the Russian, Indian, Pakistani, Iranian and Chinese industries likely also still write enough code for such needs. Therefore I dispute the validity of this objection. [[Special:Contributions/2804:14D:7840:5CA0:1D54:C9D4:91B8:8C53|2804:14D:7840:5CA0:1D54:C9D4:91B8:8C53]] ([[User talk:2804:14D:7840:5CA0:1D54:C9D4:91B8:8C53|talk]]) 18:21, 29 January 2024 (UTC)
::Then please give some recent examples (programming started less than five years ago) of the use of Ada in these environments. It is easy to raise an objection but the claim in the article, if it is to be backed up, needs to show objective and specific instances of its wide spread usage.
::Based on the wording in the article - since it is widely used - this should prove trivial for you. Again, since widely used, you should have no problem finding numerous examples where the programming for these applications started within the last five years. [[Special:Contributions/104.190.180.66|104.190.180.66]] ([[User talk:104.190.180.66|talk]]) 19:03, 4 February 2024 (UTC)
:::Knoll. Omar. N. [[Special:Contributions/2A00:79C0:703:500:B065:C23:79FF:1B05|2A00:79C0:703:500:B065:C23:79FF:1B05]] ([[User talk:2A00:79C0:703:500:B065:C23:79FF:1B05|talk]]) 16:07, 26 July 2024 (UTC)
 
== “Extremely strong typing” in lede ==
:: The Ariane failure occurred in a piece of the code that has no function in flight (only useful on ground). It was a simple run-time overflow of an float to integer conversion. Since the exception trapping and handling in Ada is somewhat heavy and it was thought that this overflow could not occur, no exception handling was present in this part of the code. In Ada, unhandled exceptions generated propagation to calling levels, this overflow condition propagated all the way up to the main line. Exceptions at the top level main line are handled with a CPU halt, with the assumption that a major hardware failure has occurred and a switchover to backup is needed.
 
Is this a real computer programming term? Sounds very childish. [[Special:Contributions/2403:580B:D91F:0:D913:A7FA:C95B:F93|2403:580B:D91F:0:D913:A7FA:C95B:F93]] ([[User talk:2403:580B:D91F:0:D913:A7FA:C95B:F93|talk]]) 00:31, 27 July 2024 (UTC)
:: The reason that Ada by some is claimed as a contributing factor for the accident is that such a failure occuring in low level was not contained there, but propagated all the way to the top level code causing a halt. Common system design practise in space systems required that malfunctions in subelements are not propagated to other parts of the system.
 
:: The article was misleading on this, I tried to make it more factual. [[User:Uffe|Uffe]] 05:01, 2 September 2006 (UTC)
 
:: PS. The reference used is very bad third level hear-say analysis by a group trying to promote some software called 'Eiffel' and has no bearing on subject.
 
 
: Note that it is only an extract from the [[Ariane 5 Flight 501|main article]]. --[[User:Krischik|Krischik]]&nbsp;<sup>[[User_talk:Krischik|T]]</sup> 07:51, 12 March 2007 (UTC)
 
----
 
== Re: "design by DOC committee ==
:Ada was not "designed by committee", each version (Ada and Ada-95) had ONE designer that had final say on any feature or change to the language. Its design is far cleaner and more organized than many other languages. -- [[User:RTC|RTC]] 01:38 2 Jul 2003 (UTC)
 
:True. The DOD's choice of Ada was the result of a competitive tendering process in which Ada beat the other contenders. The only role of a committee was to decide that it was better than the other proposed languages. -- [[User:Derek Ross|Derek Ross]]
 
----
 
== Re: "required super-fast hardware for compilation/debugging" ==
 
:I added a section on the problems that the early compilers had and why. -- [[User:RTC|RTC]] 02:16 2 Jul 2003 (UTC)
 
::Hmm, I never heard about Ada 80 and I discussed with lots of people involved in early Ada including Jean Ichbiah and people from the Ada/Ed project (first validated Ada compiler). Would you mind naming exactly the documents and compilers? Also point to document about elaboration issues? Thanks. [[User:Guerby|Guerby]] 21:20 17 Jul 2003 (UTC)
 
::I took the liberty of removing that entire section, not only because of Guerby's concerns, but because a quick search of the Web shows that [http://archive.adaic.com/pol-hist/policy/mandate.txt the Ada Mandate was not signed into law until 1990], so it cannot be blamed for the quality of 1980-era compilers.
::FWIW I have also heard mention that when Ada first came out it demanded things beyond then-current compiler technology, so maybe there is still a need for a section like the one I removed. However, if anyone decides to put such a section back in, please check and document any claims of fact included in the section. - [[User:Bobby D. Bryant|B.Bryant]] 23:40 21 Jul 2003 (UTC)
 
== Silly criticisms ==
 
: Ada was widely called by many the "language of the future", but has never been used that much outside of the government. This title is often laughed at by programmers now. A major impediment to Ada's widespread adoption may have been that it is extremely verbose and the variable name conventions (requiring [[CamelCase]] and underscores to be used in the same variable name, such as This_Variable) are difficult to type, look ugly, and don't provide any information, unlike variable name conventions for just about every other language do.
 
I'm excising this whole paragraph. I've never heard it called the "language of the future", after reading a lot about Ada. For every language, you can find someone hyping it that looks silly in retrospect. Usage may be important, but it needs a lot more than just "never been used that much". "The variable name conventions ... are difficult to type, look ugly, and don't provide any information, unlike variable name conventions for just about every other language do" is a bit absurd; Ada has the same freeform variable names that most modern languages do, and the names I've seen in C code look much like the ones in Ada. To say that other language name conventions aren't difficult to type and don't look ugly is a very arguable case to make; BASIC and FORTRAN's short variable names, FORTRAN's type-name relations and Perl's type-name relations can be considered ugly and difficult.
 
I'd like to see some valid criticisms on Ada, but these are just silly. --[[User:Prosfilaes|Prosfilaes]] 02:19, 1 Jul 2004 (UTC)
 
== date discrepancy? ==
 
'''In May of 1979, the Green proposal, designed by Jean Ichbiah at Cii Honeywell Bull, was chosen and given the name Ada'''
 
the above is chronologically the first mention of the name 'Ada' being associated with the Ada programming language. I'm quite certain that when I worked for the US Navy, and at sometime definitely prior to 1976 June 13, that I heard mention of 'the Ada Project' more than once. Do we have any info available from nonclassified source about this beingcalled the '''Ada Project''', prior to 1979?
 
== Reversion of Sep. 14th changes ==
 
There was nothing awful, but nothing great. Ada83 is one version of Ada, not another name for; "statically typed" is more unambigious than "strongly typed"; it was created to stop the proliferation of languages in the DoD, and improving on other languages (and not just C and C++) was a side-goal; what it was designed to do is important; and tasking is just one feature out of many.
 
----
 
I replaced "Ada was named after Ada, Lady Lovelace, the first computer programmer" with "Ada was named after Ada, Lady Lovelace", because the statement that she was a computer programmer directly contradicts the linked Wikipedia article (as well as other sources). My edit was reverted by UtherSRG with no explanation. I'm not trying to denigrate Ada Lovelace or the Ada language; I'm just trying to correct a factual error in a Wikipedia article. There is no historical evidence to support the common belief that she wrote programs for the Analytical Engine. -- [[User:BenRG|BenRG]] 00:23, 12 Oct 2004 (UTC)
 
:Sorry Ben. I get a bit overzealous guarding some articles from anonymous editors. You are right, the article on [[Ada Lovelace]] indeed points out that she probably didn't do any programming. Take a look again at the sentence in quesiton. - [[User:UtherSRG|UtherSRG]] 14:00, 12 Oct 2004 (UTC)
 
::Sure, I'm happy with that. -- [[User:BenRG|BenRG]] 21:21, 18 Oct 2004 (UTC)
 
 
== Ada Capitalization ==
 
I propose to change the capitalization of the identifier 'Text_Io' in the Hello World! example. In my opinion the correct letter case is 'Text_IO' and not 'Text_Io', as it's found in the [http://www.adaic.org/standards/95aarm/html/AA-A-10-1.html Ada Reference Manual] and also in the [http://www.iuma.ulpgc.es/users/jmiranda/gnat-rts/rts/a-textio__ads.htm GNAT source code]. Although Ada is not case sensitive this doesn't mean that capitalization isn't important. The [http://www.adaic.com/docs/95style/html/cover.html Ada 95 Quality and Style Guide] recommends to '[http://www.adaic.com/docs/95style/html/sec_3/3-1-3.html Use uppercase for abbreviations and acronyms]', e.g. Text_IO (for Input/Output). Moreover, GNAT has an option to check attribute casing and reject any identifier that doesn't mach with its definition casing. Both forms are syntactically correct, but Text_IO is more correct and follows the language's guidelines of quality and style. Thanks -- [[User:Suruena|suruena]] 14:13, 2004 Nov 30 (UTC)
 
:Right!
 
--[[User:Krischik|Krischik]] 14:51, 30 Nov 2004 (UTC)
 
== JGNAT, MGNAT and A# ==
 
I've moved [[JGNAT]] back to the [[Ada programming language#Compilers|compilers subsection]] and added [[MGNAT]] (Ada [[Microsoft .NET|.NET]] compiler). I've also removind the reference to [[A Sharp|A#]] to the [[Ada programming language#Related programming languages|related programming languages subsection]] (that was put there by myself). I'm not sure whether A# is only the name of the project, or there are any extension to the Ada language (other than 'limited with', a feature that will be part of Ada 2005). Are the languages accepted by JGNAT and MGNAT a subset of Ada? (Can someone confirm this?) In that case, maybe it would be necesary to add a section called Ada dialects.
 
NOTE: I do not consider [[SPARK programming language|SPARK]] as an Ada [[Programming language dialect|dialect]] because it greatly changes the language with data & information flow analysis (adding formal annotations), therefore becoming another language. But if A# makes any chages (I suppose those are minor changes), I will consider it a dialect.
 
-- [[User:Suruena|suruena]] 23:38, 2004 Dec 6 (UTC)
 
=== More a superset ===
 
I would consider JGNAT and MGNAT more a superset. In order to support the virtual mashines additional featuers are added: Garbage Collector - a must, interface inheritance, limited with, Object.Operation.
 
Yes, some of which will be part of Ada 2005 - but not all with the same syntax. And on top ObjectAda did the Java extension differently. The hope is that with Ada 2005 all both will fall in line again.
 
As for A# - Tricky to say since MGNAT is the only A# implementation - so mayby there are just two words for the same thing.
 
SPARC and "Dialect" - I see the word itself broader then you - The are german dialects which I can't understand - but I can understand SPARC programms.
 
But if you are a native english speaker you may find a more appropiate word.
 
Anyway, I think the current wording is OK for far and I would leave it as it is.
 
--[[User:Krischik|Krischik]] 08:43, 7 Dec 2004 (UTC)
 
==Embedded systems==
 
I removed the Embedded systems cat (a language alone isn't a system) and got a note regarding Ada's intended use within that context. While I wouldn't suggest re-adding the category, I would suggest that someone incorporate that fact in the article itself to better clarify that fact.--[[User:Hooperbloob|Hooperbloob]] 06:46, 14 Feb 2005 (UTC)
 
As a software engineer involved in the development of Ada, I would like to see included in here a comparison with C and C++. Ada is one of the few programming languages certified by the DoD because we produce much more reliable programs, more resistant to hacking than other high order languages, e.g., C++.
However, where speed is concerned, you really want to use either Assembly Language or C, an intermediate language. Ada still requires a lot of memory and has a high overhead. There are some compilers that allow an optimized, bare-bones Ada but they need to be carefully checked. I suggest having two compilers and compiling the source code on both. You'll find different bugs each way.
 
: I just wanted to start writing such a chapter but the first sentence in chapter "[[Ada_programming_language#Features|Features]]" allready reads: "Ada was originally targeted at '''embedded''' and real-time systems, and is still commonly used for those purposes.". --[[User:Krischik|Krischik]] 18:19, 14 Feb 2005 (UTC)
 
 
== Article improvements ==
 
:''"It addresses many of the same tasks as C or C++, but with one of the best type-safety systems available in a statically typed programming language."''
 
This sounds rather dubious to me. No cites, no specifics, simply an assertion. What sort of a type system? Strong, weak, optional type declarations or mandatory, duck-typing; any sort of type inference? For that matter, are there higher-order functions or any functional characteristics at all?
 
: The type discipline is described inside the info box (Typing discipline: static, strong, safe, nominative). As for the describing the type system - we should probable say more. Over at wikibooks we have two <ref>[[wikibooks:Ada_Programming/Subtypes]]</ref> <ref>[[Wikibooks:Ada_Programming/Types]]</ref> rather large articles on Ada's type system. --[[User:Krischik|Krischik]]&nbsp;<sup>[[User_talk:Krischik|T]]</sup> 12:21, 9 May 2006 (UTC)
 
Why is the Ariane 5 section a top level section? That should really be a subheader of a (currently non-existent) Criticism section (I think a criticism section is definitely missing- the first time I ever heard of Ada was when some folks were criticising it). It's also kinda weasel-wordy.
 
: Read again: We are defeding Ada as the Ariane 5 failure was a rooted in mis-management. Neither the programmers nor the programming language are to blame. No criticism on Ada at all is deserved here. It is also one of the most changes sections as feelings run high here. --[[User:Krischik|Krischik]]&nbsp;<sup>[[User_talk:Krischik|T]]</sup> 12:21, 9 May 2006 (UTC)
 
While we are talking about the headers, why the deuce is there an "Ada Wikis" section? That should be a subheader of External links, as none of them are notable enough to have their own article- and that's just in addition to the peculiarity of linking to Wiktionary definitions at all, much less in an "Ada Wikis" top level header. The See also section needs cleanup as well: they are not supposed to be red links. Move'em over into Ext. links as well.
 
: Yes - quite a few links here. Cleaning up is indeed needed. I also noted external links in "see also". --[[User:Krischik|Krischik]]&nbsp;<sup>[[User_talk:Krischik|T]]</sup> 12:21, 9 May 2006 (UTC)
 
--[[User:Marudubshinki |maru]] [[User talk:Marudubshinki| (talk)]] [[Special:Contributions/Marudubshinki | contribs]] 23:56, 8 May 2006 (UTC)
 
Quite frankly, this entire thing looks like it was written by an unabashed Ada promoter.
If it was about a product, I'd think somebody quite simply cut n' pasted promotional material from the company's website. There's also several spots in the entry that all but say that it's 'impossible' to write bad code in the language. I really wish Ada's fans would get it through their heads what they didn't back in the late 80's when you'd find one in damn near any programming shop (at least before C++ took off and Ada experienced a dramatic decline in mind share), which is it's possible to write bad code in ANY language, even stuff that's incredibly contract based like Eiffel. ALL programming languages represent trade-offs and compromises, and that includes Ada. This entry makes it sound like it's a bulletproof language that's will catch almost any error a coder might make ahead of time, which simply isn't true. It's not 1988 anymore, Ada fans, and some concessions to reality and the decline of the use of the language in the real world won't kill you. --[[User:Dh100|Dh100]] 20:11, 29 June 2006 (UTC)
 
: True, you can not catch all errors in existence - but you can catch more then the competition - and it is only fair to mention that. I will reverse your argument: When will it be understood to the general programming community that it is possible for a compiler to flag <code>Date.Day := 33</code> as an error. --[[User:Krischik|Krischik]]&nbsp;<sup>[[User_talk:Krischik|T]]</sup> 12:53, 9 February 2007 (UTC)
 
==Ada Mandate==
Why has the cancellation of the Ada Mandate been deleted from the article page? [[User:Val42|Val42]] 04:34, 27 May 2006 (UTC)
 
:I suspect strongly it's because the Ada fans who wrote and watch over this page didn't care for it. --[[User:Dh100|Dh100]] 20:02, 29 June 2006 (UTC)
 
==Requested move==
[[Ada programming language]] → [[Ada (programming language)]]
– Conformance with WP naming conventions [[User:Atanamir|atanamir]]
Moved. See: [[Wikipedia talk:WikiProject Programming languages/Renaming poll]]
 
== Influences ==
:Extract from: http://archive.adaic.com/pol-hist/history/holwg-93/2.htm (source: portal.acm.org/ft_gateway.cfm?id=1057816&type=pdf)
:# Without exception, the following languages were found by the evaluators to be inappropriate to serve as base languages for a development of the common language: [[FORTRAN]], [[COBOL]], [[TACPOL]], [[CMS-2]], [[JOVIAL]] J-73, JOVIAL J-3B, [[SIMULA]] 67, [[ALGOL 60]], and [[CORAL 66]].
:# Proposals should be solicited from appropriate language designers for modification efforts using any of the languages, [[Pascal programming language|Pascal]], [[PL/I]], or [[ALGOL 68]] as a base language from which to start. These efforts should be directed toward the production of a language that satisfied the DoD set of language requirements for embedded computer applications.
:Ada - DoD HOLWG, [[William A. Whitaker|Col Wm Whitaker]], 1993
I don't know what the complete list of functionality originally from ALGOL 68 is. Maybe concurrency, operators, overloading & strong typing. These were mostly missing from [[ALGOL 60]]. So I changed the "Influenced by:" to refer to ALGOL 68 directly.
 
[[User:NevilleDNZ|NevilleDNZ]] 18:52, 23 November 2006 (UTC)
 
:I think you are misunderstanding the language here. The notion was to start with a "base language" and modify it to meet additional requirements (Steelman). All four finalists chose to start with Pascal, which was widely perceived as a simple, clean language. Of course, Pascal is also a very incomplete language, as it was intended for student programming (compare Wirth's Pascal with ISO Pascal), so a lot had to be changed/added. There was strong lobbying from the British MoD to work with Algol 68, but in the US it had a bad reputation (mostly undeserved, but that's another story). Beyond the base language, ideas were taken from all sorts of places, including Algol 68, [[Communicating sequential processes|CSP]], etc. --[[User:Macrakis|Macrakis]] 18:33, 29 January 2007 (UTC)
 
== Moved from article ==
 
:== Criticism ==
:{{Expand-section|date=August 2007}}
 
:=== The Ariane 5 failure ===
:{{Main|Ariane 5 Flight 501}}
:The maiden flight loss of [[Ariane 5 Flight 501]], a [[European Space Agency]] [[Ariane 5]] launcher, was due to an :error in a program written in Ada for checks of the launcher while on the ground. During the beginning of the flight a :run-time error occurred that was not covered by an exception handler and therefore propagated to the main guidance :program leading to main processor shut down and loss of guidance. Management of the [[Ariane 5]] project had decided :that since the same program worked well for all the flights of the [[Ariane 4]] it would be reused directly, without :being adapted, for the [[Ariane 5]]. For the [[Ariane 4]] program, efficiency considerations had led to the disabling :of the software handler (in Ada code) for one error trap (a data conversion from a 64-bit floating point to 16-bit :signed integer value). However, the flight parameters of [[Ariane 5]] were different and when one value failed a range :check that was impossible to fail on an [[Ariane 4]] there was no code in place to handle the resulting exception. The :incident led to discussions on the use of Ada as a possible contributing factor, in particular concerning the design of :Ada's run-time error handling.
 
This is not a criticism. It is just an anecdote that does not explain anything related to Ada as a language. If someone can re-write the section so that it represents a critical view of Ada, then the section should be re-instated.
 
Wikipedia is not a place for folks with an axe to grind. Rather than complain about how "they" say "this" about Ada and then "something happens", provide a valid explanation of what the language spec provides and how it fails to meet the objectives. A legitimate explanation of the features and deficiencies will provide value to the article. However, the above section that I removed just downgrades the quality of the article without making any sense to an uninformed reader.[[User:Michael Daly|Michael Daly]] 19:31, 20 August 2007 (UTC)
 
== Pronunciation of Ada ==
 
What is the dominant pronunciation of "Ada?" I don't know if it's supposed to be /'æˑdə/ ("add uh") or /'eɪˑdə/ ("aid uh"). If you know, please add the IPA pronunciation to the article. [[User:GoodSirJava|GoodSirJava]] 14:14, 17 October 2007 (UTC)
 
: /'edə/, according to "A Pronouncing Dictionary of American English". But I don't see that the article needs it; it's just the English name Ada.--[[User:Prosfilaes|Prosfilaes]] 15:17, 17 October 2007 (UTC)
 
== Further resources ==
See the [http://en.wikibooks.org/wiki/Talk:Ada_Programming#Resources Ada wikibook]'s discussion page for a collection of possibly interesting references: <small>—Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/82.83.76.5|82.83.76.5]] ([[User talk:82.83.76.5|talk]]) 10:27, 26 January 2008 (UTC)</small><!-- Template:UnsignedIP --> <!--Autosigned by SineBot-->
 
== Wirth programming language ==
 
Ada is not a Wirth programming language. Wirth did not create it. Ada is not a Wirth-like language; languages are vastly dissimilar to people. Ada may be a Wirthian language, but there's no agreement on that[http://www.haskell.org/haskellwiki/Typing]. I fail to see this as a useful or clear category, and would like to see a better name, a clear definition of what a Wirthian programming language is, and to start out with [[ALGOL W]], [[Pascal]], and other self-evidently Wirthian programming languages before adding Ada.--[[User:Prosfilaes|Prosfilaes]] ([[User talk:Prosfilaes|talk]]) 04:08, 3 February 2008 (UTC)
 
== Real World Projects in Ada ==
 
Link to a page that shows real world projects that use Ada:
http://www.seas.gwu.edu/~mfeldman/ada-project-summary.html
[[Special:Contributions/75.68.157.156|75.68.157.156]] ([[User talk:75.68.157.156|talk]]) 10:21, 1 April 2008 (UTC)