So i’ve been a professional Java developper for a few years now, and the question seems interesting to me. Should, let’s say a student, really learn Java even if he does not want to do « Enterprise applications » ?
Short answer, Yes.
Long answer, you’ve got to know what Java is and what it’s not, and i’m not talking about technical specs, but more about the place of Java in the world right now. Let’s begin with what it’s not, it’s not :
- what the cool kids do right now ! they do ruby, scala, clojure, even erlang (so cool…), but they don’t do java unless they have to.
- what the web is all about right now ! the web is about fast prototyping, agile development, continuous integration and deployment. Java is heavy, not designed for rapid prototyping and deployment is so painful that you need third party drug to ease the pain.
- what you’ll want to be doing for the rest of your life !
- the best way to create distributed, scalable applications !
- going to change anytime soon. It may be an advantage or a drawback, depending mainly on your age and goals.
However, Java is :
- A de-facto standard, that you need to know !
- running on the best VM out here !
- the obvious language if you really really need a job ! So treasure it because it’s just like Cobol, it’s here to stay. You want it or not.
- maybe the last non-Functionnal language you’ll see in the coming years ! At least if we keep on creating languages to leverage the multi-core way.
Maybe i’m wrong, maybe it’s all bullshit and i don’t know what i’m talking about. Even is so, Learn Java, the hard way if you have to. Because even some of the coolest things out there (Mahoot, Hadoop, Lucene, Solr) are in Java, and Google’s main language is still Java. Sur ce