

Is Java a good choice to develop new apps? Or is it a dead-walking language? - Andrew-Dufresne
http://www.reddit.com/r/programming/comments/dv9ag/with_javas_increasing_complexity_jcps_slow/

======
kls
The first comment on reddit talks about the fact that it is not a good choice
for a desktop app. I agree, if you want a cross platform desktop app, Adobe
AIR or one of the other is a far better choice.

If you are doing web that works in conjunction with a larger set of systems,
it still has a good deal of advantages . Primo Facto being the availability of
off the shelf libraries and integrations with other technologies.

As for JSP, JSF, Struts, tag-libs, tiles, velocity and all of the other Java
web technologies, my personal opinion is they are the worst of the worst. I
would say working in PHP is preferable to having to work in them and I do not
like PHP at all. For me, I stopped using server side languages all together
and write my UI with HTML / CSS / JavaScript. This gives me the ability to
plug into any back end technology and allows me to keep the UI agnostic of any
non-web technology (e.g. JSP, ASP, PHP).

In the way that we build web apps, Java works well, we use JAX-RS to expose
REST services. and then use Java to integrate all of the back end pieces
together. As a language it does leave a deal to be desired but I don't think
that those lackings are a killer for it. I think the Java web stack was a
killer and pushed a lot of people to PHP, as it was so intrusive as to be
almost abusive to the designer. It favors the developer over the designer and
it is evident in it's design.

The old web frameworks chose the designer or the developer this is evident in
the various takes on how to do the web on the server. One only needs to look
at the contrast between PHP and Java Web to see the evidence. You can see
which one each favors pretty quickly.

The thing I like about the way we do things now, is we exploit the advantages
of Javascript and it's rapid development capabilities that better suit a UX
designer on the front end. As well as exploit the rigor that the back end
developer needs with Java and transactions, guaranteed rollback, dead
recipient and all of the other standards that guarantee that something does
not fall through the crack.

Anyway, I don't see Java as dead I just think it will play a more out of sight
role in the future but I think the same can be said for a lot of server side
technologies. JavaScript web apps are growing by leaps and bounds, it has its
detractors but most that actually try it, see the advantages pretty quickly
and convert, it takes far less time to deliver and provides a superior result.
It is the way that the industry is heading. I think that is a far more
important decision than whether or not you use Java as your back end.

