Python
Ha vuelto nuestro querido JC Cabeza Cuadrada y en esta ocasión podemos ver como nuestro personaje preferido está enfadado. La razón del enfado es nuestro cartel PyDay que se celebra hoy en la Facultad de Ciencias. JC Cabeza Cuadrada está sobre todo sorprendido y por eso lo veis ”echando humo por las orejas” al descubrir que Michael Knight no aparece en el cartel, ya que sólo hay en este evento ponentes mujeres, y que no se trata de un “all men panel”, el cual estamos bastante acostumbrados a ver.
Tras la introducción a Python que nos presentó Pedro González Rodélas en una de las entradas de este blog y donde nos explicaba cómo instalar Python y cómo dar los primeros pasos con este lenguaje, vamos a profundizar un poco más hablando sobre sus características, mencionando diversas asociaciones que existen cerca de él e incluyendo algún tutorial para poder avanzar un poco más en el aprendizaje de este lenguaje de programación.
Python es uno de los lenguajes más utilizados en la actualidad, y se encuentra entre los primeros cinco puestos en el ranking TIOBE, estando por encima Java, C y C++. El índice TIOBE es un indicador que utiliza distintas variables como el número de personas que lo utilizan o los cursos que existen para determinar la popularidad de los lenguajes de programación.
Resumiendo, el avance de este lenguaje desde finales de los 80 hasta ahora, ha sido espectacular, ya que mientras que otros lenguajes han bajado en el ranking, Python se ha mantenido a lo largo del tiempo.
Si hablamos específicamente del área de datos, las comparativas son aún más significativas. Recientemente, Kaggle, la plataforma para Machine Learning y Data Science de Google, ha realizado un estudio recopilando información sobre las preferencias de los profesionales del sector, donde se puede apreciar la popularidad de Pyhton, llegando según esta fuente a estar por encima de R o de Matlab.
¿Y que le hace a Python destacar de entre los demás? Se caracteriza por ser un lenguaje de programación interpretado, lo que ocupa menos tiempo a la hora de desarrollar el programa ya que nos estamos ahorrando el compilar y enlazar. El intérprete se puede utilizar de modo interactivo, lo que facilita experimentar con características del lenguaje, escribir programas desechables o probar funciones durante el desarrollo del programa.
Y es por su facilidad de uso que tiene ese nombre, Guido van Rossum el creador de Python, lo llamó así por los humoristas británicos Monty Python.
Se trata de un lenguaje multiparadigma, orientado a objetos donde el tipo de sus variables puede ser dinámico o estático. Quizás alguno de los aspectos que hace que se encuentre debajo de Java y C/C++ es que se trata de un lenguaje interpretado, pero las diferencias de velocidad en realidad con lenguajes no interpretados, son mínimas.
Python está licenciado bajo licencia PSFL, derivada de BSD y compatible con GPL. Muchas empresas y organizaciones, como Google, Microsoft o Red Hat, hacen un gran uso de Python y tienen influencia en su evolución, pero lo que le diferencia del resto de lenguajes es que ninguna ejerce un control sobre el mismo.
Se puede usar como lenguaje de scripting en herramientas para gestión de despliegues e infraestructuras como Ansible, Salt o Fabric. También se emplea en el desarrollo de aplicaciones web, y en los últimos años ha tenido un gran impacto en Inteligencia Artificial y Machine Learning.
La asociación Python España es una asociación sin ánimo de lucro cuyo propósito es promover el uso de este lenguaje de programación en España, servir como punto de encuentro a aquellos interesados en su uso y darles soporte en la medida de sus posibilidades.La asociación fue creada en 2013 y desde entonces ha prestado apoyo contable y organizativo a la PyConEs, la conferencia nacional sobre el lenguaje Python, y ayuda financiera a las comunidades locales.
En nuestra comunidad podemos encontrar Python Granada, donde se realizan talleres y ponencias para aprender todos los secretos de este lenguaje. Además se realizan retos donde participas en un ranking de puntos. El primer PyDay organizado por la asociación Python Granada tuvo lugar el 2 de diciembre de 2016 en la Facultad de Ciencias de la Universidad de Granada.
Aquí dejamos un enlace de un breve tutorial desarrollado por las chicas de DJango Girls para que podáis instalar este lenguaje en vuestros equipos con Linux.

No cabe la menor duda de que en muchas áreas de carácter científico-técnico la adecuada elección del software y/o lenguaje de programación empleado es determinante, de cara a la potencia, versatilidad, facilidad de uso y acceso por parte de todos los usuarios en sus propios dispositivos, de manera generalizada y gratuita.
Hoy en día se dispone de gran cantidad de lenguajes de programación y software de todo tipo para cálculo simbólico y numérico; tanto software libre (Fortran, C, Maxima, Octave, SAGE, Python, …) como de tipo propietario (Mathematica, Maple, Matlab, … ); y podemos afirmar que cada uno de ellos posee sus ventajas e inconvenientes, pudiéndose adaptar mejor uno u otro a distintas tareas concretas.
No obstante, dentro del software libre, uno de los que últimamente ha tenido una mejora sustancial, con la inclusión de potentes y versátiles nuevos módulos de cálculo simbólico (SymPy), numérico/científico (NumPy, Scipy) y gráfico (PyPlot y Matplotlib) ha sido sin duda Python; y de ahí su vertiginosa evolución y expansión a nivel mundial, no sólo en el ámbito académico, sino también en el científico e industrial.
De hecho, basta con echar un vistazo a las numerosas propuestas, tanto de comunidades de desarrolladores como de empresas privadas, surgidas a raíz de la versión de base inicial de Python, como por ejemplo IPython (interface interactivo de fácil uso, que gracias a Jupyter Notebook permite una versión HTML similar a los notebooks de Mathematica o Maple) o Spyder (entorno integrado para cálculo científico parecido al de Matlab u Octave).
Por otro lado existen versiones completas de desarrollo, integrando Python como soporte de cálculo, pero con editores avanzados de texto, para la programación y la depuración de código, ventanas de gráficos y datos, etc. La mayoría de estas plataformas integradas están disponibles para los distintos sistemas operativos Linux, MacOS X y Windows. Entre ellas cabría destacar Enthought Python Distribution (EPD), PyCharm y principalmente Anaconda CE (de Continuum Analytics).
Aparte de todo esto, se dispone libremente en Internet de una gran cantidad de ejemplos, así como material de apoyo: manuales, libros, blogs y páginas web desarrollados por numerosos científicos y profesores de todo el mundo, siendo tan ingente dicho material que a veces resulta complicado realizar una selección del mismo para poder empezar.
Por todo ello, creemos que este potente software de cálculo científico se encuentra en su máximo apogeo y con un nivel de madurez y versatilidad extraordinario, como para poder iniciar su exitosa incursión en el mundo científico-técnico español, tanto universitario como empresarial, y más concretamente en la Universidad de Granada.
Y de ahí surgió tanto la iniciativa de presentar un taller sobre Python para la Docencia e Investigación (https://www.ugr.es/~prodelas/ftp/TallerPython.html) en las recientes Jornadas de Software libre celebradas en la UGR, así como varios cursos de formación (a través del Plan F.I.D.O. o en colaboración con el Centro Mediterráneo de la UGR) que tendrán lugar a lo largo de este curso para todo el que estuviera interesado en aprender a usar esta potente herramienta, tanto con fines docentes como para su uso personal a nivel de investigación y desarrollo.