On Jul 20, 2012, at 6:19 PM, Sasha Pachev <[email protected]> wrote:

> In my opinion the association of Java with intelligence and creativity
> is quite an oxymoron. I spend most of the day working on MySQL
> internals in C++ with the restrictions of no exceptions and no
> libstdc++, which makes it not quite the C++ that most people are used
> to, but more like C. That is when my intelligence and creativity are
> fully engaged. Occasionally I get to write code in Perl, Python, and
> PHP. Again, no complaints about intelligence and creativity. However,
> occasionally on a bad day there arises a need to write code in Java.
> That is when I feel that I am being constantly babysat, I feel like a
> bird in a cage. I have an idea of what kind of code will be executed
> on the CPU , and I feel helpless because there is no way to make it
> more efficient. I am being forced to be excessively verbose by the
> long API call names.

I am by no means a huge fan of Java, but this is clearly a case of personal 
preference and experience rather than any exceptional fault of Java. You 
probably also have a faulty idea of what code is actually executing, because 
the modern JVM is very good at dynamically optimizing typical Java code based 
on its dynamic runtime profile rather than its static profile. Excessive 
verbosity is a matter of opinion, but if it really stifles your intelligence 
and creativity, I would look first at your attitude before blaming the 
language. It is a pretty straightforward language, but it is not so simple that 
there aren't areas to be explored by an intelligent and creative person with an 
open mind.

> I can never remember their exact names, and waste a lot of time
> constantly looking up the documentation. When something might possibly
> go wrong I am forced to catch an exception which is quite a bit more
> verbose than checking an error code. I look at the code and I have to
> keep scrolling back and forth to figure out what is going on as the
> verbosity of the API pollutes the screen space and sets the noise to
> signal ratio into the range that I cannot tolerate.

Dealing with errors is one of the most fundamentally broken things in the C 
family of languages. Error codes have no consistent interface (they are 
sometimes the return value, sometimes an out parameter, and sometimes a global 
variable, and often this mix is within one API!) and they force error handling 
at the call site even when the code best equipped with the context for handling 
it is several stack frames away.  If you find exceptions more verbose than 
checking return codes, you probably ignore a lot of return codes!

> In short, I feel like I am back in the Soviet Union where you had no
> freedom at the cost of no responsibility.

No, you are just whining because you had to do something you didn't like. I can 
sympathize, as I write a lot of code in languages I don't like, but this was 
really poor criticism. There is valid criticism to be made of Java, but you 
fell far short of the mark. 

        --Levi

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/

Reply via email to