Talk:Ada (programming language)

External links modified
Hello fellow Wikipedians,

I have just modified 5 external links on Ada (programming language). Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
 * 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 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.

Cheers.— InternetArchiveBot  (Report bug) 09:17, 26 June 2017 (UTC)

External links modified
Hello fellow Wikipedians,

I have just modified one external link on Ada (programming language). Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
 * 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.

Cheers.— InternetArchiveBot  (Report bug) 05:23, 26 July 2017 (UTC)

Comments and end of line
"Comments stop at end of line, so there is no danger of unclosed comments accidentally voiding whole sections of source code."

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! 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??? 207.225.245.125 (talk) 05:55, 4 March 2018 (UTC)


 * 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.
 * 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.--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. 207.225.245.125 (talk) 17:41, 4 March 2018 (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;
 * 86.14.138.8 (talk) 19:39, 23 October 2023 (UTC)

Double-dash? or double-hypen?
The article reads:

A double-dash ("--"), resembling an em dash, denotes comment text.

I suspect that "double-dash" is incorrect, with the correct statement being "double-hyphen".

But I'm not sure, so I will leave this for someone else.

Karl gregory jones (talk) 17:04, 26 September 2018 (UTC)


 * 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.--Prosfilaes (talk) 04:17, 28 September 2018 (UTC)

"Safe modular programming"
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 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 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?

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.

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.
 * In summary, I'd say it's okay to keep if sourced. Otherwise, it should go.  --A&#8239;D&#8239;Monroe&#8239;III(talk)  02:51, 21 November 2020 (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. —GreenWeasel11 (talk) 03:34, 15 December 2020 (UTC)

Logo
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 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. 7zz (talk) 08:47, 12 March 2021 (UTC)
 * Why do you care? I mean, Wikipedia's role is descriptive in nature, not prescriptive, right? —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 Ada Information Clearinghouse or Adacore, a leading Ada vendor, or on the covers of books about Ada. --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. —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. 7zz (talk) 12:52, 14 March 2021 (UTC)

Reference to SPARK?
Should this article reference / discuss SPARK, which is derived from ada? — Preceding unsigned comment added by 139.63.195.185 (talk) 07:44, 14 January 2022 (UTC)

I don't consider SPARK a Ada dialect, but a real complete programming language — Preceding unsigned comment added by 139.63.195.185 (talk) 07:47, 14 January 2022 (UTC)

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

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.

Ada and Agda
(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. Tisnec (talk) 22:46, 25 August 2022 (UTC)
 * 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. --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 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. 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.  Wasted Time R (talk) 13:17, 28 August 2022 (UTC)

Embraced by the Education System?
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 (COTS) technology." I believe part of the mandates removal was the cost incurred by contractors as ADA was not getting taught in universities.Wfoj3 (talk) 21:44, 23 December 2022 (UTC)


 * This 1985 ACM article about the University of New Orleans adopting Ada as its primary programming language. (https://doi.org/10.1145/323275.323389)
 * I wish I had a reference for the University of Southwestern Louisiana, now 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) 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. 86.14.138.8 (talk) 19:23, 23 October 2023 (UTC)

Hoax language
what about 1st party claims it was a disinformation hoax? see https://www.plover.com/~mjd/misc/hbaker-archive/sigplannotices/gigo-1997-04.html 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. 81.149.7.120 (talk) 22:21, 30 September 2023 (UTC)

Subtypes and range
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? 81.149.7.120 (talk) 22:24, 30 September 2023 (UTC)


 * 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.  Wasted Time R (talk) 22:52, 30 September 2023 (UTC)

AIMS is not the 777's fly-by-wire system
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.86.14.138.8 (talk) 21:18, 23 October 2023 (UTC)

Widely used???
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. 104.190.180.66 (talk) 17:59, 19 January 2024 (UTC)


 * @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. 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. 104.190.180.66 (talk) 19:03, 4 February 2024 (UTC)