Talk:Ada (programming language)/Archive 2

From Wikipedia, the free encyclopedia
Jump to: navigation, search
← Archive 1 Archive 2 Archive 3 →

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 [1] [2] rather large articles on Ada's type system. --Krischik T 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. --Krischik T 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". --Krischik T 12:21, 9 May 2006 (UTC)

--maru (talk) 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. --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 Date.Day := 33 as an error. --Krischik T 12:53, 9 February 2007 (UTC)

I have to agree with Dh100 - this is a puff piece. I didn't read every word but I did not see any mention of why ADA was abandoned, other than mention that compilers were slow and vendors slow in supplying them. ADA wasn't object-oriented, and when OOP took off, ADA got left behind. Now it's just creaky and outdated. ADA still lives on as PL/SQL and in that form is cursed roundly and daily. Wordy plus hard-to-read is just the beginning. --LeoHeska —Preceding undated comment added 16:53, 2 February 2012 (UTC).

As someone programming regularly in Ada, I would not say that it was "abandoned" or "left behind" - there are enough examples in this article where it is used. It has its place. For concurrent systems it is still far more advanced than C++ (no built-in support), Java (really crude support), python (let's just say "global interpreter lock") and most other "modern" languages. For real-time systems and safety-critical systems it is still widely and successfully used. OOP has distinct disadvantages in those contexts (hard to fullfill realtime guarantees or avoid memory fragmentation with garbage-collected systems, combining synchronization with OOP causes its own set of problems, etc.). I also never understood why e.g. Java (or any other language after Ada) didn't use the Ada-style protected object instead of the "synchronized" concept (or other outdated monitor and signaling concepts), which still uses conditional variables instead of entry guards. About "wordy and hard to read" I would rather say Ada is "wordy and easy to read", which is clearly a plus considering that most development time is spent reading, debugging and maintaining code.
I think a wikipedia article should inform the reader about this language, the main features, and maybe also some lacking features, to get a good picture. How widely used it is can be informational if statistics can be found, but the reasons why some people use it or not, like it, curse it, etc. is anecdotal and just pure speculation. — Preceding unsigned comment added by Sfx42 (talkcontribs) 23:29, 29 April 2012 (UTC)

The History and the Standardization sections have no mention of Ada 2005.--76.83.24.57 (talk) 06:20, 5 July 2008 (UTC)

Ada Mandate

Why has the cancellation of the Ada Mandate been deleted from the article page? 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. --Dh100 20:02, 29 June 2006 (UTC)

Requested move

Ada programming languageAda (programming language) – Conformance with WP naming conventions 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)
  1. 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.
  2. Proposals should be solicited from appropriate language designers for modification efforts using any of the languages, 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, 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.

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, CSP, etc. --Macrakis 18:33, 29 January 2007 (UTC)

Moved from article

== Criticism ==
=== The Ariane 5 failure ===
Main article: 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.Michael Daly 19:31, 20 August 2007 (UTC)

