Overstock Software Developer Openings
levipearson at gmail.com
Mon Jul 23 18:16:27 MDT 2012
On Jul 23, 2012, at 12:24 PM, Steve Alligood <steve at betterlinux.com> wrote:
> On Jul 23, 2012, at 11:09 AM, Grant Shipley wrote:
>> On Mon, Jul 23, 2012 at 12:29 PM, John D Jones III
>> <unixgeek1972 at gmail.com>wrote:
>>> On 07/21/2012 04:28 PM, Levi Pearson wrote:
>>>> On Jul 20, 2012, at 6:19 PM, Sasha Pachev <sasha at asksasha.com> wrote:
>>>>> In my opinion the association of Java with intelligence and creativity
>>>>> is quite an oxymoron.
>> A friend of mine posted something relevant last week:
>> I have come to realize after 15 years in technology, if people say the hate
>> something, they really mean the don't understand it.
> yet another oversimplification in the tech world. :)
> It is possible to completely understand something and still dislike it.
> I have spent sufficient time over several years wanting to like okra (since some of my family quite likes it). I have researched the best ways to choose it, cook it, etc. I still don't like it. I want to like it, but that doesn't change the fact that it is terrible.
> Java is the same for me.
> I have really wanted to like it. I have read up on changes to it over the years, and what it does to truly try and not suck, but it still falls short.
> I am even bold enough to make the say that I have ever only run one java server side app that wasn't horrific in resource bloat (memory, cpu, etc), and even that app would work better if it had been written in another language. (really, a jabber server with only 20 clients should not require 2 GB ram).
> Java should really die the death it deserves; I would not mourn it's passing.
There is a lot of software written in Java, and a lot of it is built from components that are in turn built from components and the whole mess tied together with XML. It's also often written and configured to run on large servers, and the huge default memory footprint is due to this. With a huge heap, the garbage collector can continue to run efficiently as the application usage scales up. However, the JVM can be configured to run with whatever heap size is appropriate to the application and environment. It even scales down to highly memory-constrained systems, though the libraries and even the runtime are significantly different in that situation.
A mind-boggling amount of engineering has gone into the Java system, and it can be both remarkably efficient and flexible. That flexibility comes at some complexity cost, and you should not expect to be able to make it perform exactly as you need without some research and effort. But nothing can really make up for poorly-written code, and there is a lot of that out there in any language.
Java is not the best language out there by any means, but it has many good qualities and although I would not reach for it first in many circumstances, it doesn't deserve to have quite this much scorn heaped upon it. I think perhaps you do not understand it as completely as you claim.
More information about the PLUG