Julia, el lenguaje de programación orientado a la ciencia y a la ingeniería

3 min lectura
Desarrollo / 18 abril 2016
Julia, el lenguaje de programación orientado a la ciencia y a la ingeniería
Julia, el lenguaje de programación orientado a la ciencia y a la ingeniería

BBVA API Market

¿Qué diferencias existen entre Ruby, PHP y Python?

Python y Ruby son muy parecidos entre sí, y a la vez distintos a PHP. En el primer caso hablamos de lenguajes de propósito general, mientras que PHP se utiliza exclusivamente en desarrollo web.

Las diferencias entre Python y Ruby son más sutiles, y tienen que ver con la historia de cada lenguaje. Python tenía una mayor conexión con el mundo académico y fue evolucionando y creciendo de manera continua a medida que fue adoptado por distintos sectores.  Ruby tuvo una explosión de popularidad con la aparición Ruby on Rails y tiene mucha más implantación en desarrollo web.

¿Cómo ha contribuido Python a mejorar el panorama de desarrollo durante estos años?

Probablemente la mayor contribución ha sido demostrar que un lenguaje interpretado y diseñado para ser simple y expresivo sirve para la creación de grandes proyectos de software. En otras palabras, que Python y sus semejantes no son en absoluto juguetes, como se solía pensar. Esto ha introducido en el mundo del software empresarial herramientas más típicas del entorno académico y del software libre.

Esto se ha debido en gran medida a que empresas que utilizaban Python (Google, YouTube, Instagram) crecieron muy deprisa gracias a esta nueva filosofía de desarrollo.

¿Por qué Python se basa en la legibilidad y la transparencia?

Esto se debe principalmente al gusto personal de Guido Van Rossum, su creador original. Puede que tuviera en cuenta que los lenguajes dinámicos e interpretados anteriores, como Lisp o Perl, sacrificaban la legibilidad por la funcionalidad, con lo que los programas escritos en esos lenguajes eran muy difíciles de mantener.

Tienes un blog donde has compartido que acabas de finalizar tu primer proyecto de código no trivial con Julia, ¿qué te ha aportado este proyecto?  ¿Qué has aprendido?

Julia es uno de esos lenguajes de última generación que aportan otra vuelta de tuerca tecnológica. El objetivo de estos lenguajes, entre los que también están Go y Rust, es el ofrecer la expresividad de los lenguajes dinámicos (Python, Ruby) y la velocidad de los lenguajes estáticos (Java, C, C++). 

Durante mi doctorado trabajé con Python, muy expresivo y más lento, y Fortran, muy estricto pero con enormes prestaciones. Para tener una medida de qué significa “enormes prestaciones”, uno de nuestros códigos escritos en Fortran fue capaz de utilizar de manera eficiente casi dos millones de procesadores para simular un flujo turbulento. Por ello tengo bastante interés personal en Julia, que es el más orientado a ciencia e ingeniería de entre los nuevos lenguajes.

Para análisis de datos Julia ya es perfectamente funcional, aun teniendo en cuenta que tiene solo cuatro años de edad. Como cuento en esa entrada, no se queda tan lejos de cumplir la promesa de juntar expresividad con rendimiento. Por supuesto, esto es a cambio de hacer algunas concesiones, pero son perfectamente razonables.

Personalmente considero que utilizar un único lenguaje de programación para todo es un error. Los lenguajes son herramientas, y resuelven mejor unos problemas que otros.  La lección más importante es que hay una nueva generación de lenguajes con grandes posibilidades, y que ha llegado el momento de aprender a utilizarlos.

¿Por qué consideras que es importante la celebración de PyData en España?

Algunos de los temas tratados en la PyData, como el big data y el machine learning, son de enorme interés tecnológico en la actualidad. Ser parte de una red mundial de conferencias con una temática común aporta una mayor difusión.  Además, todo el contenido es en inglés, y atrae ponentes y participantes de otros países.

Este tipo de eventos son importantes para reducir ese cierto aislamiento que siempre ha lastrado el desarrollo tecnológico en España.

Síguenos en @BBVAAPIMarket

También podría interesarte