Hacker News new | ask | show | jobs
by Qz 5039 days ago
I've become rabidly anti-Java. My friend installed Java on my computer as part of the process of rooting my HP touchpad to install android, and within days my antivirus had detected multiple java-based attacks on my system. These were literally the first attacks since I'd wiped my HD after a previous Java related attack. I uninstalled Java immediately, and hope that I never have to install it again.
2 comments

I and everyone I know runs Java apps and on the server and on smart phone along with hundreds of millions of other people in the world and we all get along fine.
I am not a fan of the Java stack either, and for the most part am successful at keeping it away from my daily work. It is a shame too, as there are some really useful things out there that were build on Java (the ones I care about run on the server).

That said, there is a jenkins box running at $dayjob that of course requires Java. However, if I had a choice between jenkins and jenkins-clone-built-with-something-else, all things being equal I would choose jenkins-clone-built-with-something-else.

> if I had a choice between jenkins and jenkins-clone-built-with-something-else, all things being equal I would choose jenkins-clone-built-with-something-else

What on earth for? It's not as if the Java binaries on a (non-multi-user) server somehow make it less secure.

Even if it is multiuser, they're not installed with any special privileges. You can install java in your home directory.

I can't wait for the day when people get their wish, and 50% of the installed browser base will run random python scripts off the web.

There is a certain amount of Java stuff I have running at $work as well, and the one I really care the least about is Jenkins, at least it isn't executing random code from the web.

The one that has me worried way more is all of the Android build tools. I've had random crashes happen in them and there is no good way to debug the issue. Java throws stack traces that if printed would cost you a ream or two of paper and sometimes you get crashes in something completely unrelated.

Ugh, there are many things I wish for, but Java no longer existing is probably one of my biggest wishes.

A stack trace is a stack trace in any language. It's the app developer's responsibility to provide a useful error messages after catching an exception.

This is CS 101, GiGo

Not all exceptions are caught, and not all caught exceptions can have useful error messages. Try to figure out the cause of an SQLException in code and you will quickly realize it is an exercise in futility. To top it off, you are at the mercy of the implementer, who often seems to choose the most cryptic message possible.

Sometimes, all you have is a stack trace.

Is it the JVM throwing incomprehensible stack traces?

Or is it the android SDK throwing slightly less but still uselss stack traces?

I often see the later, which is just poor error/exception handling by the developers. I very rarely (sometimes, but not enough to get annoyed) see the JVM printing out stack traces.

No offence but if you don't understand how stack traces work and why it isn't a "Java" wide problem then no offence but you really are in no position to comment.

It really isn't that hard to understand.

Just because you can read the stack trace does not mean it isn't a chore.