Talk:Java programming language
Workgroup category or categories | Computers Workgroup [Editors asked to check categories] |
Article status | Stub: no more than a few sentences |
Underlinked article? | Yes |
Basic cleanup done? | Yes |
Checklist last edited by | --Eric M Gearhart 16:19, 7 April 2007 (CDT) |
To learn how to fill out this checklist, please see CZ:The Article Checklist.
Concerns about Sun's core goals
I have some concerns about how Sun's design goals are worded. I think this is partially because the goals (as listed on Citizendium) don't completely match up with the goals (as listed in the referenced white paper), and partially because the white paper is a marketing document--barely technical at all.
Have performance in mind. The language would be simple and compact, so that it could be mastered relatively easily
I would have expected "performance" to mean runtime performance. Here is seems to mean easy to learn. The referenced white paper makes an argument for performance, and bases it on the garbage collector.
Be reliable (garbage collection would be built-in, rather than left up to the programmer as in C++)
Garbage collection would tend to make programs written in Java more reliable, but not necessarily the language itself. However, this might serve to contribute to a popular opinion of Java programs being reliable. BTW, garbage collection isn't "left up to the programmer as in C++", but rather a C++ programmer is responsible for memory management. Garbage collection is simply a memory management strategy used by Java, and other languages.
Have security built in (pointers were not to be a part of the language, due to buffer overflow security concerns)
Having security built in is a tough argument. There have been many java programs with severe security problems. In terms of buffer overflow concerns, dynamic data structures may do more than eliminating pointers would. Also, the language relies heavily on implicit pointers: every variable other than an integer, float, byte, and a few more atomic types is actually a pointer to a heap allocated object.
I don't have time right now, but I may come back and correct this tomorrow if no one else has. --Nick Johnson 12:51, 16 April 2007 (CDT)
- Nick, I'm more of an "operating system / open source / computer company startup" historian-type guy. I read books about computer startups for the fun of it. I'll start hitting the Apple Inc. and Macintosh articles hard when I get to the Apple book I have, as soon as I finish the book/articles on Commodore (see MOS Technology for the result of me getting through the first part of the Commodore book). You're much more experienced in the compilers and programming language design area... please feel free to fix the article. I started the Java article simply because there was a "really big hole" there. Hack away at the "round peg I put in the square hole" so to speak til it fits :P Eric M Gearhart
- Nick, I completely agree that Java is not necessary safe from a determined hacker. I might argue, though, that it is considerably safer from programmer stupidity of the sort beginning programmers tend to exhibit. You won't normally, from ignorance, be likely to cause a segment fault or crash the runtime.Pat Palmer 08:54, 20 April 2007 (CDT)
missing things
I miss a few things in this article so far. What was the reason (historically) SUN wanted a platform independent platform. Why omit pointers when you are able to do other system-threatening calls. A buffer overrun isnt the only way to get access to a system. Why when using a sandbox still that need of omitting pointers - was the sandbox insecure? Network language? yes sure nice to read it but HOW contrary to C or C++ or visual C. What was the history of JAVA, why dont I see the JAVA cup as logo. Why took it about some 10 years to finally get a degree of adoptation? These things should be in the article else it is nothing more than a stub. And many other things as well, but then hey you are free to add. cheers, Robert Tito | Talk 14:14, 23 April 2007 (CDT)
- Good feedback, Robert! I have quite a bit of info on this and should be able to flesh this out very soon.Pat Palmer 14:26, 23 April 2007 (CDT)
- maybe it is fun to have a java logo gallery, much like Tux. There were many forms of the java cup and other logo's Robert Tito | Talk 14:31, 23 April 2007 (CDT)
Java "hot coffee" logo
The reason that the Java "hot coffee" logo is missing is that according to Sun's logo page, "The Java Steaming Coffee Cup (the official Java technology logo) and the Java, Sun Microsystems, Inc. logo are logos that are reserved for Sun Microsystems, Inc. use ONLY. The Java logo are trademarks of Sun Microsystems, Inc. and cannot be reproduced on product packaging, marketing materials, web pages, or other media." I have no idea how Wikipedia has the logo on their page for Java, legally. Does fair use trump a company's explicit wishes? Eric M Gearhart
Java's History
There are quite a few links on the web to draw sources for a compelling history section. I will list a few here, for my reference and for anyone else Eric M Gearhart
- A brief history of the Green Project The Green project was chartered as something that was "trying to figure out what would be the 'next wave' of computing" and how Sun might catch it
- History of Java section from a "History of the World Wide Web"
- Article from Sun on Java's third birthday entitled Java: The early years
starting my major revision
It's going to look silly for awhile; I'm attempting a major revision of this now.Pat Palmer 21:41, 23 April 2007 (CDT)
P S - If the opening seems similar to the one in Wikipedia, it's because I revised the one over there awhile back, and I'm using it for a starting point here.Pat Palmer 21:48, 23 April 2007 (CDT)
- It's nowhere near ready, and I've got to "go away" for a few days, but I hope to come back soon and hack on this some more.Pat Palmer 22:32, 23 April 2007 (CDT)
- It does look a lot better than my measly stub though :) Eric M Gearhart
note: this section was moved here by Eric M Gearhart
May I try an overhaul here?
Do any of you object if I try to overhaul and revise this article? I would like to archive what's here so we can recover any of the text if we need, then begin again from the top. I'd keep the "editions" section and expand it. Let me know if anyone would rather do this themselves. Java is an area I feel fairly comfortable in at the moment.Pat Palmer 08:57, 20 April 2007 (CDT)
- This article is so small I do not see how there could be objections. Everything will remain in the history. An alternative is to userfy a draft then post a link to it. Stephen Ewen 19:51, 20 April 2007 (CDT)
- Yes Pat please do... hack away. I'm not comfortable enough with the little bit of knowledge I have on Java to make any significant edits to it, however we need a good Java article on CZ Eric M Gearhart
Java terminology
I'd also think that the Java platform article would serve to cover all the different aspects of Java as an overview. Then the specific pieces of Java would be covered in detail either in sections or as separate articles. So in essence there would be:
- Java platform, describing the platform as a whole. Servlets and applets could be covered here too possibly
- Java programming language, describing the programming language in detail
- Java Development Kit, describing the Java bytecode compiler
- Java Runtime Environment, describing the end-user runtime environment that is distributed
- Computers Category Check
- General Category Check
- Category Check
- Advanced Articles
- Nonstub Articles
- Internal Articles
- Computers Advanced Articles
- Computers Nonstub Articles
- Computers Internal Articles
- Developed Articles
- Computers Developed Articles
- Developing Articles
- Computers Developing Articles
- Stub Articles
- Computers Stub Articles
- External Articles
- Computers External Articles
- Computers Underlinked Articles
- Underlinked Articles
- Computers Cleanup
- General Cleanup
- Cleanup