Of course you are right. You see for us Ada advocates it is a very touchy part. Ada haters blame Ada for the failure - and they do so loudly. There argument is that Ada did not meet it's objective. Even you ask "how it fails to meet the objectives" - but that is the point: Ada never failed it's objective. The Ariane 5 management failed its objective and where probably looking for a Scapegoat. If runtime checks are explicitly switched off as part of a design decision then it's not the fault of the language. Actually the chapter should have been == Unfair Criticism == - but wikipedia does not normally carry such chapters. I sitting here and I am don't know what to do. Leave it deleted, was not a very good chapter really. Or is the FUD so widespread that it is of encyclopaedic value after all? Honestly I am torn here. --Krischik T 18:27, 31 March 2009 (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. 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.--Prosfilaes 15:17, 17 October 2007 (UTC)

Further resources

See the Ada wikibook's discussion page for a collection of possibly interesting references: —Preceding unsigned comment added by 82.83.76.5 (talk) 10:27, 26 January 2008 (UTC)

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[1]. 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.--Prosfilaes (talk) 04:08, 3 February 2008 (UTC)

  • 10-Nov-2008: I tend to agree with not labeling Ada as a "Wirth-like" language, and so I had put the wording "extended from Pascal and other languages" rather than "based on Pascal" (as in October). Ada is a comb-structured language (4 teeth: "Declare-Begin-Exception-End"), where the semicolon ends a statement, and that is radically different from Pascal separators, where semicolons before an "END" have killed Pascal compilations (zillions of them). Because Ada is so much larger, broader than Pascal, I don't think any Wirth-like connections are very helpful for software readers, but perhaps instead, emphasize some major ways how Ada is NOT like Pascal. -Wikid77 (talk) 15:49, 10 November 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 75.68.157.156 (talk) 10:21, 1 April 2008 (UTC)

Comments

The current text of the comments section is a bit strange. See commentary below:

Ada was designed to use the English language standard for comments:
What "English language standard for comments"? What does this refer to?
the em-dash, as a double-dash ("--")
Ada does not allow non-ASCII characters such as the em-dash (—) in programs; two hyphens in a row is the typewriter convention for writing dashes, that is all.
to denote comment text.
"--" does not 'denote' comment text, it begins it.
Comments stop at end of line,
This is all a very wordy way of saying that Ada has conventional line-end comments introduced by "--".
so there is no danger of unclosed comments accidentally eating whole sections of source code.
This is true of all line-end comments.
Comments can be nested: prefixing each line (or column) with "--" will skip all that code, while being clearly denoted as a column of repeated "--" down the page.
This is not the conventional sense of "nesting comments"; anyway, this convention words for any language using line-end comments.
There is no limit to the nesting of comments, thereby allowing prior code, with commented-out sections, to be commented-out as even larger sections.
This is a pretty vacuous statement, since it works with any line-end comments
All characters are allowed in comments, such as for symbolic formulas (E[0]=m*c^2).
Again, pretty vacuous.
To the compiler, the double-dash is treated as end-of-line,
No need to bring the compiler into the language definition.
allowing continued parsing of the language as a context-free grammar.
Yet another completely vacuous statement.

Lots of verbiage, no more content than saying "Ada has conventional end-of-line comments introduced by '--'". --macrakis (talk) 03:29, 5 November 2008 (UTC)

  • 10-Nov-2008: I was attempting to add more detail for general readers, by adding phrases about the parallel to English--with the commentary notation. Also, the issues about unclosed-comments and nested-comments (comments within commented-out code) are major aspects of comment-syntax design. Noting the "parsing of the language as a context-free grammar" is a brief note emphasizing that the language design is very much concerned with the compiler. There are also several other aspects that I omitted for brevity; however, I think expanding (not reducing) the text would be a better avenue: adding a whole article section about Ada comment syntax and its impact, where readers would be expecting several sentences about the use of comments. I am thankful for the above analysis: without that suggestion to use fewer words, I might never have realized that many more words were needed. It can be so easy to view other people's concerns as "vacuous" when people forget about viewpoints of beginners or laymen. I have worked on clarifying many articles that people had labeled as "too technical" and needed more basic details for general readers. However, the best approach might be to write an intro article ("Introduction to Ada") as has been done with other detailed subjects. -Wikid77 (talk) 15:49, 10 November 2008 (UTC)
  • I agree with Macrakis, that this part is too verbose. What should clearly stay is: That the double dash parallels english/natural languages (it’s in the 83 rationale, Section 2.1: As an end of line remark, the comment should appear as an explanation of the preceding text -- hence the use of a double hyphen (doing duty for a dash) is natural and appropriate, as illustrated by this sentence.), and that arbitrary characters are allowed inside comments (this is not invariably true in other languages and explicitly stated in the tinman requirements).
But the benefits of line comments (no runaway comments, no problems with nesting, grep-friendly, easy to recognize) would IMHO better be elaborated in depth somewhere else. However, I ailed to find sources, except internet discussions, for the problems and merits of line and block comments, yet (WP:OR…)—any suggestions where too look for some? Rathgemz (talk) 22:30, 18 January 2011 (UTC)

confusing text

This article contains the following block of text, and I don't know precisely what it means. I suspect there is some missing punctuation. Anyone know what is trying to be said here?

The semicolon (";") is a statement terminator, so Ada avoids the very common problem where ";END" kills a Pascal compilation because ";" is only a Pascal separator, never allowed either to terminate "END;" in Pascal.

65.183.135.231 (talk) 20:28, 25 March 2009 (UTC)

is is needed at all

I wonder if this is at all needed. It is a detail which language lawyers are interested in - most normal developers never notice the difference between a statement separator and statement terminator as the difference only show in the quality of error message. More important is the null statement which is null; and not ;. Also ;; is illegal in Ada. --Krischik T 06:48, 26 March 2009 (UTC)

reads as an ad

This article reads as an ad - it doesn't even touch any criticism of Ada and fails to mention why this language is so rarely used, outside of US Military --195.113.21.159 (talk) 13:37, 6 April 2009 (UTC)

maybe because there noting wrong worth mentioning

I use Ada in daily and there is nothing I like to criticise. At least nothing substantial worth mention. Note that when I was using C++ there was a lot I liked to criticise about C++.

I could try to dispels some of the FUD around Ada like:

to expensive 
there is a free Ada compiler as part of the GNU_Compiler_Collection.
to complex 
the ISO standard for Ada 2005 is a whooping 3.8% larger then the ISO standard for C++ 2003. And with current amount CPU and Memory available it does not matter any more.
no programmers 
The only which has some merits. But it's not the languages fault that companies do not want to train there workforce.
only used by US Military 
Well, look here and here. Railways, Bank, Aviation, Non-US Military. You have fallen for a Hoax.

But then criticism sections have been discouraged on Wikipedia as such chapters only turn into troll magnets. We leave it as it is. Of course, if you find any substantially wrong with Ada which is not a Hoax or FUD then let me know.

--Krischik T 11:39, 7 April 2009 (UTC)

So, at least, include some part, explaining or mentioning, why is Ada NOT widely used today. (It is not.) Are there historical reasons - and FUD? Probably ... but it should be, at least, mentioned. I won't do it, I don't have the needed knowledge. And I never said there is something substantially wrong with Ada. --Have a nice day. Running 19:01, 7 April 2009 (UTC)
I love to. But you know, the main reason that most new Projects in our company are done in Java is the "replaceable-ability" of Java-programmers. Yes Hire and Fire as main reason for choosing a programming language. And this is Switzerland where people are nice to each other. But ranting about the management won't be very helpful explanation.
Well maybe I can still fit something into the history section why Ada had slow to start and was never quite able to acquire the critical mass to become a "mass-market" programming language. --Krischik T 07:24, 8 April 2009 (UTC)
[2] gives lines of code in Debian 3.1. Ada is the 11th most common language. Given the number of languages around since Ada was created and in use when Ada was created, I don't see the question as why it's NOT widely used today; the question is why is it so widely used when so many other languages have bit the dust? Sadly enough, the answers are just as arbitrary one way as the other in many ways; Ada is not used because C (and C++ and then Java) and Unix won for various reasons, ranging from the arbitrary (AT&T's legal woes) to the historical (once C and Unix got a foot in the door, C++ was easy to switch to, then Java), to the value-based. On the other hand, why is Ada thriving and Modula-3 dead? Because the DoD thrived and pushed their language and DEC died.
In summary, the mere claim that Ada is not widely used today is biased by a demand that to be widely used, you have to be one of a dozen top-dogs. To ask why it's not one of those languages is the wrong question; the real question should be "why is it where it is?", which at some point drags in the life and death of at least a dozen unrelated languages and operating systems.--Prosfilaes (talk) 15:28, 8 April 2009 (UTC)
"Ada is the 11th most common language." - wow, count me surprised. --Have a nice day. Running 12:32, 14 April 2009 (UTC)

Lacks a Lot

Page on Ada lacks the history of the APSE, The attempt to also standardize hardware, Larry Druffle, and it would be nice to have the cut before the colored proposals (the next to last dozen and a half). 198.123.48.76 (talk) 21:49, 12 May 2009 (UTC)

Language constructs

I seem a lack for "Language constructs" or "Syntax and semantics" for this article, something that is found on other articles like Pascal or Eiffel. —Preceding unsigned comment added by ARSHA (talkcontribs) 22:22, 16 June 2009 (UTC)

You find this info in the award wining wikibooks:Ada_Programming. The question here is: how much syntax and semantic is encyclopaedic and when do we cross line into advertising or micro-tutorials. And personally I think some articles already crossed that line --Krischik T 06:58, 17 June 2009 (UTC)
I took the Pascal section on syntax shortened and converted it to Ada. --Krischik T 11:17, 19 June 2009 (UTC)

The United States Air Force is not a reliable source?

Should we just delete all references to the USAF from WP while we're whitewashing this article? And BTW the ADA runtime comes fairly close to being an OS in its own right. Hcobb (talk) 02:45, 21 October 2009 (UTC)

First, we don't know anything about ADA. This is the article for Ada. We can't even tell if the article is speaking about the language, or something else.--Prosfilaes (talk) 03:09, 21 October 2009 (UTC)

Stuff removed from Boolean data type article

The following section was removed from the article Boolean data type:
begin removed text



Ada (defined in 1979, implemented in 1983) defines Boolean in the package Standard as an enumerated type with values False and True where False < True.

type Boolean is (False, True);
 
p : Boolean := True;
...
if p then
  ...
end if;

The relational operators (=, /=, <, <=, >, >=) apply to all enumerated types, including Boolean. Boolean operators and, or, xor, and not are defined on Boolean and any declared subtype. The Boolean operators also apply to arrays of Boolean values.



end removed text
Is there a place for this text in the Ada-related articles? Perhaps in the Wikibook? Thanks, and all the best, --Jorge Stolfi (talk) 23:26, 30 December 2009 (UTC)

Unreliable source cited in Article

The source http://www.sldinfo.com/?p=325 is cited in the introduction as the source of the Former Secretary of the USAF blaming Ada for problems with many major military projects. The article claims that "the Defense Department specified in detail its own operating system, called ADA" and that it experienced problems "retain[ing] talent for ADA when careers were being made in DOS, Apple and LINUX." But Ada is not an OS; it is a programming language. Should such an uninformed source be considered reliable? ChrisPB (talk) 23:12, 13 February 2010 (UTC)

It's written as an opinion piece, not to be confused with a factual presentation. The thing to do would be to see what the wider context is, and also whether there are corrobating sources. Tedickey (talk) 23:37, 13 February 2010 (UTC)
Sure. Let's get an opinion on Ada, by somebody who's managed a department with more projects with more total Ada programmers at work at them, than Michael Wynne. Go right ahead. Hcobb (talk) 02:06, 19 February 2010 (UTC)
That was a facetious comment, which doesn't address the point Tedickey (talk) 02:10, 19 February 2010 (UTC)
It's the opinion of a well informed public official, based on his exposure to classified information. But I will see if CRS, GAO or CBO have tried to total up the cost of this boondoggle. Hcobb (talk) 02:40, 19 February 2010 (UTC)
"Well informed"? Would you be saying that if he was complaining about the use of the military use of the M1 Abrams airplane when people were getting trained on 747s?--Prosfilaes (talk) 17:01, 19 February 2010 (UTC)
Clarification: "the Defense Department specified in detail its own operating system, called ADA" Anyone else see the glaring problem here? Ada is NOT an OS, so either the source isn't talking about Ada [the language], or he's really confused himself somewhere down the line. Do we even know for sure he was referring to the Ada language? --151.190.254.108 (talk) 14:31, 22 June 2010 (UTC)
Well, Hcobb asserts that the source is a "well informed public official", which makes him a WP:RS (only in the Wikipedia sense, of course), without making any points on whether Wynne actually is a suitable source. There probably are more well-informed sources Tedickey (talk) 20:38, 22 June 2010 (UTC)