Talk:Java (programming language)/Archive 5

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
Archive 1 Archive 3 Archive 4 Archive 5 Archive 6 Archive 7

Out of place criticisms

The License section of the Criticisms section refers solely to Sun's implementation of Java stating that "Java [...] cannot be included in projects [...] such as Debian". This is not true, Debian does include a Java compiler, albeit an incomplete one, in the form of GCJ.

I'm not suggesting that the problems of Sun's Java implementation and its decendands which is the predomenant one should be downplayed, merely that the distinction between the two needs to be made clear to the reader, and the article does a very poor job of informing the reader about which it is referring to at any time, using the blanket term "Java" for everything, which is ambiguous. --Ævar Arnfjörð Bjarmason 18:59, 29 May 2006 (UTC)

This is more a critisism of the java platform really. (its unfortunate that there was no top level java article for so long, cleanup of that mess is still needed.....) but java is an open specification in the same sense win32 is an open specification. Sure there is public documentation availible but its nowhere near adequate to reimplement without reverse engineering (or doing a clean room with two groups of programmers and the sun source). Plugwash 19:11, 29 May 2006 (UTC)

This Criticisms section really has gone too far. This section needs to be stripped of what does not belong in it (roughtly, almost all the text), and present a real SYNTHESIS of common critics about Java. I don't think the "language irregularities" is in the right place too (for example, why putting in irregularities the fact that the Iterators can not be reset ? What is irregular in that ?). Regardless of what editors think about Java as a language, this section can only confuse readers. At least, what I suggest is : strip the article to the bone, just making a list of important issues (real or perceived), like speed, memory consumption, L&F, and link to another created article, with all the Criticisms. Hervegirod 23:12, 9 June 2006 (UTC)

Yeah. "Language irregularities" seems original research. Minor points of syntax, misunderstanding what ResultSet.getInt() returns, strange expectations of what object oriented means, ...? A lot of unsourced stuff in criticism. Weregerbil 12:05, 10 June 2006 (UTC)
Done, I created a new article, with ALL stuff taken from the original, and tried to keep only a synthesis of critics on this article. Hervegirod 09:38, 11 June 2006 (UTC)

java influenced javascript?

the infobox lists java having influenced javascript. The text itself admits java and javascript are only distantly related. Shouldn't javascript be removed from the infobox? Ideogram 22:43, 29 May 2006 (UTC)

The names suggest they are related but that is just misleading marketing rubbish, is is enlightening to clarify the difference. Gene Thomas 14:39, 4 June 2006 (UTC)

in Javascript the definitive guide (published by Oreilly) 4th edition in the first chapter it says that javascript and java are not related whatsoever. javascript was going to be named LiveScript but they changed the name at the last moment. this might want to be added, but probably not in the exact words as the book because i'm quite sure that if you did that you would get in a lot of copyright trouble. Javawizard 22:20, 19 October 2006 (MDT)

The syntax of ECMAScript is clearly influenced by Java. What more, this was deliberate - see this edit by the person who designed it, and note the "make it look like Java" goal. Semantically, of course, they are very much different, but "influence" is a broad term, and I would say it should include syntax as well. -- int19h 19:42, 25 February 2007 (UTC)

Featured article candidate: Forth

I have put up Forth as a featured article candidate. Please participate in discussing how it can be improved to match this article in quality. Ideogram 07:21, 4 June 2006 (UTC)

Rendering errors?

3.1.1 Stand-alone application: has what appears to be rendering errors in the text, It shows

