

It never made sense to learn Java - nkurz
http://sudoscientist.com/it-never-made-sense-to-learn-java

======
prodigal_erik
The performance advantages of C++ over a recent JVM are pretty minor when the
price is _blowing up randomly_. I wasted years on teams trying to make native
code not suck, and only once did I witness as much as a single month of uptime
achieved after heroic effort. Now I view manual allocation and pointer
arithmetic as a form of nerd sniping—just because it's incredibly hard to get
100.0% right doesn't mean you're actually accomplishing much by doing so.

------
teyc
The author makes several claims, of which unfortunately, I could only agree
with the final one.

Claims:

1\. Projects that shouldn't be written in a scripting language should be
written in C++, not Java because it is more efficient. [Author probably hasn't
spent enough time debugging other people's C++ which blew up or leaked memory
on customers sites]

2\. C++ is a better long-term choice (for people who don't poke themselves in
the eye with sharp objects) [Precisely. Just like seat belts are only useful
for people who have an occassional accident]

3\. C++ gc library is as good as Java's GC. [No, listen to Cliff Click's talk.
A VM defines boundaries between what is a programmers task, a language's task
and a runtime's task.]

4\. Java consumes more memory than C++ for equivalent tasks. [The standard
class library can be big. Including iostreams in gcc results in 1Mb
executable.]

5\. Java runs slower [The purpose of programming is to get to the solution to
a problem the fastes - Guy Steele. Java has enough safety features.]

6\. If you know C++ you know Java (because C++ is bigger) [precisely.]

7\. Java is an evolutionary dead-end in language design. [that is only because
Java doesn't have Anders Hejlsberg.]

------
chipsy
Language bigot calls others language bigots. Film at 11.

------
mooism2
I don't particularly like Java (I'm semi-learning Scala right now, and it's
got enough Javaisms in it to make me feel frustrated)... but I like having
stack backtraces when my code dies in production, and I very much like not
being able to accidentally stomp all over the heap.

------
sc68cal
I see no difference between learning C++ and Java first. They both have equal
ability to teach bad habits.

~~~
ares2012
I agree. The author is confusing the language with how well it's used. Java
still has the advantage of running within a virtual machine while being faster
than interpreted languages.

If you don't want to tie yourself to a single platform and require speed, it's
still a good choice.

~~~
marssaxman
How is running within a virtual machine an _advantage_? That was one of the
most prominent reasons I decided to give it a pass when it first came out.

