Talk:Ada (programming language)

This is an old revision of this page, as edited by Uffe (talk | contribs) at 05:09, 2 September 2006 (More Ariane 5). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Latest comment: 10 years ago by 121.211.204.77 in topic Requested move

This template must be substituted. Replace {{Requested move ...}} with {{subst:Requested move ...}}.

Ada Home

  • 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. -Wikibob | Talk 11:24, 2004 Jun 16 (UTC)

Moved comments

Moved comments here from main text. Reorganized into threads.--buzco

Ariane 5

The descrition of the Ariane 5 Failure should not be on a side discribing a programming lanuage a link to a different side should be enough. Ariane 5 Failure

Hermann Wacker

US Department of Defense

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.


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.

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

Make that C, C++, Forth, FORTRAN, Java, Objective C and Pascal front ends! May be others! --buzco

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 !

theory books

Ada is used in a few compiler theory books because of its comprehensiveness and elegance.

primary users

Should there be a section on primary users of a language like ada and how their requirements affected the language?

Pascal

Ada has some tastes of Pascal still but not one of the bad ones. --Janet Davis

list of possible topics

(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

list of possible topics

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

More Ariane 5

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. -- B.Bryant

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


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.
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. Uffe 05:01, 2 September 2006 (UTC)Reply
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.

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. -- 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. -- Derek Ross

Re: "required super-fast hardware for compilation/debugging"

I added a section on the problems that the early compilers had and why. -- 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. 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 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. - 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. --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. -- 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. - UtherSRG 14:00, 12 Oct 2004 (UTC)
Sure, I'm happy with that. -- 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 Ada Reference Manual and also in the GNAT source code. Although Ada is not case sensitive this doesn't mean that capitalization isn't important. The Ada 95 Quality and Style Guide recommends to '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 -- suruena 14:13, 2004 Nov 30 (UTC)

Right!

--Krischik 14:51, 30 Nov 2004 (UTC)

JGNAT, MGNAT and A#

I've moved JGNAT back to the compilers subsection and added MGNAT (Ada .NET compiler). I've also removind the reference to A# to the 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 as an Ada 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.

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

--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.--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 "Features" allready reads: "Ada was originally targeted at embedded and real-time systems, and is still commonly used for those purposes.". --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 [1] [2] rather large articles on Ada's type system. --Krischik T 12:21, 9 May 2006 (UTC)Reply

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

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

--maru (talk) contribs 23:56, 8 May 2006 (UTC)Reply

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

Ada Mandate

Why has the cancellation of the Ada Mandate been deleted from the article page? Val42 04:34, 27 May 2006 (UTC)Reply

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

Requested move

Ada programming languageAda (programming language) – Conformance with WP naming conventions atanamir

The following discussion is an archived debate of the proposal. Please do not modify it. Subsequent comments should be made in a new section on the talk page. No further edits should be made to this section.

The result of the debate was move as outlined. -- tariqabjotu 02:43, 7 September 2006 (UTC)Reply

Note: This poll has been transcluded onto the talk pages of a number of individual programming languages, but is in fact a subpage of Wikipedia talk:WikiProject Programming languages. When you comment, please note that this survey is for multiple programming languages, not just the one you saw it on.

Some editors have proposed a general rename of articles named with the pattern "FOO programming language" to the pattern "FOO (programming language)". Please note that this poll only is applicable to those programming languages whose names alone would introduce ambiguity. For example, programming languages such as Java and C , whose names alone are ambiguous, would be at Java (programming language) and C (programming language), respectively. Unique names such as Fortran and COBOL, should remain at their respective simple names.

For instructions on how to add a poll participation request to additional applicable article talk pages, please see: Wikipedia talk:WikiProject Programming languages#Poll procedure

Please add "* Support" or "* Oppose" followed by an optional brief explanation, then sign your opinion with ~~~~

Voting

  • Abstain Support - I initially abstained because I just wanted to get a procedure rolling. Looking at the first few comment, I support the rename. As with other editor, I only want this where ambiguity exists in the name: e.g. for "Python" but not for "Perl". Also, something like "Python programming language" would still redirect to "Python (programming language)" under the proposal, so existing links would not break. LotLE×talk 22:32, 1 September 2006 (UTC)Reply
  • Support - However, I would object to specifying "programming language" anywhere in the title, as parenthetic remark or not, if the name of the language itself does not have any ambiguity issues. For example C programming language should change to C (programming language) (since C is already taken), but Fortran should stay at Fortran. --Serge 23:24, 1 September 2006 (UTC)Reply
  • Support - originator of the request; it would also meet the common names policy and also meet the disambiguation guideline. atanamir 23:32, 1 September 2006 (UTC)Reply
  • Oppose. The convention has been "<name of language> programming language" for quite a while and I don't think it helps by changing it now. There are already redirects in place for "<name> (programming language)" and it would only add more work to move them all there. Also, it goes against conventions in other media. In books related to programming on the copyright page where it sometimes has sorting information for the book many books say "Computers & Internet - <name> programming language I. Title" or something similar. - DNewhall 23:32, 1 September 2006 (UTC)Reply
  • Oppose. To quote Wikipedia:Disambiguation, "When there is another word (such as Cheque instead of Check) or more complete name that is equally clear (such as Titan rocket), that should be used.". It is undeniable that the "C programming language" is a widely-understood name, not just a description. There's a reason K&R's book is called The C Programming Language rather than C, a Programming Language. Diverse examples from other areas include French language, Titan rocket, sticking plaster, bread roll, contract bridge. What makes programming languages different from these topics? Deco 23:44, 1 September 2006 (UTC)Reply
    • If those articles were named like the programming languages are currently, they would have been something like sticking plaster dressing, bread roll food, and contract bridge card game. Titan rocket, in fact, is a redirect to Titan (rocket family). The natural languages are a slightly odd exception to the normal convention, but i'm not a linguist, and not about to argue with them. (I do know, however, that many non-English Wikipedias use the normal (parenthesized) disambiguation convention for natural languages.) --Piet Delport 13:40, 2 September 2006 (UTC)Reply
      • Apologies for the bad example - Titan rocket was moved since it turned out to be a rocket family, but others such as Angara rocket were not. The controlling question here is whether "C programming language" is a "more complete name" for C. I argue that it is, and so standing guidelines strongly support the current name. Deco 10:12, 3 September 2006 (UTC)Reply
        • I would argue that isn't. You can say "I play contract bridge" and "I use C", but not "I use C programming language". You can expand the names into noun phrases, as in "I play the contract bridge card game" and "I use the C programming language", but in both cases "the * card game" and "the * programming language" are not part of the name itself, anymore. --Piet Delport 06:04, 4 September 2006 (UTC)Reply
          • The presence or absence of a leading article is not a reliable indicator of whether it's a name or not, as indicated by French language, unless you wish to expand this proposal to move X language -> X (language) as well. Deco 06:28, 4 September 2006 (UTC)Reply
            • Definitely not something i'm interested in pursuing; let the linguists and editors involved with natural languages worry about their own naming convention. --Piet Delport 12:09, 4 September 2006 (UTC)Reply
              • (I know I am commenting on a now old post, but...) My take on "French language" is that it's different from "C programming language" since French is the language of the French. However, "C" is not a language named after a culture, country, or people (or anything). "C" only refers to C; "French" refers to a whole lot more than a language. Also, "French" is descriptive, but "C" is not. There's no need to clarify "C" or let it modify a noun. But being that a one letter name for something is inherently ambiguous, as well as names such as "Java" or "Python" (as already mentioned), there needs to be the parenthetical, "(programming language)".
  • Support - due to its name being "Ruby". --Yath 01:31, 2 September 2006 (UTC)Reply
  • Support - this is the standard way that most Wikipedia articles are named. Use the common name and disambiguate appropriately using parentheses when necessary. --Polaron | Talk 01:43, 2 September 2006 (UTC)Reply
  • Oppose - For the same reasons as DNewhall. Chris Burrows 02:11, 2 September 2006 (UTC)Reply
  • Oppose — Per Deco, I don't see how adding parentheses to an article title which is already clear is an improvement. --Craig Stuntz 02:47, 2 September 2006 (UTC)Reply
  • Support -- Crypotography has had much the same problem for some time. It has adopted the "<topic> (cryptography)" approach which has worked well. Not elegant perhaps, but ... ww 05:20, 2 September 2006 (UTC)Reply
  • Oppose — Either way, there should be a second link so that both "C (programming language)" and "C programming langage" produce the C article. My main reason for opposing is that it isn't really consistent with the new "C programming language, criticism" page that was spun off the main C article; what would that name turn into? By the way, the official standard name is "programming language C", but to me that sounds too much like "PL/C" which would be wrong. Deco's remark is quite right. — DAGwyn 07:56, 2 September 2006 (UTC)Reply
  • Comment. This proposal is different from the original proposal, found here, which is now understood as having unanimous consensus in favour. Please do not interfere with the original proposition by misrepresenting it and opening a straw poll here, which can only serve to undermine the usefulness of the original proposal. It would have been much better to simply post a link. - Samsara (talkcontribs) 09:40, 2 September 2006 (UTC)Reply
The original proposal seems pretty wacko to me, and I don't see any evidence of a consensus. As I understand it, this current section is not a "straw poll", but a genuine attempt to determine whether or not to move the C article to a new name, independently of whether that wacko proposal is accepted. — DAGwyn 09:53, 2 September 2006 (UTC)Reply
In what way is "C programming language" misleading? I can't think of a more natural title for such an article. — DAGwyn 05:48, 4 September 2006 (UTC)Reply

Discussion

Response to DNewhall's comment

In order to reduce clutter in the voting section, i've deicded to respond to DNewhall's vote here. If you're afraid of the amount of work it would take to move the articles, I can move most of them and i'm sure there are other editors willing to take up the task. Also, most books about programming languages simply have the title or common name of the programming language as the title of the book -- the Wrox series uses "Professional PHP" or "professional Java", not "professional PHP programming language" or "professional Java programming langauge". Many of the books I have also have the sorting information as "Computers -- Programming languages -- X," where X is the programming language. atanamir 23:36, 1 September 2006 (UTC)Reply

The main issue is not that I'm afraid of the work but that it'll be a lot of work with next to no perceived benefit. Both "Euphoria programming language" and "Euphoria (programming language)" go to the same page and I (and others apparently) fail to see how that is an improvement over the current convention. The text is exactly the same, you're just adding parentheses. No one is going to get confused about the lack of parentheses (also remember that the names with parentheses already have redirects in place). Is "<name> (programming language)" a more correct title for the article? Arguably. Is it worth the effort of moving all the pages over from their perfectly understandable title to a title that already has a redirect in place for it? No. - DNewhall 16:10, 2 September 2006 (UTC)Reply
I think you misunderstand the point of stylistic consistency on Wikipedia. Any one article in isolation would be fine under either convention; in fact, if the project was only the one article on, e.g. "C programming language" there would be no contrast with all the other uses of parens for disambiguation. But if WP (or some subset) was prepared for print or other syndication, having relatively consistent stylistic choices helps a lot (article naming is, of course, just one small issue among many others, of course). The work involved in a rename would, obviously, be a tiny fraction of the work involved in discussing the question, so that is "vanishingly insignificant". LotLE×talk 16:42, 2 September 2006 (UTC)Reply
When it comes to C, we need to clear and distinct names for the articles on the programming language article and for the book. C (programming language) and The C Programming Language (book) are those two names. They are unambiguous and (or is that because?) they conform with the Wikipedia standard. Anything else should be a redirect to one or disambig page to both. 'C programming language' should redirect to the language and 'C Programming Language' to the book or a disambig page. The existence of a book called 'The C Programming Language' is actually an argument in Support. Aaron McDaid (talk - contribs) 12:49, 4 September 2006 (UTC)Reply
... Appending to own comment ... It's never referred to directly as 'C programming language'. It's always 'C' or 'the C programming language. Note the ' the '. The latter is of the form 'the X Y' where X is the name and Y is the type of object. 'the X Y' (or even 'X Y') is not a new name for the object, simply a way to refer to X where there may be some ambiguity. Aaron McDaid (talk - contribs) 13:07, 4 September 2006 (UTC)Reply

Repsonse to Deco's comment

Imagine if you have a set of objects which all fall under the same category -- let's say they're all different types of Widgets. The types are Alboo, Kabloo, Hello, Wawoob, Baboon, Choogoo, Chimpanzee, etc. Because some will cause ambiguity -- Hello, Baboon, and Chimpanzee -- they need to be disambiguated. However, since the common name (in this case, the real name) is "Hello," "Baboon," and "Chimpanzee," wikipedia has an established precedent of using parentheses. Thus, the unique widgets, Alboo, Kabloo, Wawoob, Coogoo, can have articles simply at the name itself; but the ambiguous names should have articles at Hello (widget), Baboon (widget), and Chimpanzee (widget). Thus, the article titles will be uniform in that they are all "at" the name itself, but with a disambiguator on several of them. This is easier than making all of the articles at Alboo widget, Kabloo widget, Hello widget, etc. Also, it allows for the pipe trick, so links can easily be made with [[Hello (widget)|]] --> Hello. atanamir 23:54, 1 September 2006 (UTC)Reply

  • Titan rocket may now be a redirect, since it turned out to be a family of rockets rather than a single rocket, but there are still many rockets named that way (e.g. Angara rocket) and it's still cited on Wikipedia:Disambiguation specifically. The miniscule convenience of the pipe trick is not a reason for anything. My point is that this is a much wider concern than programming languages alone and represents a significant departure from the disambiguation guidelines. It would be radical to make such changes in a single area without raising them to the wider community, when your argument seems to apply to everything. The point of contract bridge and bread roll is that the more common names for these topics are "bridge" and "roll". Deco 07:48, 2 September 2006 (UTC)Reply

Simpler disambiguation

Even if we add the parentheses, the guideline at Wikipedia:Disambiguation#Specific topic makes sense to me:

If there is a choice between disambiguating with a generic class or with a context, choose whichever is simpler. Use the same disambiguating phrase for other topics within the same context.

For example, "(mythology)" rather than "(mythological figure)".

In this case, we could have the simpler and more widely applicable "(computing)" instead of the long "(programming language)". --TuukkaH 10:04, 2 September 2006 (UTC)Reply

I agree with the sentiment, but i think "(computing)" is too wide, with way too much opportunity for clashes:
"(programming language)" might lean towards the long side, but i don't think any alternative class comes close to being as simultaneously large, well-defined and well-populated. --Piet Delport 15:14, 2 September 2006 (UTC)Reply
I agree that if we were to use parentheses, "(computing)" is not specific enough. Your examples are excellent, particularly "Icon", which clashes with an already-existing article! Deco 10:40, 3 September 2006 (UTC)Reply
Perhaps you're right in that it's not specific enough. On the other hand, the disambiguation can never be perfect as there are several programming languages that share a name: NPL has three programming languages, The Language List has four programming languages called G. What about "(language)" then? --TuukkaH 22:02, 3 September 2006 (UTC)Reply
"Language" connotes something rather different from "programming language". "Lisp (language)" for example. "Programming language" is the accepted category in the industry, abbreviated to "PL" quite often in discussions (whereas "L" is never used for this). — DAGwyn 05:59, 4 September 2006 (UTC)Reply
What about just "(programming)"? Or is that too ambiuguous as well? atanamir 02:39, 5 September 2006 (UTC)Reply
The above discussion is preserved as an archive of the debate. Please do not modify it. Subsequent comments should be made in a new section on this talk page. No further edits should be made to this section.

To meet the new standard, the pages should be moved to something like Criticism of C (programming language), right? examples are Georgia (U.S. State) and Politics of Georgia (U.S. state). atanamir 02:42, 5 September 2006 (UTC)Reply

Depends on the page in question, most likely; some would work like above, some (like C syntax) wouldn't require any changes, and some might want to use a different method to disambiguate. --Piet Delport 05:55, 5 September 2006 (UTC)Reply
Agreed with Piet; only the ones that would incite ambiguity -- simply "Criticism of C" would have ambiguity, but "C syntax" or "Syntax of C" are both rather unambiguous and would not need change. atanamir 06:01, 5 September 2006 (UTC)Reply
Surely, criticism of C is pretty unique and should be the article? Are there any other C's that would be criticized? Aaron McDaid (talk - contribs) 21:41, 5 September 2006 (UTC)Reply
I agree that the most likely "C" to be criticised is the programming language, but some may be looking for a criticism of the letter or magazine. Unlikely, but possible. This decision would be left up to the community, though. atanamir 01:57, 6 September 2006 (UTC)Reply
As of now, there is only one C that is criticized on Wikipedia, and I am not aware of anyone wanting to write an article criticizing any other Cs. Therefore, criticism of C is unique. The Wikipedia standard is to only disambiguate when necessary. That article should be moved to criticism of C at some point, but we should let this debate finish first. Aaron McDaid (talk - contribs) 09:16, 6 September 2006 (UTC)Reply
For the record, "Criticism of C" didn't even exist until I created the redirect yesterday. Was kind of surprised because it was at that wierd, longish name and is a pretty good article :). RN 10:19, 6 September 2006 (UTC)Reply
The C criticism article was split off from the main C article, where it had previously been embedded, in response to a requirement in order for the main C article to be designated a "Good Article". I picked the name with the idea that it was a sub-article of the main one. Once the discussion has settled, I don't object to some reasonable renaming, so long as the links between the two articles are fixed up so they still point to each other. — DAGwyn 21:51, 6 September 2006 (UTC)Reply
Aaargh! Whoever just renamed the main C article ignored this linking issue. I have edited the C criticism article so its link to the C article does not have to redirect. — DAGwyn 20:20, 7 September 2006 (UTC)Reply
The term "criticism" should not be used (I've stated reasons for this on Talk:C (programming language); the more accurate term of "analysis" or something similar should be used. Dysprosia 03:54, 7 September 2006 (UTC)Reply
You also received feedback to the effect that criticism doesn't have to be negative, that the article is fairly balanced, and that a list of limitations has to seem somewhat negative no matter how well-intentioned it may be. The C criticisms article is not at all a complete analysis of the language, just a description of the many characteristics of C that have drawn reasonable criticism. Since C is so popular and wide-spread, it is a target for a lot of sniping and second-guessing, and it is undeniable that that has happened, which is part of what the C criticism article specifically addresses. One of the useful functions of the C criticism page is to bring some balance to that criticism. — DAGwyn 20:20, 7 September 2006 (UTC)Reply
I also responded to that comment by saying (and I'll repeat the comment here for the benefit of readers of this page) that the term "criticism" still has primarily a negative connotation and that because of this it is an undesirable term. The article in question has the potential to contain discussion on design points on the language and opinions on those who comment on these design points. That is an analysis of the design of the language, and has the potential to encompass views from all points on the spectrum on the matter. Dysprosia 07:43, 8 September 2006 (UTC)Reply
I just want to chip in that i agree with DAGwyn that "criticism" does not carry negative any primarily negative connotations in this context. As the criticism article says:
"In literary and academic contexts, the term most frequently refers to literary criticism, art criticism, or other such fields, and to scholars' attempts to understand the aesthetic object in depth."
There are certain fields ("In politics, for instance [...]") where "criticism" connotes mainly negative criticism, but it should be reasonably clear that encyclopedias won't limit themselves to that. --Piet Delport 23:32, 10 September 2006 (UTC)Reply
Technically, it shouldn't carry any as you suggest but most seem to think it is a dumping ground for it. I would recommend "Analysis" as that's what I'm doing for criticism page I watch. RN 23:43, 10 September 2006 (UTC)Reply
"Analysis" usually implies something more formal, complete and reductionistic, though. Is that what the article is aiming for? --Piet Delport 00:00, 11 September 2006 (UTC)Reply
It doesn't need to imply that. The article in question however should aim to examine as many viewpoints on as many language points as possible. Dysprosia 02:33, 11 September 2006 (UTC)Reply
Unfortunately, the C (programming language) article itself does force the negative connotation on the reader by saying "Despite its popularity, C has been widely criticized. Such criticisms fall into two broad classes: desirable operations that are too hard to achieve using unadorned C, and undesirable operations that are too easy to accidentally achieve while using C. Putting this another way, the safe, effective use of C requires more programmer skill, experience, effort, and attention to detail than is required for some other programming languages." That whole paragraph implies that the article Criticism of the C programming language is negative (why else say "Despite its popularity" and then cite two negative classes?) Mickraus 17:14, 24 January 2007 (UTC)Reply
I'll just wait for someone else to paint the bikeshed — Preceding unsigned comment added by 121.211.204.77 (talk) 12:52, 6 July 2015 (UTC)Reply