Talk:Java (programming language): Difference between revisions

Content deleted Content added
No edit summary
rv test
 
Line 1:
{{msg:featuredSkip to talk}}
{{Talk header|search=yes}}
{{article history
|action1=FAC
|action1date=23 Mar 2004
|action1link=Wikipedia:Featured article candidates/Java (programming language)
|action1result=promoted
|action1oldid=2906583
 
|action2=FARC
There's a paragraph regarding networking facilities that bridges the "platorm independent" goal and "networking libraries" goal. It's not a correct paragraph, but I don't know the best way to split it. Help, please...
|action2date=2005-06-24, 14:35:35
-[[:Alan D|Alan D]]
|action2link=Wikipedia:Featured article removal candidates/Java programming language
|action2result=kept
|action2oldid=15763494
 
|action3=FAR
I don't see the problem, if any. The only places those are mentioned together is where they are specifically mentioned as being the goals of the language, where "goals of the language" is the topic. --LDC
|action3date=2006-07-25, 15:35:37
|action3link=Wikipedia:Featured article review/Java (programming language)
|action3result=demoted
|action3oldid=65772570
 
|action4=GAN
If you don't see a problem with it, then I'm happy.
|action4date=8 August 2006
-[[:Alan D|Alan D]]
|action4link=
|action4result=failed
|action4oldid=66856012
 
|action5=PR
----
|action5date=03:46, 15 June 2008
Some notes about the Java version history would be nice. An especially which version is included in which browser.
|action5link=Wikipedia:Peer review/Java (programming language)/archive1
Kwaku
|action5result=reviewed
:Maybe you're confusing Java with [[JavaScript]]?
|action5oldid=219056158
----
Lee, have a look at [http://groups.google.com/groups?hl=en&threadm=20010920001016.15115.00000873%40mb-fm.aol.com&prev=/groups%3Fnum%3D25%26hl%3Den%26group%3Dcomp.lang.java.programmer%26start%3D25%26group%3Dcomp.lang.java.programmer]. Good reviews so far! :-) --LMS
 
|currentstatus=FFA
----
|maindate=December 17, 2005
This should be moved to a howto somewhere, as it doesn't describe the language at all.
|otddate=2004-05-23
|otdoldid=6718037
}}
{{WikiProject banner shell|class=C|vital=yes|1=
{{WikiProject Android |importance=High}}
{{WikiProject Computing|importance=high}}
{{WikiProject Computer science|importance=high}}
{{WikiProject Java|importance=top}}
}}
{{User:HBC Archive Indexerbot/OptIn
|target=Talk:Java (programming language)/Archive index
|mask=Talk:Java (programming language)/Archive <#>
|leading_zeros=0
|indexhere=yes}}
{{User:MiszaBot/config
|archiveheader = {{aan}}
|maxarchivesize = 200K
|counter = 7
|algo = old(100d)
|archive = Talk:Java (programming language)/Archive %(counter)d
}}
{{Broken anchors|links=
* <nowiki>[[Memory management#DYNAMIC|heap]]</nowiki> The anchor (#DYNAMIC) has been [[Special:Diff/1041818148|deleted by other users]] before. <!-- {"title":"DYNAMIC","appear":{"revid":605124470,"parentid":604713626,"timestamp":"2014-04-21T09:09:03Z","removed_section_titles":[],"added_section_titles":["DYNAMIC"]},"disappear":{"revid":1041818148,"parentid":1041816920,"timestamp":"2021-09-01T17:54:28Z","removed_section_titles":["DYNAMIC","HEAP","ALLOCATION"],"added_section_titles":[]}} -->
}}
 
== Versions? ==
:One of the most confusing concept for those just starting to learn the Java language is the notion of a [[:ClassPath|ClassPath]] that needs to be set before anything can be either compiled or executed.
----
Hmm, I think this article would be helped with a look-thru of the old [http://java.sun.com/docs/white/langenv/ Java whitepaper]. For one thing, Java is a platform as well as a language. The article as it stands is confusing on this issue. Also a major design goal is a relatively safe language for average programmers, so fingers aren't cut on the difficult parts of programming.
 
This article has a section on 'editions' (SE, ME, etc). But nothing on the differences between versions. Java 1.7 (and 1.8, though not yet finalized) is in some ways quite a different languages from 1.0. Does anyone think there ought to be a 'Versions' section with ''brief'' notes on the main changes (or perhaps just the language changes) in each version? These could include links to information on the relevant topic elsewhere on WP. <!-- Template:Unsigned IP --><small class="autosigned">—&nbsp;Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[Special:Contributions/86.186.147.69|86.186.147.69]] ([[User talk:86.186.147.69#top|talk]]) 21:47, 5 April 2013 (UTC)</small>
Still, this article is well-written, and I'd change it right now except that it would take a little time to not chop up the text terribly. Maybe I would get rid of the part that says there are "four" design decisions behind Java, and just turn it into a list.
 
== List of Java Frameworks ==
----
The article is titled "Java programming language", and is about the language, not the platform. If the article doesn't make this clear, then perhaps it could be reworded a bit and linked to another article about the platform. And frankly, the whitepaper is a pretty awful source of information--it's mainly a publicity piece for Sun, that contains all of their goals and ideas, but none of the day-to-day realities of the majority of working Java programmers. This is an encyclopedia, not an advertising medium. --LDC
 
Please add the page "List of Java Frameworks" to the "see also" section. [[Special:Contributions/2003:C0:873B:8B00:E03F:D261:D63C:AB57|2003:C0:873B:8B00:E03F:D261:D63C:AB57]] ([[User talk:2003:C0:873B:8B00:E03F:D261:D63C:AB57|talk]]) 10:35, 8 September 2023 (UTC)
----
This appeared in one of the articles, and I don't really think it is encyclopedia content. It's really more of an instruction for us writers, so I'll just leave it here in Talk for now:
 
== Duke ==
Java is a trademark of Sun Microsystems. Like all trademarks, "Java" is an adjective; when referring to Java technology, use a generic term after the word "Java". Correct: "program written in the Java language runs on the Java platform." Wrong: "*program written in Java runs on Java." For more information, visit [http://www.sun.com/policies/trademarks Sun trademark policies].
 
Any background on the "mascot"? Who made it? What is it supposed to look like? Why "Duke"? --[[User:BjKa|BjKa]] ([[User talk:BjKa|talk]]) 11:51, 23 April 2024 (UTC)
=== JDK versions ===
How do the JDK version below relate to the so called "Java 2 platform"?
* JDK 1.0, 1995
* JDK 1.1
* JDK 1.2
* JDK 1.3
* JDK 1.4, 2002
* JDK 2.0, 2003
 
== Bring back the simple hello world program ==
My understanding is that everything 1.2 and beyond is the "Java 2 Platform", but I can't find proof. Here's the Java 2 page: [http://java.sun.com/j2se/]
----
I object to the phrase "actually the entities containing data" in the section on Object Orientation. It's meaningless and unhelpful. However, I have already deleted it once, and the author re-inserted it. I don't hate it enough to delete it again, so I'll leave it to the wise Wikipedia editors.
 
It's unfortunate that this was removed. While the syntax can be relocated to a different wiki page, I believe it's valuable to have a small example of a Java program here. [[Special:Contributions/87.173.237.209|87.173.237.209]] ([[User talk:87.173.237.209|talk]]) 14:21, 31 May 2024 (UTC)
===Language facilities===
 
Coming in java 25 LTS (due 2025/09/16):
'' "It contains language facilities and libraries for networking (more or less)." '' - What "language facilities" are being referred to, here?
<syntaxhighlight lang="java" line="1">
void main() {
System.out.println("Hello, World!");
}
</syntaxhighlight>
--[[Special:Contributions/2A10:BCC6:871:0:9F3:9B68:7E53:AAFF|2A10:BCC6:871:0:9F3:9B68:7E53:AAFF]] ([[User talk:2A10:BCC6:871:0:9F3:9B68:7E53:AAFF|talk]]) 11:02, 20 May 2025 (UTC)
 
== History ==
:Perhaps dynamic class loading? --[[User:P3d0|P3d0]] 21:51, 13 Aug 2003 (UTC)
 
The article currently says ''Sun Microsystems released the first public implementation as Java 1.0 in 1996'' yet the authority it cites says <u>''Since its announcement in May 1995, Java has been widely used''</u>. Therefore I am not sure when the first public implementation was released. [[User:Sam Tomato|Sam Tomato]] ([[User talk:Sam Tomato|talk]]) 05:18, 23 April 2025 (UTC)
::Which isn't really a part of the language, as defined in http://java.sun.com/docs/books/jls/index.html Reflection is provided entirely by the class libraries. If we open it up to that, then C can do the same.
 
:Yeah, currently the history section and the date in the infobox disagree. We need to figure this out. [[User:PhotographyEdits|PhotographyEdits]] ([[User talk:PhotographyEdits|talk]]) 20:01, 29 April 2025 (UTC)
:::No, dynamic class loading is not reflection. Two different things. Dynamic class loading is very much a part of the Java language. See http://java.sun.com/docs/books/jls/second_edition/html/execution.doc.html#44459 It is far more pervasive and integral to Java than to C; in fact, all classes in Java are loaded dynamically.
 
The announcement was in May 1995. And the public release was in 1996. There is no conflict? -- --[[Special:Contributions/2A10:BCC6:871:0:9F3:9B68:7E53:AAFF|2A10:BCC6:871:0:9F3:9B68:7E53:AAFF]] ([[User talk:2A10:BCC6:871:0:9F3:9B68:7E53:AAFF|talk]]) 11:02, 20 May 2025 (UTC)
::::Thats the way the [[Java virtual machine]] works, not the [[Java programming language]]. Sure they're muddled beyond belief, but I feel as though I can safely draw a line and say that the dynamic loading you're talking about isn't part of the language. (I certainly hope that native implementations of the [[Java programming language]] won't do the same thing!)
 
:::::Ok, what about when I say "2+3" and the VM adds two numbers together? I guess that's also how the VM works, not the language? Honestly, we can argue about this all day, but if you really don't think dynamic class loading is a fundamental part of the Java language, then perhaps we must simply agree to disagree. As you say below, it's not like it really matters anyway. --[[User:P3d0|P3d0]] 13:08, 19 Aug 2003 (UTC)
 
:::Besides, the fact that a language feature is implemented in a library is just good design, and doesn't mean that feature isn't part of the language. For instance, would you say that variadic functions are not part of C just because you need to #include <stdarg.h> to use them? --[[User:P3d0|P3d0]] 15:52, 18 Aug 2003 (UTC)
 
::::I'd say they're part of C because they affect the syntax. IMO, something isn't part of the language until there are syntactic elements related to it. Up until that point, I can get rid of it and replace it. This is getting a long ways away from being something that has anything to do with language facilities for networking. How does the dynamic class loading of the [[Java programming language]] (if there are any which pertain to the language, rather than its implementation) distinguish its networking facilities from another language enough that it is worth mentioning them?
 
:::::Because IIRC the entire motivation to add dynamic class loading was to allow programs to be loaded and run incrementally over a network. --[[User:P3d0|P3d0]] 13:08, 19 Aug 2003 (UTC)
 
----
 
Java was not designed with the goal to "more or less" have facilities for networking, etc. If you are not satisfied with Java's attainment of those goals, an unbiased discussion of how and why these goals are incompletely attained should follow their detailed description.
 
=== Link bezerker ===
Someone has gone completely bezerk with links:
[http://en.wikipedia.org/w/wiki.phtml?title=Java_programming_language&diff=1874041&oldid=1866496]. Seriously, do we need links for "reputation", "speed", and "thing"?
 
This change needs to be backed out. Unfortunately there have been revisions in the mean time.
:Maybe we need to get this page protected until the revert is done and subsequent revisions incorporated. But its a pity someone's labour will go a waste. [[User:Jay|Jay]] 14:00, 9 Dec 2003 (UTC)
Reverting and merging of later revisions has been done. (See [[Wikipedia:Make_only_links_relevant_to_the_context]] for reference). [[User:Jay|Jay]] 14:30, 9 Dec 2003 (UTC)
 
=== Java logo ===
Should we be displaying the Java logo here without permission. Sun's logo website http://logos.sun.com says the terms are very strict for the use of its logos. [[User:Jay|Jay]] 14:10, 18 Mar 2004 (UTC)
 
I would say no &mdash; the logo should be removed. [[User:RedWolf|RedWolf]] 01:15, Mar 19, 2004 (UTC)
 
After reading the usage agreement for the Java logos, I don't believe Wikipedia can use the Java logo on its site unless approved by Sun MicroSystems. I am therefore going to remove the logo from the article.
 
Also see: http://www.sun.com/policies/trademarks/#20a
 
[[User:RedWolf|RedWolf]] 02:36, Mar 19, 2004 (UTC)
 
[[Wikipedia:Logos]] states: ''"It is ''not'' necessary to seek formal permission from a corporation in advance of using their logo, so long as the usage is fair use, does not create any impression that the logo is associated with or endorses Wikipedia or the article it appears in, and does not create any reasonable grounds for complaint by the trademark owner. The purpose of the specific guidelines above is to meet these conditions."'' [[User:Fredrik|Fredrik]] 14:19, 19 Mar 2004 (UTC)
 
If the Java logo can be used on Wikipedia, then why wasn't it properly handled as per [[Wikipedia:Logos]]? For example boilerplate text on the image description page and image caption? [[User:RedWolf|RedWolf]] 17:52, Mar 19, 2004 (UTC)
 
Don't ask me, I didn't upload and insert it in the first place... I merely replaced the low quality image with a better one. If deleting it seems like the right thing to do, I'm not going to defend the case further. [[User:Fredrik|Fredrik]] 19:46, 19 Mar 2004 (UTC)
 
 
----
 
From the article: ''This should not be confused with the
break ''label'';
and
continue ''label'';
statements in C and C++, which function identically to ''goto''.''
:As a C++ user, I am very confused since these statements do not exist in standard C/C++. I removed this part. Perhaps the author was thinking of some nonstandard extension?
 
===To describe the language constructs or not?===
 
I feel strongly that articles on programming languages should focus on their development and history, and on what sets the language apart from all others. This article does a great job of setting those things forth. However, as a programmer with eir hands in several other disciplines, I think that an article like this is not the place to go into any detail on the language constructs. I personally skim over such descriptions, and the non-l33t reader will certainly do likewise. The intricacies of, say, exception handling or string manipulation simply cannot be conveyed in one or even ten paragraphs of text in a Wikipedia article. Besides, "real" reference materials abound to cover the mechanics of the language, on the Web and in print.
 
In summary, programmers don't need syntactic information (they already have it), and non-programmers don't need it. I do think the "hello world!" program should have a space, since it can offer a quick glimpse into that language's world that both programmers and non-programmers would find useful.
 
That said, perhaps articles on programming languages should link to articles that cover their particular syntactic or semantic nuances in more depth, or link to Wikibooks.
 
[[User:Jeeves|Jeeves]] 14:35, 25 Mar 2004 (UTC)
 
:I am completely agree with you. I am very surprised that the article does not mention important issues like open-sourcing of Java and tools like gcj and classpath projects while going into ''mere'' syntaical explanations of loops. Never hesitate to make a change. Most of the time, it looks bad to you because it is bad. -- [[User:TakuyaMurata|Taku]] 05:16, Mar 28, 2004 (UTC)
----
This is regarding the 2 edits by [[User:TakuyaMurata]].
* The one with comment "(oh boy; the article is terrible)": Has he just deleted the contents or moved them over to a new/existing article ? If it has been moved pls provide the new article name, if it has been deleted based on the above discussion, then I disagree. Language syntax is as important to the article as anything else.
* The one with comment "(=Versions= -> =History)": What is the basis of removing a bulleted section that was rich in information ?
 
[[User:Jay|Jay]] 07:05, 28 Mar 2004 (UTC)
 
* I disagree with the changes. This article became a featured article with all that information. I think we should at least put in the stuff about versions back in. [[User:Sasha Slutsker|Sasha Slutsker]] 12:51, Mar 28, 2004 (UTC)
 
Ok both of you why? As discussed above there is no reason to go detail about the syntax. Wikipedia is not a language manual. Besides the language syntax section is awfully incomplete. I have settup the new article so that I can put it in VfD. Give us comments. Also there is no reason to provide detailed information about which version supports which platforms. I know it was featured but I have just improved the article by eliminating redundancy. -- [[User:TakuyaMurata|Taku]] 15:09, Mar 28, 2004 (UTC)
 
:What does this mean : ''"I have settup the new article so that I can put it in VfD"''
 
:Why do you think ''"there is no reason to provide detailed information about which version supports which platforms"''
 
:Redundancy is not an issue as long as the same information is presented in different ways. A bulleted list is useful when the reader wants to casually browse through a long article. [[User:Jay|Jay]] 15:35, 28 Mar 2004 (UTC)
 
:I moved some syntax information to [[brief overview of the syntax of Java]]. Sorry I have forgotten to mention it. The issues is: is the table of versions against years really useful? The history section still mention when each version was released and it doesn't take much to skim the section. -- [[User:TakuyaMurata|Taku]] 15:49, Mar 28, 2004 (UTC)