Julia, a science and engineering-orientated programming language

3 min reading
18 April 2016
Julia, a science and engineering-orientated programming language
Julia, a science and engineering-orientated programming language


What are the differences between Ruby, PHP and Python?

Python and Ruby have a lot in common and are also different from PHP. The former are general purpose languages, while PHP is used exclusively for website development.

The differences between Python and Ruby are very subtle and have to do with the history of each language. Python had more ties with the academic world and evolved and grew non-stop as it was adopted by more and more sectors.  Ruby became enormously popular with the appearance of Ruby on Rails and is much more commonly used in website development.

How has Python helped to improve development over the years?

The greatest contribution has been to demonstrate that a language that was interpreted and designed to be simple and expressive can be used to generate large software projects. In other words, Python and other comparable languages are not toys in the least, as was once thought. The result has been the introduction in the world of business software of tools that are more typical of the academic and free software environments.

An important factor in this regard was that the companies that used Python (Google, YouTube, Instagram) grew very quickly thanks to this new philosophy of development.

Why is Python based on legibility and transparency?

This is mainly due to the personal tastes of its creator, Guido Van Rossum. He may have taken into account that previous dynamic and interpreted languages, such as Lisp or Perl, sacrificed legibility for greater functionality, which made it very difficult to maintain programs written in those languages.

You have a blog where you mention that you have just finished your first non-trivial code project with Julia. What have you gotten out of this?  What have you learned?

Julia is one of those next generation languages that have provided a new technological twist. The goal of these languages, which include Go and Rust, is to offer the expressive capacity of dynamic languages (Python, Ruby) and the speed of static languages, Java, C, C++). 

During my doctorate, I worked with Python, which is very expressive and slower, and Fortran, which is very strict and powerful. To get an idea of what I mean by “powerful”, one of the codes we wrote in Fortran was capable of using nearly two million processors efficiently to simulate a turbulent flow. That is why I am personally very interested in Julia, which is the most science and engineering-oriented among next generation languages.

Julia is already perfectly functional for data analysis, even though it is only four years old. As mentioned in my blog, we are closer to fulfilling the promise of combining expressiveness with performance. This will obviously require some concessions, but that is perfectly understandable.

I honestly think that using a single programming language for everything is a mistake. Languages are tools and some are more capable of solving certain problems than others.  The most important lesson is that there is a new generation of languages with enormous potential and the time has come to learn how to use them.

Why do you think it is important to hold PyData in Spain?

Some of the subjects dealt with at the PyData event, such as big data and machine learning, are of enormous technological interest at this time. Being a part of a worldwide network of conferences that have a common subject matter provides wider coverage.  Also, all the content is in English, which attracts both speakers and participants from other countries.

These types of events are important to break through the isolation that has always slowed technological development in Spain.

Follow us on @BBVAAPIMarket

It may interest you