[http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html#out out]

.

in the output, the source wiki is

'''{{Javadoc:SE|name=out|java/lang|System|out}}'''

but is being rendered wrong, I didn't know Wikipedia(media) knew about Javadoc, is the engine broken or are the tranformations configured somehere. Either way it is broken. Gene Thomas 14:43, 4 June 2006 (UTC)

Language irregularities

I have removed the entire section because it is already verbatim in the Java criticisms article, which is linked in this article. The length of the criticism section was surely confusing for newcomers, especially this particular section. Plus this section seems original research Hervegirod 19:47, 12 June 2006 (UTC)

external links

Hi all -- You might want to be aware of a situation with an anonymous user who is inserting external links to his site at vias.org into various articles. He seems to take online, copylefted books, and mirror them on his own site, with ads. There's nothing illegal about what he's doing, provided he complies with the terms of the license, but I think it's more appropriate to link to the version of the book on the author's own site. This happened in this article with Downey's book, and I've changed the link so it points to the copy maintained by Downey himself.--Fashionslide 21:17, 15 June 2006 (UTC)

I have renamed external links section "Alternatives" to "Java Implementations". The section was giving an impression that the ones mentioned are "second class" to some "One true Java". However it is not the case. There are a number of Java implementations, some are proprietary and some are free/open source. I have classified them as such. Mritunjai 06:10, 19 June 2006 (UTC)

Implementations

I reverted the change to the 'Major Implementation' part of the info box at the top, but forgot to leave a comment saying why - my feeling is that netbeans and jbuilder are just development environments, not implementations of Java. As I understand it, if this field is to filled out, it should include the Sun implementation, the IBM one, probably Kaffe and some of the other free versions, and maybe Classpath and the gcc/java toolchain. Batneil 11:41, 18 July 2006 (UTC)

Ironic edit

Shouldn't this edit have taken care of itself: [1] :-) kenj0418 18:50, 27 July 2006 (UTC)

Pathway back to FA

Folks, it is really simple: get rid of the lists. Turn them into prose or axe them. If you want this article to get back to FA, think "Tiger Book". The O'Rielly introductory book on Java does have some lists, but the content is not 50% lists. Think prose. List-oriented Java programmers should not contribute if they are tempted to create another list in the prose. See Johnny Cash lists for one way to get the lists out of the main FA-track article. -- 75.26.4.200 23:24, 1 August 2006 (UTC)

Lack of OO purity

I think that the claim that primitive types are not objects does not belong in this section (I'm not saying that the lack of tuples, operator overloading, multiple inheritance, and class properties can not be criticized) Hervegirod 11:01, 7 August 2006 (UTC)

seems like "primitive types are not objects" would belong in a section called "lack of OO purity" to me. Justforasecond 16:46, 7 August 2006 (UTC)
sorry, I just made a mistake when I wrote my comment. What I wanted to say is : the only thing that truly belong in this section is the claim that primitive types are not objects. Lack of tuples, operator overloading, multiple inheritance, and class properties do not. Hervegirod 23:16, 7 August 2006 (UTC)

Reasons for not promoting

Hi all,

I am not promoting this article for a few reasons. The History section could use improvement (e.g. more details/references), especially the claim that Java is "fairly secure" (what is meant by this, who said it). I've heard of the five goals before but where did they come from, this needs a citation or source. Beyond these two issues I see no other major problems with article, so feel free to renominate the article when these issues are addressed.

Cedars 14:23, 8 August 2006 (UTC)

Java History and Sources

I object to the following inaccurate statement (second paragraph of the page):

"The language itself borrows much syntax from C and C++ but has a simpler object model and fewer low-level facilities."

Wikipedia's article on Java (Sun) directly contradicts that statement in its History section.

 http://en.wikipedia.org/wiki/Java_%28Sun%29#History

which says:

"Back in 1990, Engineer Patrick Naughton had become increasingly frustrated with the state of Sun's C++ and C APIs (application programming interfaces) and tools. While considering moving to NeXT, Naughton was offered a chance to work on new technology and thus the Stealth Project was started."

Java largely grew out of a rejection of C++ and its syntax. Naughton and Gosling largely patterned the language after Objective-C (not C++), SmallTalk and Simula68.

As further evidence of this, check Patrick Naughton's own words, here:

  http://www.cs.umd.edu/~seanl/stuff/java-objc.html

Jwisa 03:55, 23 August 2006 (UTC)Jerry W. Walker

External links review

I was reviewing the links in the article and noticed that a few of the portals have Google-ads; I know that Google ads don't automatically disqualify a site from inclusion, but I'm wondering if we really any of them. (A Google search will turn up scores of Java and programming portals). Below is a case-by-case review of the current links. Comments are appreciated. OhNoitsJamie Talk 20:04, 1 September 2006 (UTC)

  • Computer-Books.us Google ads, but does include some notable (and good) books. Weak keep.
  • Javapedia project "Official" (under java.net) keep
  • The Java.net Wiki (under java.net, though we probably only need one of the java.net links)
  • Sun Certification Resource Advertising for exam prep materials. Delete.
  • JavaRSS.com Google ads, though it is a nice selection of content from good sources. I'd be OK with keeping this
  • developerWorks Java Zone—Java resource community I've always like IBM's alphaworks project; though it's arguably commercial, it is quite notable, so I'm fine with keeping it.
  • JavaWhat.com Google ads; once you start digging into it, you find that there's not a lot of content; links to products and Sun pages mostly. I'd ditch it.
  • Java at CodeCodex Google ads; a wiki collection of code samples (though almost all that I sampled were copied from elsewhere. Given that most of the material could be found easily via Google, I'd say delete

Requested move

Java programming languageJava (programming language) – Conformance with WP naming conventions

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)

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)
  • 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)
  • 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)
  • 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)
  • 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)
    • 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)
      • 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)
        • 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)
          • 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)
            • 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)
              • (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)
  • 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)
  • Oppose - For the same reasons as DNewhall. Chris Burrows 02:11, 2 September 2006 (UTC)
  • 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)
  • 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)
  • 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)
  • 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)
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)
  • Oppose - As per Deco, if syntactically correct name is enough for disambiguation, it should be preferred. And also, without parentheses it's more pythonic (readability counts). Samohyl Jan 10:24, 2 September 2006 (UTC)
  • Strong Support — The current convention is at odds with the rest of Wikipedia, and as cumborsome as it would have been to have things like Quicksilver novel, Manowar band, and Darwin operating system. --Piet Delport 13:28, 2 September 2006 (UTC)
  • Support. Needs disambiguating, and the name seems to be to be currently misleading. --maru (talk) contribs 19:25, 2 September 2006 (UTC)
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)
  • Support. Those opposing often Some of those opposing assume that the poll is about deleting the "X programming languages" links - this is not correct. Nor is the intention to move names which are unambiguous, such as Fortran. Aaron McDaid (talk - contribs) 23:06, 2 September 2006 (UTC)
    • For the record, I do not make either of these assumptions, and continue to oppose on the stated grounds. Deco 10:10, 3 September 2006 (UTC)
      • I didn't intend to imply that there weren't other reasons for opposing. Thanks for pointing that out Deco. Aaron McDaid (talk - contribs) 10:33, 3 September 2006 (UTC)
        • Don't worry about it - I appreciate your clarification that these are not valid grounds for opposition. Deco 10:38, 3 September 2006 (UTC)
  • Support per Piet Delport. — Hex (❝?!❞) 23:35, 2 September 2006 (UTC)
  • Support per Hex. -- Fredrik Johansson 12:54, 3 September 2006 (UTC)
  • Support per Piet Delport. – Smyth\talk 14:33, 3 September 2006 (UTC)
  • strong support. Piet Delport puts it well. Programming language articles should be disambiguated the same way that other Wikipedia articles are. — brighterorange (talk) 18:15, 4 September 2006 (UTC)
  • EMPHATIC Support I've wanted this to happen for a long time now. Per Piet Delport. RN 10:34, 5 September 2006 (UTC)

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)

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

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)

  • an example of this that's currently on wikipedia is colours. Some colours, such as Blue, Brown, and Red are at their articles, but colours like Orange (color) need the disambiguation part on them. It isn't at Orange color, althouh there is a redirect -- we can do the same thing with redirects. atanamir 23:57, 1 September 2006 (UTC)
  • 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)

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)

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)
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)
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)
"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)
What about just "(programming)"? Or is that too ambiuguous as well? atanamir 02:39, 5 September 2006 (UTC)
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.

