
The State of Java - mgrouchy
http://codemonkeyism.com/java-dead/
======
tsally
_Results 1 – 10 of about 8,620,000 for java is dead. Dead indeed._

Results 1 - 10 of about 22,200,000 for obama is a muslim. Muslim indeed.

On a more serious note, the JVM is a platform that enterprise has a lot of
experience deploying and securing. As the author admits, the JVM doesn't need
Clojure or anything else to save it; it's entrenched in enterprise. This,
combined with the fact that even COBOL isn't dead yet, makes me think that
Java has a long way to go. Languages never die because there are better ones
out there. It's certainly not trendy, but companies are going to need Java
programmers for a helluva long time.

~~~
rbanffy
BTW, has anyone tried to port COBOL to the JVM? Sounds like an viable idea for
a startup.

edit: it seems a company called Veryant already did it
(<http://www.veryant.com/products/>)

~~~
mahmud
Product shops should be evaluated under a different light than _service_
shops. Their existence shouldn't dissuade you from looking into the market;
sometimes companies are stagnant ghost-ships that haven't done anything for
ages. Other times they're an incompetent bunch with outsourced workers for a
development team. In yet others, a product company only caters to one big
client or two, or is geographically focused in one area.

If you don't see their name in industry publications and trade conferences
they're as good as dead. Google their products and see if anybody is looking
for help with them online. If they have a small user community, you can get a
feel for how well they're doing. If there is no visible user community, well,
there is either no market or the "company" is just a brochure website for
vaporware.

------
va_coder
Is Java dead? No

Will controversial headlines often get undeserved interest? Yes

~~~
bcl
Absolutely. Java is clearly not dead, and will likely never be 'dead'. It is
clear that it has been integrated into the Enterprise and is in use for many
long term projects. This ensures that there will be a need to at least
maintain Java codebases for many years.

Java is being used to teach programming in many schools, so there are a large
number of newbie developers walking around with a single hammer in their
toolbox. They are going to be using it for any new project that they are
tasked with.

And in general I think languages never really die. Look at COBOL, ADA and Perl
(wink).

~~~
Tamerlin
It's not just the newbies that limit themselves to the Java hammer, a lot of
folks who've been in the industry for some time have grown comfortable with
Java and are too set in their ways to change. In some cases, they're so set in
their ways that they won't even migrate to newer Java tools that would
automate a lot of what they currently do by hand, even though on time-
constrained projects where we could have saved a considerable amount of time
by taking advantage of faster development methods (it took 30 minutes to build
and deploy a functioning web service in C# and 4 days to get the same thing
working (but without the DB connection) in Java).

We went with the Java version... what we could have done in one week has now
taken up around two months.

------
DanielStraight
I tend to agree with the comments about intentionally controversial headlines,
but the article itself was excellent. If you haven't actually read it, please
take the time to do so.

I think in the end, the author really nailed it. The important question is,
"Is Java dead for me?" I would not use Java for a new personal project (and
probably not for a work project either unless the libraries were needed). I do
not have a clear replacement in mind... Python stands out the most.

My biggest problems with Java are the compilation step (admittedly not that
big a deal with an IDE, but I don't always like to use an IDE), the insistence
on objects, and most importantly, the lack of first class functions.

A new issue that has come up for me in comparison to Python is constructor
overloading. In Python, constructor overloading is beautiful because of args
and kwargs. In any C-family language (including Java here), it's horrible.
With small objects where inheritance works well, the constructors in other
languages can get unwieldy fast. In Python, they're always concise. I also
love keyword arguments in general. It can make code much more readable,
especially when using something like wxPython, where the parameter lists are
long and otherwise would be quite vague.

~~~
prewett
I've been wondering about this: for personal projects, Python is compelling.
But when you start working with multiple developers, the lack of compile time
type checking seems like it would lead to a lot of subtle runtime errors. How
do multi-person Python projects deal with this?

~~~
steveklabnik
I'm a Rubyist, not a Pythonista, but the same principles apply. I love really
really strongly/statically typed languages (Haskell) and really really
weakly/dynamically typed languages (Ruby).

Generally, it's not a problem. I have a hard time articlating why, exactly...
I guess my code just tends to be short, sweet, and to the point. It's very
rare that when I code in C, for example, that I try to do something that the
type system wouldn't allow anyway.

That's a terrible answer, my apologies. Maybe this would be better: could you
provide an example of a situation where you feel that dynamic code would cause
a problem?

Mabye a bit of back and forth will help me figure out what I'm trying to say.

~~~
prewett
Is it only you writing the code? If it's just me, generally the names of my
variables imply the type ("price" is probably a float, for example). But say
you're joining a project with 100 Python classes. How do you write the code so
that someone else will know that the arg named "network" is a ip address
string and not a network socket or a class, presumably named "Network"?

~~~
steveklabnik
Funny, my "price" would probably be an integer ;).

Maybe it comes down to documentation. If I were to use some sort of function
where I wasn't sure what the argument was, I'd look in the docs to see first.

------
jlgosse
You have to realize that Java isn't just important for the enterprise. It's
also really important for academia and mobile.

I remember seeing a figure which was in the billions, which basically
represented the number of non-pc devices reliant on Java, and that number was
comprised mostly of mobile devices.

On top of that, most schools around the world begin teaching their computing
undergrads in Java, which is a pretty big deal in terms of where development
is headed in the mainstream.

------
axod
This sums up what is wrong with this industry.

Quit the endless "This is hot! This is dead! We're reinventing X by taking all
the features out!"

We're not the fashion industry here, we're software developers.

How can a language even die? Sure, the community could die off, there could be
no new updates, but that doesn't mean death.

------
dschobel
It's disconcerting how many people are objecting simply on the premise of the
article without actually talking about the content (which is quite good).

Headline writers take note.

------
abalashov
I think Java is sufficiently lodged in the annals of the enterprise world that
there's no danger of it dying any time soon.

I'm in telecom, and can tell you that Java has completely colonised this space
for OSS/BSS (operational support/billing support systems), phone switch EMSs
(external management systems), large-scale user portals and provisioning
(Broadsoft), etc.

It ain't going anywhere.

------
mosburger
I rolled my eyes at the headline, thinking it was clearly cashing in on the
Java deathwatch and a controversial headline. But this is one of the more sane
articles on the topic that I've ever read. It's not just a fanboy of some
other "trendy" language pointing out Java's shortcomings.

------
wlievens
Slightly off-topic, but I'd love an answer here. Is there any language at all,
outside of the .NET stack, that has the kind of tools support java has? I'm
talking about IDE with automatic refactoring, a wealth of plugins, instant
squiggly-line syntax checking, source crossreferencing of libraries, etc? The
only reason I use Java is Eclipse. I'd love to see another language that
addresses Java's deficiencies but still has the same tool integration as Java.
And I don't want to go over to the .NET side, sorry.

~~~
plinkplonk
"I'm talking about IDE with automatic refactoring, a wealth of plugins,
instant squiggly-line syntax checking, source crossreferencing of libraries,
etc? The only reason I use Java is Eclipse."

wlievens, given those requirements, Java is a _good_ choice (and I say this as
someone who just gave up on java completely) and there isn't yet a feasible
alternative langauge with that level of tool support afaik.

~~~
wlievens
I figured. I'm just often looking for a justification of why I'm using a
sometimes crippled language, but it always turns out my productivity and the
quality of my code is higher when using Eclipse/Java.

------
alrex021
The noise level just went up.

This is maybe a lesson for me to spend less time reading HN from now on.
Perhaps leave the reading for the evenings as entertainment. :)

