miércoles

Aprendiendo sobre programación en los SIG: Una Introducción















Traducción y adaptación del artículo: Learning GIS programming: An overview

Autor: Muthukumar Kumar

La diversidad de lenguajes y herramientas de programación que están siendo utilizadas en la industria Geoespacial es realmente asombrosa. Dependiendo de los requerimientos del sitio (puesto, empresa, trabajo), es de esperar cierto manejo (puede requerir experticia, exigir) en SQL, python, C++, Java o JavaScript, Flex y PHP (solo por nombrar algunos). Actualmente, el conocimiento y experiencia en programación es una habilidad esencial además de un requisito crítico para ser aceptado en la mayoría de los puestos de trabajo en el área Geoespacial.  La inmensa mayoría de las aperturas de empleos en la industria Geoespacial requieren alguna experticia en programación, aplicación, manejo y desarrollo de software.

Como profesionales/recién graduados/estudiantes en el área Geoespacial, algunos subestimamos la importancia de la programación en nuestras carreras. Algunos de nosotros, podríamos pensar que nuestras habilidades “espaciales” ocupan el “espacio” suficiente  para compensar nuestra falta de experiencia en programación. Ciertamente este podría ser el  caso, sin embargo, el conocimiento de la programación con seguridad te abrirán a una nueva gama de posibilidades! Puede que sea una buena idea echar un vistazo a las últimas ofertas en la industria geoespacial para obtener una perspectiva de lo que están requiriendo.

Bien, entonces ¿Cuál lenguaje(s) podría estar aprendiendo para sobresalir en la industria Geoespacial?, Aquí te presento una introducción a los lenguajes de programación que están siendo ampliamente utilizados en la industria Geoespacial 

Introducción a los lenguajes de programación para SIG

Javascript: la WebGis es indudablemente la próxima gran revelación en GIS, abarcando desde el manejo de grandes volúmenes de datos hasta visualizaciones en twitter. Todo lo que involucre las Interfaces de Usuarios Web está escrito utilizando Javascript. Google Maps, OpenLayers y un inmenso conjunto de otras aplicaciones corren sobre Javascript. Personalmente, utilizar JavaScript para proyectos WebGis ha sido una gran experiencia para mí.

Esto podría tener sus desafíos, pero es sorprendente ver como JavaScript puede ayudarte a lograr tus metas (una Introducción de JavaScript para aplicaciones Geoespaciales).



Java: Java es uno de los lenguajes de programación más utilizados en las universidades y muchas de las soluciones Geoespaciales tales como GeoServer y GeoTools fueron escritas utilizando Java y es indiscutiblemente uno de los lenguajes existentes más populares entre los desarrolladores de Código Libre SIG
   

C++: casi todos los programas que utilizamos fueron desarrollados con C ++. La mayoría de las empresas todavía prefieren desarrollar aplicaciones utilizando C ++ debido a esta misma razón. De hecho, GRASS GIS, QGIS y muchos otros software SIG fueron escritos usando C ++ (y python). 




La mayoría de los receptores GPS tienen sus firmwares escrito en C ++. Si usted desea darle una mirada a la industria geoespacial en su conjunto, C ++ es un lenguaje a considerar.

SQL: un SIG esa incompleto sin una bases de datos y SQL es un sin duda el lenguaje de acceso y gestión de la base de datos más difundido. Es más, la mayoría de las bases de datos tienen sus propias extensiones de SQL, pero la sintaxis para tareas comunes es estándar. Definitivamente vale la pena pasar algún tiempo para aprender al menos los conceptos básicos de SQL.

Python: Muy popular entre los profesionales geoespaciales que trabajan en el entorno de ESRI y está considerado como el principal lenguaje de scripting para ArcGIS. Python es un gran "integrador" y es bastante fácil de trabajar y, a veces es considerado como algo más que solo un lenguaje de script, pero ese debate todavía se está librando.

Hay muchos lenguajes de programación como C mayor, C #, Visual Basic.NET, Flex, ActionScript, PHP, VBA para ArcObjects, etc que se están utilizando en la industria geoespacial. 

Existen muchas opciones y bastante difícil decir cual lenguaje de programación es “El” que deberías aprender. Podría ser una buena idea tener conocimientos de las dos principales orientaciones, SIG de escritorio y lenguajes de desarrollo web, como por ejemplo manejar Phyton y Javascript. Una mejor idea sería echar un vistazo a la empresa en la que le gustaría buscar trabajar en el futuro y examinar sus necesidades de lenguaje de programación.

Por supuesto, la gente tiene diferentes opiniones sobre lo que hace un buen programador y cuál es la mejor manera de aprender a programar. En mi experiencia, me ha parecido mejor planificar y dedicarme a construir algo, mientras aprendo el lenguaje de programación durante el proceso en lugar de seguir un Tutorial para la Programación desde la “T”. Aprender a programar SIG (desarrollo*) o programar dentro de un SIG (scripting*) es sin lugar a dudas, una gran adición a su currículum como Geoespacial profesional.   

*Aclaración propia.


¿Pero ahora que se las opciones de lenguajes donde comienzo? ¿como varia el mercado de la programación en los SIG? ¿y que es realmente Scripting y en que se diferencia de los otros tipos de programación?  

Esas interrogantes y mucho más en el próximo articulo ¡No se lo pierdan! :-b


Aquí un articulo en español muuuy similar de la web de mapping GIS para los que como yo apasionados con este tema :) :
Lenguajes de programación para GIS