Pages like C programming language, criticism

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)

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

Few questions

Question 1: What is "runtime?" This term is mentioned at the beginning of the article, but it is not explained. There definitely needs to be an article about it.

Question 2: What is "compilation overhead?" This term is mentioned in the "Platform Independence" section, but it is not explained. Perhaps there should be an article about it.

Question 3: What is a "widget" in this context? This term is mentioned in the "Look and feel" section, but it is not explained. Perhaps there should be an article about it. —Preceding unsigned comment added by Oatmealcookiemon (talkcontribs)

You should try searching before assuming there aren't articles already, and then linking to those articles would be helpful to others having a similar problem as yourself. However, the second question should be addressed. --Kamasutra 19:50, 6 September 2006 (UTC)

Lack of OO purity

I deleted the part about tuples, operator overloading, etc... and put it in the specific article, in the Java criticisms#Language choices section. I did this because I think that the main criticims about Java is about the fact that there are primitive types, not all is Object. I really think we ought to delete this part from the main article, because is obscures what is important for the reader (plus it is easily accessible in another article linked to this part). Explaining why it is important / not important to have tuples, operator overloading, multiple inheritance would not be possible in the limited space of this section. People still argue about whether it is important or not to have multiple inheritance, for example... Hervegirod 19:37, 17 September 2006 (UTC)