~~~
Nelson69
There needs to be like a deficit score for any article that contains "is dead"
in the title or "considered harmful"

Just off hand, can anyone think of a company that legitimately could have
succeeded but failed because they chose the wrong programming language? Like
they had a really really great idea and they had a really good design but the
language just got in the way?

------
brazzy
Java's not fashionable. I guess to a lot of people that's the same as dead.
These people will eventually grow out of this view.

------
matunos
Rumors of Java's death are greatly exaggerated. I can tell you that the
article has failed to mention some other major companies that are using Java
and are (believe it or not!) bigger than LinkedIn and Twitter.

Anyways, since when did googling for "X is dead" mean anything? I just googled
for "Obama is dead" and got 111,000,000 hits. I guess that makes Obama 13
times more dead than Java. Somebody get me a copy-editor.

I'll give the author some points: the discussion that followed the ridiculous
intro was a somewhat interesting, if dissembling, defense of Java. In the end
though, it's all just some private pondering.

Java's death won't come at the declaration of some enterprising young turks
who like Ruby (hey, I like Ruby too) battling it out over mailing lists and
blogs. Programming languages, like old soldiers, don't die; they fade away...
and very slowly.

------
mgrouchy
To comment on this, Its not that I don't think Java should probably die, but I
don't think Java is going anywhere any time soon. As long as IBM uses Java as
one of their core technologies and is writing their own JVM then Java will
definitely be around for awhile.

~~~
teppefall
Goole uses C++ and Java while people focus on the static help system written
in Python.

So.. if you want to build a static help system...

------
neovive
With strong support from companies like Oracle and IBM, Java code will likely
be around as long as COBOL. Java may not make sense for small companies and
startups building webapps. However, it works extremely well for big companies
with large tech budgets, many developers and that only run software with
support contracts and SLA's.

------
wayne
> The only large – and lets say profitable and growing – startup that uses
> Java is LinkedIn.

Mint uses Java a ton too and they did ok:
[http://mint.jobscore.com/jobs/mint/javasoftwareengineerbacke...](http://mint.jobscore.com/jobs/mint/javasoftwareengineerbackend/cVyTOQFESr3zaDaaWPp1Hh)

~~~
ramoq
Not to mention Yodle (nyc). They have a strong dev team.

------
jganetsk
_OCaml and Factor are interesting and capable, but too far away from the
procedural mainstream that is the C legacy._

Statements like this are patently absurd. OCaml is definitely close enough to
the "procedural mainstream".

------
biohacker42
Isn't Scala like Java++? Aren't both primarily aimed at enterprise server-side
stuff? Any experienced Java programmers who have coded in Scala care to share
their thoughts?

------
ramoq
Honestly, if it wasn't for spring and jpa/hibernate I wouldn't be too
interested in java. Spring has _really_ made a great impact on java and people
have noticed.

------
moe
As long as idiotic articles asking that question are posted: Probably not.

------
mey
No, FreeBSD is dead

------
known
I think Web Browser is a good alternative to JVM and CLR platforms.

~~~
gthank
And how exactly do you expect to generate the content for that web browser?

~~~
known
how do you generate content for jvm and clr?

~~~
matunos
Those "other" dead languages: C and C++

------
ilyak
If java is dead, what is alive?

