Julia: A language for the future of Cyber Security
Julia 1.0 was released in 2018. It is a language created to have both the high-level simplicity as python, but low-level performance as C. In this tutorial we will do some cool coding with it.
Julia might seem like an odd name for a programming language, but this may just be the unicorn of all coding languages. Developed by an MIT group, this open source language just dropped its 1.0 version and already counts Netflix and Capital One among its clients.
What is this new MIT-created language and what can it do?
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
In the same way that Node.js augmented web development, Julia is poised to do the same for technical computing. 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?.
It climbed from 50th to 39th in just one month in TIOBE’s “interesting moves” picks. The developer analyst firm RedMonk also gave it some love.
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 including:
Genomics Risk management
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.