is it java opensource and/or freeware

sir i want to know wheteher the java is opensource and/ or freeware any body know this plz clear this

Sun Java (the original and de-facto standard java) is freely downloadable and the source is availible as part of the JDK, however there are pretty severe restrictions on redistribution. There have been some attempts at creating a Free (as in meets stallmans free software definition) implementation of java but theese tend to lay some way behind the original java and also app developers don't tend to care about them. Plugwash 07:32, 20 October 2006 (UTC)
Sun has said that that will release Java under the GPL soon, so this might change. --Apoc2400 08:51, 29 November 2006 (UTC)
This hasn't happened at the moment though, right? It seems as though the class libraries at least are still not free software, though they don't seem very eager to inform people about it... Rōnin 01:27, 2 March 2007 (UTC)
They have opensourced the JVM and compiler but not the class libraries yet. Since the compiler and VM are pretty much useless without the class libraries this isn't in itself too significant. Hopefully they will follow through with thier promise and finish opensourcing the rest of the JDK but i'm not holding my breath. Plugwash 17:02, 2 March 2007 (UTC)

Performance criticisms

The performance criticisms refer to Java as an interpreted language. This is not correct. Java is a compiled language that is compiled (in the typical case) to Java byte code. The byte code is executed by a virtual machine, that can be implemented in a number of ways, interpreted execution being only one of those. So it seems to me that this criticism should be in article on the Java virtual machine and not here. Criticisms here should focus on the language itself, and not on the execution environment—if the execution environment is going to be discussed, it needs a more comprehensive treatment than some criticisms of some implementations. If I don't hear any objections in the next couple days I'm going to refactor the performance criticisms to remove discussion of Java as an interpreted language. —Doug Bell talkcontrib 16:28, 30 October 2006 (UTC)

