Talk:Java (programming language): Difference between revisions

Content deleted Content added
More bickering over dynamic class loading
rv test
 
Line 1:
{{Skip to talk}}
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...
{{Talk header|search=yes}}
-[[:Alan D|Alan D]]
{{article history
|action1=FAC
|action1date=23 Mar 2004
|action1link=Wikipedia:Featured article candidates/Java (programming language)
|action1result=promoted
|action1oldid=2906583
 
|action2=FARC
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
|action2date=2005-06-24, 14:35:35
|action2link=Wikipedia:Featured article removal candidates/Java programming language
|action2result=kept
|action2oldid=15763494
 
|action3=FAR
If you don't see a problem with it, then I'm happy.
|action3date=2006-07-25, 15:35:37
-[[:Alan D|Alan D]]
|action3link=Wikipedia:Featured article review/Java (programming language)
|action3result=demoted
|action3oldid=65772570
 
|action4=GAN
----
|action4date=8 August 2006
Some notes about the Java version history would be nice. An especially which version is included in which browser.
|action4link=
Kwaku
|action4result=failed
----
|action4oldid=66856012
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
 
|action5=PR
----
|action5date=03:46, 15 June 2008
This should be moved to a howto somewhere, as it doesn't describe the language at all.
|action5link=Wikipedia:Peer review/Java (programming language)/archive1
|action5result=reviewed
|action5oldid=219056158
 
|currentstatus=FFA
: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.
|maindate=December 17, 2005
----
|otddate=2004-05-23
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.
|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? ==
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.
 
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>
----
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
 
== List of Java Frameworks ==
----
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:
 
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)
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].
----
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
----
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.
 
== Duke ==
----
 
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)
'' "It contains language facilities and libraries for networking (more or less)." '' - What "language facilities" are being referred to, here?
 
== Bring back the simple hello world program ==
:Perhaps dynamic class loading? --[[User:P3d0|P3d0]] 21:51, 13 Aug 2003 (UTC)
 
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)
::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.
 
Coming in java 25 LTS (due 2025/09/16):
:::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.
<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 ==
::::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!)
 
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)
:::::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)
 
: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)
:::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)
 
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)
::::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)