Beyond OpenOffice, Vuze, Woopra, or the applets that are deployed in some web pages, is very positioned in mobile systems, TV, GPS, ATMs, business programs and many of the pages that we surf daily are running on Java.
The following graph shows how Java technology has a sustainably marked domain from 2006 to 2011 compared to C # .net, php and Ruby, possibly derived from the job offers.
In the case of the geospatial environment, C ++ and Java are the two great worlds in which Open Source applications are built; The following table summarizes something, because of the topic of the post I focus on expanding on Java applications but at a glance (which it is not), from the Java side it outperforms C ++ in an 15 to 10 relationship.
GIS Applications in C ++
GIS Applications in Java
At the desktop level
At the server level
At the library level
Of the previous ones, at least 5 of those developed in Java appear as projects of the foundation OSGeo, some in incubation, in search of sustainability and complementarity.
It would be interesting to have a round table of experts in programming who talk about why they prefer or hate Java, maybe it would be discussed if the Pointers make the process simple or not, if the multi-threaded capacity would surpass other languages if there is no virtual machine, if the security is relative ; but in one thing sure all would agree:
The fact of being cross-platform, because applications can run on Windows, Linux, Solaris and Mac (obviating the recent stubbornness of Steve Jobs). This makes it attractive for applications with a global reach, where users will use different operating systems and browsers, solving almost everything with the famous Virtual Machine that apart from multithreading, resolves the portability problem and provides a secure filtering between the client and the server.
Also the fact of being Open Source is an aspect to be valued, although Oracle acquired SUN (Java developer), and that some doubts of what can happen in the long term with MySQL (Of GPL license), almost nobody questions the future Of the Java language.
Possibly what the Green Teen started as a failed project to run on TVs and VHS is no longer similar to what Java has achieved in positioning, although it does in objectives. To date, Java applications are 3:
J2SE (Standar Edition), which is usually used for the construction of distributed applications and applests.
J2EE (Enterprise Edition), usually for multi-tier enterprise tools, remote support services and e-commerce.
J2ME (Micro Edition), with which applications for mobile phones, GPS and digital TV boxes are built.
So returning to the initial question, if Java is worth learning ...