I don't see how the term "interpreted language" is sensible to begin with -- a language's definition is typically independent of any particular implementation of it. Compilation vs. interpretation (vs. bytecode generation + JIT) are attributes of the implementation, not the language definition. There are C interpreters and Java native-code compilers, for example -- and there are many languages that are implemented on both interpreters and compilers. So I agree any criticism on the grounds Java is "interpreted" is wrong on its face. (There are plenty of legitimate grounds on which to criticism Java's performance, in any case...) Neilc 06:54, 31 October 2006 (UTC)
In a variation on interpreted languages, Java use an intermediate step. Other languages that use this type of intermediate step are Perl and Python. Microsoft's Common Language Runtime (CLR) is the functional equivalent of Java's JVM in the .NET versions of Microsoft's languages. The CLR interprets the Microsoft Intermediate Language (MSIL) code the compiler creates when you compile VB.NET, C#, and the other .NET languages. - Jani Syed —The preceding unsigned comment was added by 192.223.163.5 (talk) 20:55, 6 March 2007 (UTC).

Whether Java is interpetive or compiled, there remains a serious performance issue that needs to be addressed and resolved in an objective fashion. I believe that it is generally quite evident that typical Java applications require an inordinate amount of processor time and produce noticable interactive latency, especially when compared to similar C language programs. This is even true with many commercial programs.

I suggest three reasons for this is 1) Java's portable nature prevents it from being tailored to a specific platform 2) Its object-oriented nature prevents low-level optimization and 3) Its automatic garbage collection causes a major performance hit because of inefficient use of memory.

It would be a great service and benefit to the user community if someone more knowledgable than myself could investigate this performance issue and report on it. I fear that too many programers are misguided and consequently make the wrong decision in choosing a language for a new application. Roesser 22:26, 6 July 2007 (UTC)

Wouldn't that be original research?? What would seem to be in scope for Wikipedia would be to find a reliable source that already discusses this, which you are encouraged to do. And you should of course try to keep preconceptions to a minimum.--NapoliRoma 23:54, 6 July 2007 (UTC)

Coding style

I suggest to keep the code examples in the article conforming to the standard convention on coding style as defined by Sun. In particular, the curly braces should not be on their own line. -- int19h 09:37, 1 November 2006 (UTC)

The brace that ends a block should certainly be on its own line. Anyway, using the Java conventions sounds reasonable to me -- how does the article's code not comply with them? Neilc 13:57, 1 November 2006 (UTC)
I agree on following the Sun standard. The article does comply with the standard at the moment, but it has been changed to place the opening brace on its own line several times recently. I've been changing it back to the Sun standard. —Doug Bell talkcontrib 16:44, 1 November 2006 (UTC)
There were a couple of edits recently which seem to deliberately change the coding style to ANSI C conventions: [2] [3]. -- int19h 11:33, 2 November 2006 (UTC)

Remove OOP section?

OOP is under Object-oriented programming. The section discussing OOP does not pertain directly to Java, but is simply a summary of the concept. I linked it to the main page, but I would suggest removing it completely Jabberrock 10:01, 4 November 2006 (UTC)

Links Galore

Extensions and related architectures, Java Specification Requests, the list of IDEs, and many of the other external links need to be cut down. However, would it be a better idea to instead place them into their own articles (ie: List of Java Integrated Development Environments)? Gimmekat 15:45, 9 November 2006 (UTC)

I agree, and in fact just yesterday started to move the IDE links out. There is an existing List of integrated development environments page, but it's organization is a mess compared to the link organization here. I started to clean it up, but gave up for now...feel free to jump in.  :-) —Doug Bell talkcontrib 16:40, 9 November 2006 (UTC)

History of Java is missing the early history and why it was created. Java team started in 1991

I believe that Java was originally created for small devices like PDAs. Gosling et al wanted to create a language to address what looked like a plethora of possible operating systems with the "write once run anywhere" solution. At some point they realized that the idea provided a larger solution than just PDAs and phones.

Below is a quote from a Sun article verifying this. You can find the article here [[4]]:

"Java technology was created as a programming tool in a small, closed-door project initiated by Patrick Naughton, Mike Sheridan, and James Gosling of Sun in 1991. But creating a new language wasn't even the point of "the Green Project."

To demonstrate what they saw as a possible future in digital devices, the Green Team locked themselves away in an anonymous office on Sand Hill Road in Menlo Park, cut all regular communications with Sun, and worked around the clock for 18 months. In the summer of 1992, they emerged with a working demo, an interactive, handheld home-entertainment device controller with an animated touchscreen user interface.

