¿Estás interesado en integrar un poco de programación en tu rutina cotidiana? Necesitas aprovechar de la versatilidad y eficiencia que te otorga manejar con fluidez codigo? O simplemente quieres aprovechar de la utilidad de poder realizar analísis computacional? Sea cual sea la razón, te podrías estar preguntando por donde empezar. Habiendo tantos lenguajes de programación disponibles, con una cantidad prácticamente infinita de usos, puede serte dificil decidir con cual empezar a aprender o cuál te aportará más a tu trabajo.

Probablemente hayas escuchado de Python en algún momento, debido a que es un lenguaje con mucha difusión, que goza de una gran comunidad y patrocinio de grandes compañías (principalmente Facebook, Google, Amazon y Capital One). Se trata de un lenguaje interpretativo (no requiere ser compilado) y de alto nivel, lo cual lo hace perfecto para principiantes y cualquier tipo de persona que quiera entrar en el mundo de la programación. Si aún no te hemos convencido, aqui te damos mas excusas para aprender a usar Python en tu proximo proyecto de investigación!

Lenguaje estandar para ciencia reproducible

No importa cual sea la rama en la que te desenvuelvas, Python es una de las principales figuras en la creación de investigaciones reproducible. Siendo un lenguaje que se presta muy bien a la creación de ‘scripts’ pequeños modulares, ademas de ser bastante ligero y poseer su propio manejador de paquetes (pip), hace que la creación de un entorno virtual para investigación colaborativa y reproducible sea sencilla e indolora. Dejar disponible codigo libre usado en tu investigación hara mucho para garantizar su reproducibilidad, sobre todo si utilizas un programa de control de versiones como git, y esto no es algo que puedas hacer usando programas pre-compilados de codigo cerrado.

Gran cantidad de recursos y apoyo disponibles

Siendo Python un lenguaje que cuenta con una gran comunidad internacional, hay un sinfín de libros y guías dispuestas a ayudarte en tu ruta de aprendizaje, en todo tipo de plataformas. Si tienes algún problema o duda, es cuestión de buscar o preguntar por algun sitio de consulta (como StackOverflow), y si lo que quieres es aprender a escribir codigo, hay un sinfín de posibilidades a tu alcance, desde cursos directos en sitios como codeacademy, hasta libros como Python Crash Course o Learn Python 3 the Hard Way. Además, su uso común en ambientes academicos hace sencillo encontrar con quien colaborar.

Librerías dedicadas a analísis científico

Hay una multitud de librerías de Python que reciben mantenimiento y apoyo regular por parte de desarrolladores y usuarios, y que son utilizadas muy comunmente en ambitos no solo de estadística o ciencia de datos, sino también en experimentos, dependiendo de la circunstancias. Librerias como matplotlib, Pandas, SciKit learn son usadas regularmente en una variedad de analísis, ya que proporcionan herramientas para manipulación y interpretación de datos de alto nivel en una gran cantidad de formatos, cuyos resultados pueden ser luego facilmente mostrados de una forma visual e intuitiva sin sacrificar reproducibilidad.

Interpretativo y sencillo de aprender

Ya que Python es un lenguaje de alto nivel (configurado en torno a los ‘lenguajes naturales’, abstrayendo mucha de la logica interna de la computadora), diseñado especificamente para que codigo escrito en el sea facil de leer y entender, con uso significativo de espacios en blanco y constructos del lenguaje, se hace mucho mas intuitivo para aquellos que no esten acostumbrados a leer y escribir codigo. Además, que sea interpretativo significa que no te tienes que preocupar por compiladores y demás.

Automatización de tareas manuales y tediosas

Sín escribir mucho codigo, Python permite que muchas tareas de manejo e interpretación de datos o archivos (tales como comparación de dos tablas de datos, conversión de tipos de archivos, etcetera) se puedan automatizar de una forma rapida y sencilla. Sin mencionar que hay una cantidad enorme de apoyo para todo tipo de formatos de imagenes, peliculas, música, texto, etcetera. De hecho, este es el foco del libro ‘Automate the Boring Stuff with Python’.

Creación de tu propio entorno de trabajo

Con la continua creación de scripts y uso de librerias adaptadas a tu flujo y area de trabajo, eventualmente puedes automatizar y hacer mas eficiente gran parte de tu investigación, teniendo un conjunto de herramientas creadas por ti mismo a tu disposición, libre para que las puedas modificar y mejorar como desees. Si aprendes a integrar elementos de interfaz gráfica (GUI) en tu codigo, te sera aún mas facíl integrar de forma fluida scripts de Python en tus proyectos de investigación colaborativa, haciendolos accesibles y sencillos de usar.

Visualización y demostración de analísis

Existe una multitud de herramientas que soportan o son librerias de Python usadas muy comunmente en escritura de artículos de analísis computacional. Ya sea el anteriormente mencionado Matplotlib, librerias que enlazan R a Python, o ‘cuadernos’ como los de Jupyter, existe una variedad de herramientas que permiten a cualquiera no solamente ver gráficos sino también facilmente entender como fueron generados y experimentar con las variables y modelos usados.

Multiplataforma y soporte en varias IDEs

Python, al ser un lenguaje abierto, es inherentemente multiplataforma. Pero lo mas importante es la gran cantidad de entornos de desarollo (IDEs) que soportan nativamente, sin necesidad de plugins, la sintaxis de Python, haciendo posible el uso de completación de codigo y el aprovechamiento de otras capacidades de la IDE que estes utilizando (como integración con git, programación visual y otras añadidas mediante plugins).

Scripting con librerías de multiples lenguajes de programación

Debido a la facilidad y rapidez de escribir muchos scripts pequeños en Python, se han creado una variedad de librerías que se apoyan a su vez en codigo anteriormente escrito con otros lenguages (tales como C++) para interactuar con drivers/hardware, leer archivos con datos crudos, ejecutar operaciones que son mas eficientes a nivel bajo, etc. En pocas palabras, puedes usar a Python como si fuese una especie de «manager» de una multitud de programas ya hechos, dandote aún mas flexibilidad sin complicar demasiado las cosas.

Computación interactiva

Python posee una shell interactiva que te permite evaluar comandos de una forma directa, y ‘recordar’ comandos previamente utilizados al instante, además de importar librerias sin necesidad de correr archivos con codigo previamente escrito (en formato .py), definir variables, correr y grabar funciones, etcetera. Ciertas herramientas, como Jupyter, permiten integrar la shell dentro de una interfaz web, lo cual permite a cualquiera que acceda interactuar con tus modelos y funciones libremente.