Talk:Java programming language

From Citizendium
Revision as of 12:51, 16 April 2007 by imported>Nick Johnson (Concerns about Sun's core goals...)
Jump to navigation Jump to search


Article Checklist for "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)