In the demo, the now familiar Java technology mascot, Duke, was shown waving and doing cartwheels on the screen. The device was called *7 ("StarSeven"), named after an "answer your phone from any extension" feature of the phone system in the Green Team office. Duke was actually a representation of the *7's "agent", a software entity that did tasks on behalf of the user. "

Regards, H. Hall

Sometime back the history got moved to the related article Java (Sun). —Doug Bell talkcontrib 15:51, 13 November 2006 (UTC)

Class Libraries

Are the java class libraries GPL and/or publicaly available? mrholybrain's talk 02:33, 20 November 2006 (UTC)

Not yet, but Sun claims they will be released under GPL in 2007. -- int19h 05:28, 20 November 2006 (UTC)
Yes, the JDK contains src.zip which has many of the public API implementations. The rest is in the JDK source; google for something like JDK source to find the licensing terms and the download. Weregerbil 08:20, 20 November 2006 (UTC)
The source is out there but the license pretty much a case of look but don't touch at the moment. Hopefully sun will follow through with thier promise to GPL this stuff. Plugwash 09:21, 20 November 2006 (UTC)

Problem with code sample

i just noticed that the explanation of what happens in the swing sample isn't exactly accurate with what is in the sample itself. someone might want to update the description of the code sample. —Preceding unsigned comment added by 67.182.233.113 (talkcontribs)

could you tell us where you think the inconsistancy is? i've had a quick look and i can't spot anything. Plugwash 01:30, 23 November 2006 (UTC)
if you ran the swing code sample it will simply terminate without showing any window.
Here is my suggestion of a swing sample:
import javax.swing.*;        

public class SwingHelloWorld extends JFrame
{
    public SwingHelloWorld() 
    {
        super("Swing - Hello World");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JLabel label = new JLabel("Hello World");
        add(label);

        pack();
        setVisible(true);
    }

    public static void main(String[] args) 
    {
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                new SwingHelloWorld();
            }
        });
    }
}
Bpfurtado
I've just tested the example from the article and it works fine. The only significant differences i see between your code and that in the article are:
  1. the article uses the content plane explicitly whereas you rely on a shortcut
  2. the example in the article calls setvisible after the constuctor whereas you call it in the constructor
  3. You build the combination of components in the awt event thread rather than the main thread
None of theese seem like significant differences to me. Plugwash 18:28, 28 June 2007 (UTC)
I've tested the current example with a Windows XP (Service Pack 2) Box and a Java SE Runtime Environment (build 1.6.0_01-b06) and no window was displayed. My intention was only to provide another equal example that in my test showed the JFrame window as expected.
Regarding the differences you pointed out as having no relevance here are my arguments to show that they all should be present in the code:
  1. The shortcut for the content pane is encouraged to be used, so I think it's really relevant to and swing basic example as it make the code much less verbose. See the Java 5.0 release notes for an explanation:
  1. http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4753342
  2. http://java.sun.com/j2se/1.5.0/docs/guide/swing/1.5/index.html item 4753342: Swing's top level component should redirect add/remove methods to ContentPane
  1. The use of javax.swing.SwingUtilities.invokeLater should also be in any swing application as it appears in all Swing Tutorials samples from Sun.
  2. As your swing application's main frame should always be visible there is a very good reason to put it inside the frame's constructor.
Bpfurtado 18:05, 29 June 2007 (UTC)

Blu-ray

Java is also used as BD-J in Blu-ray, maybe someone can add this to the java article (I'm not that good with writing :). —The preceding unsigned comment was added by 87.213.0.34 (talk) 12:50, 12 January 2007 (UTC).

Compiling

Note that, although there's an explicit compiling stage, at some point, the Java bytecode is interpreted or converted to native machine instructions by the JIT compiler.

There is a third option - the bytecode can be compiled to machine code prior to execution, resulting in a stand-alone native application.

Also, this section might mention that the bytecode is as specified in the "Java Virtual Machine Specification".

Paul Murray 02:19, 15 January 2007 (UTC)