lunes, 11 de enero de 2016

Programación en las geociencias, porqué deberías aprender Python, y cursos gratuitos

La programación es una herramienta muy útil en muchas disciplinas, y esto no excluye a las ciencias de la Tierra. La programación en las geociencias encuentra su mayor uso en el análisis de datos, graficación, manipulación de matrices, procesado de datos, entre otros. Aunque muchos piensan que la programación es una herramienta más útil para los geofísicos, también les puede ser de mucha utilidad a las demás ramas si supiera usarse de la manera adecuada.

Los lenguajes de programación más utilizados yconocidos son Java y C++, pero su sintaxis es más complicada que la de otros lenguajes y los estudiantes sin previa experiencia en programación podrían batallar para aprender y por lo tanto perder el interés en seguir programando. Fortran es otro lenguaje más robusto, casi de especialización, usado mayormente para computación numérica y científica.


El código para el programa más básico, "Hello, world!, en  C++, Java y Python


Por eso mismo en la mayoría de las universidades en las carreras de ciencias de la Tierra se utilizan dos lenguajes de programación mayormente a la hora de realizar las tareas geocientíficas, Matlab y Python. Aunque Matlab es un lenguaje más sencillo y es más conocido entre los no programadores, con una interfaz que ha mejorado mucho al paso de los años hasta llenarse de botones para ya no tener que escribir código y aunque es una gran herramienta de análisis numérico y gráficos tiene una gran desventaja contra Python, el precio. Python es gratuito y aunque muchas universidades ofrecen licencias para los estudiantes de Matlab , éstas sólo tienen una vigencia mientras se esté en la matrícula de la escuela. También hay otras maneras de conseguir Matlab "gratuitamente" pero si existe una mejor herramienta para hacer lo mismo y gratis completamente, ¿por qué no usarla? Con herramientas como scipy, numpy y matplotlib, python es capaz de hacer todo lo que se ocupa al momento de trabajar, además de tener librerías específicas para ciencias de la Tierra, como segpy que es una librería para leer y trabajar con archivos sísmicos SEG-Y .




También se puede argumentar que Matlab no es exactamente un lenguaje de programación pero eso depende del cristal con que se mire. Hay versiones similares gratuitas a Matlab, como Octave, pero que carecen de ciertas características para hacerlas la mejor opción. Al final de cuentas, cada quien decide en dónde se siente más cómodo para su conocimiento del tema.

Yo en lo personal utilicé Matlab en la Universidad y me gustaba mucho, ahora me encuentro aprendiendo Python y lo encuentro bastante agradable también.

¿Qué es Python?


Python es un lenguaje de programación interpretado cuya filosofía hace hincapié en una sintaxis que favorezca un código legible.




Es sencillo de aprender, es multiplataforma (puedes usarlo en cualquier sistema operativo), las librerias son portables, etc 

¿Quién o en que se usa Python?

https://wiki.python.org/moin/OrganizationsUsingPython

Python ha sido usado para desarrollar softwares como dropbox, spotify, ArcGis, Battlefield 2 (videojuego, para add-ons, etc), reddit, youtube, etc.





En este mes inician 3 cursos gratuitos (con opción de certificado por 50 USD) sobre programación en Python en la página edx.org. Uno por la Universidad de Texas Arlington, otro por el Instituto Tecnológico de Massachusets (MIT), y el último por Microsoft

Otras herramientas útiles para aprender Python son Code Academy, Code.org y learn python para sus celulares. Y algunas otras páginas:
http://www.math.pitt.edu/~siam/workshops/python10/python.pdf
https://github.com/koldunovn/python_for_geosciences/blob/master/00%20-%20Why%20Python.ipynb
http://earthpy.org/tag/python-for-geosciences.html
http://www.atmos.umd.edu/~bjohnson/pyearth/
http://www.newthinktank.com/2014/11/python-programming/




**** EDICIÓN***


Se me pasó comentar los paquetes de distribución de python que pueden usar. En el curso del MIT si es igual que el del año pasado usaran Enthought Canopy (versión atrasada 2.7). Personalmente prefiero usar Anaconda, el cual ya trae integrado spyder (Scientific PYthon Development EnviRonment)jupyter notebook y iphyton notebook en su versión más actual 3.5

************ Vale la pena darles una visita y aprender algo nuevo que podría serles muy útil en su día a día en la escuela.

¡Hasta la próxima!

No hay comentarios.:

Publicar un comentario