....

....

....

....

....

....

....

....

Okay, now that you have had a chance to reflect on your predisposition towards this post based on its title, I have a question. I seem to be unable to read a thread anywhere on this site (let alone the poetry section) without someone implying something negative about Java's quality. Why is this?

Even in posts completely unrelated to the subject, I come across little barbs like the following:

I am a native English speaker (and unfortunately a native Java speaker)

Since when does stating you know a language require a disclaimer? I occasionally wonder about the effects of such comments. The vast majority of anti-Java zealots I've spoken to seem to have very limited knowledge of programming languages. They first learned a different language (often Perl), and following that heard about Java. These people have rarely heard of inheritance, polymorphism, or even garbage collection. Yet, they offer very strong opinions on Java's merits as a language.

Maybe I'm naive to think technical fora are exempt from this type of widespread ignorance that plagues so many other sectors of society.

I should also note, yes, I have read the "How does Perl compare to ..." perlfaq that states:

Favorably in some areas, unfavorably in others. Precisely which areas are good and bad is often a personal choice, so asking this question on Usenet runs a strong risk of starting an unproductive Holy War.

This seems like a real cop-out to me. Why should we be unable to discuss the merits of languages for fear of a few trolls who are biased or ignorant of the subject? Downvote this post if you will, but please don't bother disregarding it as flamebait, my sole reason for posting this is to solicit your input, not start a "unproductive discussion." If it helps, simply think of all the other issues out there that are currently suffering from adequate debate (religion, evolution, philosophy). Okay, mentioning those probably didn't help me ;-).

On with the discussion, I'll start with a couple of the more common arguments I've heard against Java, though neither of them especially technical:

  1. Java is owned by Sun.

    This is probably the best argument out there against Java. From annoyances like having to add disclaimers when publishing anything referring to Java to more sever problems like possible exploitation of the situation by Sun, there are many concerns. However, I'd like to focus on the actual Java design, so for the purpose of my question, please disregard this problem. Oh, and, ahem Java™ and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U. S. and other countries. ;)
  2. It takes too many lines just to write a simple program

    I don't really view this as a negative point. All code, up to and maybe even including one-liners, should be stored in a reusable, maintainable form. Also consider what percentage of your code is written in such a short form. Is adding a few extra straightforward lines of code really a huge inconvenience?

Please add your comments as to what you think about Java could be improved. Thank you for your input :)


In reply to How would you fix Java? by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.