¿Vale la pena aprender Java?

Más allá de OpenOffice, Vuze, Woopra, o las applet que se despliegan en algunas páginas web, está muy posicionado en sistemas para móviles, TV, GPS, cajeros automáticos, programas empresariales y muchas de las páginas que a diario navegamos están corriendo sobre Java.

El siguiente gráfico muestra como la tecnología Java tiene un dominio marcado de manera sostenida desde 2006 a 2011 en comparación con C#.net, php y Ruby, posiblemente sacado a raíz de las ofertas laborales.

estadisticasJava

En el caso del medio geoespacial, C++ y Java son los dos grandes mundos en que están construidas las aplicaciones Open Source; el cuadro siguiente resume algo, por la temática del post me centro en ampliar sobre las aplicaciones Java pero a simple vista (que no lo es), desde el lado de Java se supera a C++ en una relación 15 a 10.

Aplicaciones GIS en C++

Aplicaciones GIS en Java

A nivel de Escritorio

 

  • Quantum GIS.  El más implementado en el entorno anglosajón, generalmente acompañado de Grass.
  • GRASS.  El sistema OpenSource más antiguo, con prioridad en raster.
  • Saga.  Nacida en Alemania, con un enfoque priorizado en la investigación.
  • Ilwis.  Iniciativa que nace en Holanda, y pese que viene desde mediados de los ochenta, su desarrollo bajo integración comunitaria es pobre.

 

  • gvSIG.  Probablemente la aplicación OpenSource más distribuida en el medio hispano, y quizá la que tiene una visión de internacionalización más agresiva.  A la fecha más de 100 de mis artículos apuntan a esta herramienta.
  • SEXTANTE.  Promovido por la Universidad de Extremadura, gran complemento de gvSIG, aunque hay librerías para OpenJump, Kosmo e inclusive interactúa con GRASS.
  • uDig.  Este es un desarrollo nítido, si bien menos distribuido, con un alto potencial, creado por la misma empresa de PostGIS, GeoServer y Geotools.
  • Kosmo.  Trabajo a partir de OpenJump, nacida en España.
  • OpenJump.  Herencia de una iniciativa canadiense llamada Jump, que había sido descontinuada.
  • CatMDEdit.  Este es un editor de metadatos.

A nivel de servidor

  • MapServer.  Muy difundida, aunque con un avance en desarrollo e integración  más lento que Geoserver.
  • MapGuide OS.  Apoyado por AutoDesk, muy robusto.

 

  • GeoServer.  Es posible que sea el servidor de datos más utilizado.
  • GeoNetwork.  Es un gestor de catálogo de metadastos, ideal para geoportal o clearinghouse.
  • Degree. Iniciativa nacida en la Universidad de Bonn, en Alemania, con capacidades equivalentes a GeoServer.

A nivel de librerías

 

  • GEOS
  • PROJ4
  • FDO
  • GDAL/OGR

 

 

  • Geotools
  • GeoAPI
  • Baltik
  • JTS
  • WKBj4

curso-de-javaDe las anteriores, al menos 5 de las desarrolladas en Java figuran como proyectos de la fundación OSGeo, algunos en incubación, en busca de sostenibilidad y complementariedad.

Sería interesante una mesa redonda de expertos en programación que hablen de porqué prefieren u odian Java, posiblemente se discutiría si los Pointers hacen o no simple el proceso, si la capacidad multihilo aventajaría a otros lenguajes de  no existir máquina virtual, si la seguridad es relativa; pero en una cosa seguro todos coincidirían:

El hecho de ser multiplataforma, pues las aplicaciones pueden correr tanto en Windows, Linux, Solaris y Mac (obviando las testarudeces recientes de Steve Jobs).  Esto hace que se vuelva atractivo para aplicaciones con un alcance global, donde los usuarios usarán diferentes sistemas operativos y navegadores, resolviendo casi todo con la famosa Máquina Virtual que aparte de realizar tareas multihilo, resuelve el problema de portabilidad y provee un filtrado seguro entre el cliente y el servidor.

También el hecho de ser Open Source es un aspecto a valorar, pese que Oracle adquirió SUN (desarrollador de Java), y que algunos duden de lo que podrá suceder en el largo plazo con MySQL (De licencia GPL), casi nadie cuestiona el porvenir del lenguaje Java.

Posiblemente lo que el Green Teen inició como proyecto fallido para correr sobre televisores y VHS ya no se parece a lo que Java ha alcanzado en posicionamiento, aunque sí en objetivos.  A la fecha, las aplicaciones de Java son 3:

 

java productos

J2SE (Standar Edition), que es la que se usa generalmente para la construcción de aplicaciones distribuidas y applests.

J2EE (Enterprise Edition), usualmente para herramientas empresariales multicapa, servicios de soporte remoto y comercio electrónico.

J2ME (Micro Edition) , con la que se construyen aplicaciones para móviles, GPS y cajas digitales de TV.

Aprender21 y Globalmentoring son ejemplos de aulas virtuales donde se puede aprender Java.

 

De modo que volviendo a la pregunta inicial, si vale la pena aprender Java…

Sí.

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.