Is it worth learning Java?

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

  • Quantum GIS. The most implemented in the Anglo-Saxon environment, usually accompanied by Grass.
  • GRASS. The oldest OpenSource system, with priority in raster.
  • Saga. Born in Germany, with a prioritized focus on research.
  • Ilwis Initiative that is born in Holland, and despite coming from the mid-eighties, its development under community integration is poor.

  • gvSIG. Probably the most widely distributed OpenSource application in the Hispanic media, and perhaps the one with the most aggressive vision of internationalization. To date more than 100 of my articles point to this tool.
  • SEXTANT. Promoted by the University of Extremadura, a great complement to gvSIG, although there are libraries for OpenJump, Kosmo and even interact with GRASS.
  • UDig. This is a clear development, although less distributed, with a high potential, created by the same company of PostGIS, GeoServer and Geotools.
  • Kosmo. I work from OpenJump, born in Spain.
  • OpenJump. Heritage of a Canadian initiative called Jump, which had been discontinued.
  • CatMDEdit. This is a metadata editor.

At the server level

  • MapServer. Very widespread, although with a progress in development and integration slower than Geoserver.
  • MapGuide OS. Supported by AutoDesk, very robust.

  • GeoServer. It is possible that it is the most used data server.
  • GeoNetwork. It is a metadata catalog manager, ideal for geoportal or clearinghouse.
  • Degree. Initiative born at the University of Bonn, Germany, with capacities equivalent to GeoServer.

At the library level

  • GEOS
  • PROJ4
  • FDO
  • GDAL / OGR

  • Geotools
  • GeoAPI
  • Baltik
  • JTS
  • WKBj4

Java-courseOf 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:

Java products

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.

Learn21 y Globalmentoring Are examples of virtual classrooms where you can learn Java.

So returning to the initial question, if Java is worth learning ...


Leave an answer

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.