Talk:Ada (programming language)
|WikiProject Computing||(Rated C-class, High-importance)|
- The big one was that Ada 2005 has Java-like interfaces.--Prosfilaes (talk) 07:29, 14 September 2010 (UTC)
- That can't be true. The interfaces are from Ada 83, and at that time Java wasn't even conceived in a mystical hallucination. Of course Java borrowed it from Ada 83! Java copies some features from everywhere, but invents nothing by itself (the advantage of Java is JRE, which is outside Java). Rursus dixit. (mbork3!) 07:10, 30 September 2010 (UTC)
- I updated article accordingly. It's a really bad thing that such editor-inferred speculations are added as facts in the articles. All such alleged influences should be painstakingly cited by the original source(s), i.e. the inventors themselves or the design rationales that they produced. Rursus dixit. (mbork3!) 08:12, 30 September 2010 (UTC)
- That can't be true, huh? "A major improvement is that Java-like interfaces are introduced thereby permitting simple multiple inheritance" from the Ada 2005 rational. I think it behooves you, before you get emotional about something, to check it first.--Prosfilaes (talk) 08:30, 30 September 2010 (UTC)
- Then perhaps when someone asked about how "Ada 2005 [was] influenced by Java", you shouldn't aggressively disagree and complain about how it's such a bad thing that "such editor-inferred speculations are added as facts", if you don't know about Ada 2005.--Prosfilaes (talk) 20:06, 5 October 2010 (UTC)
I don't have time just now to add the info, but object orientation is performed by writing packages that provide access types referring to private records. These private records are accessed through functions (c.f. methods in C++ and other class-oriented OOPLs) allowed access to those records. The syntax is pretty much deviant from C++, but there are no syntax doublettes like C++:es struct/namespace/class semantic overlap nor Java:s class/interface semantic overlap. (In that meaning Ada95 is cleaner, which is my POV, and not citeable.) Rursus dixit. (mbork3!) 07:21, 30 September 2010 (UTC)
- The syntax in Ada 2005 is a lot more similar to that of C++.--Prosfilaes (talk) 08:31, 30 September 2010 (UTC)
- OK, I didn't mention access types. I just said "are accessed". Rursus dixit. (mbork3!) 18:53, 29 October 2011 (UTC)
The info box states that Ada95 has been influenced by Smalltalk. Is there a reference for that? I was just (unsuccessfully) trying to find out what features have been influenced, so some citation to follow up would be nice.
- Much of the discussion above is pretty funny in a weird kind of way - I find this symptomatic in software kind of articles on Wikipedia, I got some blatant lie reinserted some time ago for the reason that a subclause in my change note could be interpreted in the wrong way - other articles that are notoriously usually unreliable and WP:OR and unduly WP:SYNTHetic are religious and nationality articles. If you feel for it, remove Smalltalk, it's certainly from someones imagination, and if you're lucky, you won't be attacked from an ignorant moron. Rursus dixit. (mbork3!) 19:01, 29 October 2011 (UTC)
- None that I can see. Smalltalk is a "pure" OO language, where everything is an object. So you can see where Java/C# inheret from Smalltalk. Ada is not designed in this way, so even though some concepts are the same between the two languages, I don't see a direct connection (unlike Pascal/C, where there are clear simmilarities). Unless someone has a source to the contrary, Smalltalk should probably be removed from the list of influencing languages. It should also be noted, the "Influenced" portion of the Smalltalk page makes no reference to Ada...(These should really be consistent across articles...) --Gamerk2 (talk) 15:36, 4 November 2011 (UTC)
I hope it isn't bad form to come in here and just say a big big thankyou to all Wikipedians! First time I've had a through look at the *Talk* behind an article, and I learn a lot, from the record. ~ Bryan O'Doyle — Preceding unsigned comment added by 220.127.116.11 (talk) 20:42, 4 February 2012 (UTC)
Sentence about the Goto statement
The side remark that the goto statement is supported but seldom needed appears superfluous to me (hence I removed it but my edit was revoked). Here is my reasoning:
- Goto is supported in many languages, but it is a relict and never used (with maybe some extremely rare exceptions) (in 10 years of Ada programming I never needed it). As the "exit" statement is supported, I would claim that goto is in fact _never_ needed.
- The goto statement also exists in C/C++ and many other languages, yet it is not mentioned in the respective wikipedia articles.
- This article is by no means a complete account of Ada, and probably can't and shouldn't be, and there are thousands of more important things to add than something about the goto statement.
- The sentence reads to me like someone's attempt to portray Ada as an old-fashioned language (considering that it is not mentioned in articles about other so-called modern languages), which is why I do not like it in the current form.
- I've used the goto statement in Ada. Naturally the next maintainer removed it and broke the function.
- What I said in the edit summary was a little overboard; I said that Ada didn't need a goto statement because it had a while loop and an if-then. In fact, all program control can be implement with loop-end loop and if-thens (no functions necessary). At the same time, if you have code you're converting from a language with gotos to Ada, it's hard for a converter to avoid goto; many Java decompilers don't, despite producing illegal code.
- I don't see any reason why all control structures in Ada shouldn't be mentioned; I can see a reason to drop loop ... end loop, since that's just a while loop, but goto is semantically distinct from the other control structures.--Prosfilaes (talk) 08:35, 30 April 2012 (UTC)
- "To the compiler, the double-dash is treated as end-of-line, allowing continued parsing of the language as a context-free grammar."
is not really correct; if it were, the text of the comment would be parsed as language text. It would be more accurate to say that the double-dash causes the input parser to discard all characters until the end-of-line.
It's also not strictly true that comments can be nested, because the end-of-comment character is the EOL, and enclosing a comment in another does not require two EOLs (as it would if it were truly nested). But the intent is clear and I can't think of a wording that would be clearer.