This article details information about the programming language known as Julia. It explains what it is and how it competes with Python.
Recently, I published a list of the top five programming languages for developers.
Of course, Python made that list due to its ease-of-use and popularity. But another language may soon overtake Python in popularity.
What is this new MIT-created language and what can it do?
Origins of the Free and Open Source Language
You’ll have to pardon the reference, but I just couldn’t resist.
The Julia programming language shares little with the weeping Drew Barrymore from the movie The Wedding Singer. After all, it’s a programming language and not a lovelorn woman about to have a rhyming name.
The breakthrough for Julia 1.0 came as a years-long project on behalf of an MIT group.
Originally released in 2012, Alan Edelman, Stefan Karpinski, Jeff Bezanson, and Viral Shah continued to work on the language. It is a free and open source language with around 700 active contributors.
It has 1,900 registered packages, 2 million downloads, 41,000 GitHub stars, and a 101% download growth annual rate. More than 700 research institutions and universities use it, as well, along with companies like Netflix and Capital One.
Other developers worked on it, too, according to an MIT News article.
Julia stands out due to its membership in the “petaflop club”. This means that it uses 1.0 million threads, 9,300 Knights Landing (KNL) nodes, and 650,000 cores to reach 1.5 petaflops per second as it catalogs 188 million astronomical objects like stars.
By the way: on the world’s fastest supercomputer, it did this in just 14.6 minutes.
This May be the Node.js Equal for Technical Computing
Node.js facilitates real-time web application functions using push technology. Both the server and client can start communication thereby exchanging data freely.
In the same way that Node.js augmented web development, Julia is poised to do the same for technical computing (according to some — including MIT). As the above Youtube tutorial puts it, Julia helps unite two disparate groups: “the domain experts and the speed freaks.”
Others say that it’s more of a niche language built for numerical and scientific computing.
However, data scientists find it highly useful, as well. In fact, IntelLabs released a processing engine which uses Julia known as HPAT.jl. Built in the Julia framework, it functions as a High-Performance Analytics Toolkit (HPAT) for big data analytics on clusters.
It is supposed to be a combination of Python’s usability and C’s speed. It also supposedly possesses the dynamic elements of Ruby, the statistical capabilities of R, and the mathematics specialties of MatLab. But is this unicorn really effective?
Julia’s use by the Federal Aviation Administration (FAA) also lends credibility to its status as a unicorn programming language.
Big Plans for Julia’s Future Applications
Though data scientists and mathematicians favor the language, it has other applications in many industries. These industries include:
- 3D printing
- augmented reality
- self-driving cars
- risk management
- precision medicine
- machine learning
The language has a chameleon-like quality that allows coders to shape it to their needs.
TechRepublic said that it “feels like a scripting language”, but you can compile “efficient native code” for many platforms using a Low-Level Virtual Machine (LLVM).
One of the MIT researchers on the project, Viral Shah, said that the pivotal inspiration for Julia’s development revolved around how people often had to write the same program multiple times.
“If you are a mathematician, scientist, or engineer, you have historically had the choice to pick a language that was fast, like C++ or Java, or a language was easy to learn, like Matlab, R, or Python.”
Julia eliminates the need for this binary which may explain its quick rise in popularity.
But if you don’t care about processing speed, you might be better off with whatever language you currently use. Julia also lags behind in tools for identifying bugs and performance issues. But Shah says that the community will likely continue development.
You can download Julia for free here and tinker with it as you see fit.