Software

Julia 0.7 arrives but let's call it 1.0: Data science code language hits milestone on birthday

You-hoo, Pythonistas and Rsters

By Thomas Claburn in San Francisco

26 SHARE

Julia, the open-source programming language with a taste for science, turned 1.0 on Thursday, six years after its public debut in 2012. The occasion was presented on YouTube, live from JuliaCon 2018 in London.

Created by Jeff Bezanson, Stefan Karpinski, Viral Shah, and Alan Edelman, the language was designed to excel at data science, machine learning, and scientific computing.

That's a niche – a rather substantial one these days – also served by Python and R, among other languages. However, the Julia aspires to be better, undaunted by being ranked 50 on Tiobe's programming language popularity index for August 2018. For what it's worth, Python presently sits at number 4 while R comes in at 18.

Six years ago, Julia's creators framed their goals thus:

We want a language that’s open source, with a liberal license. We want the speed of C with the dynamism of Ruby. We want a language that’s homoiconic, with true macros like Lisp, but with obvious, familiar mathematical notation like Matlab. We want something as usable for general programming as Python, as easy for statistics as R, as natural for string processing as Perl, as powerful for linear algebra as Matlab, as good at gluing programs together as the shell. Something that is dirt simple to learn, yet keeps the most serious hackers happy. We want it interactive and we want it compiled.

They're targeting perfection and, as might be expected, there's some work still to be done, particularly on how Julia copes with errors (exception handling).

In a julialang.org post announcing the milestone, the minders of the language claim to have achieved some of their goals.

Dynamic

Julia is fast, they say, and can target multiple platforms via LLVM. It implements a multi-dispatch design and comes with a standard library full of niceties like asynchronous I/O and support for parallelism. It's dynamically typed (for those who'd leave typing on autopilot) and optionally typed (for those who want to declare data types, but only at their discretion). It's usable either as general purpose programming language or as a technically-focused tool, thanks to its broad support for numeric data types.

The major achievement of version 1.0 is API stability. Previous version bumps included breaking changes. And 1.0 isn't guaranteed to work with pre-1.0 packages, either. But going forward, code written for Julia 1.0 should work with Julia 1.1, 1.2 and so on, at least until 2.0.

There's a new built-in package manager and support for missing values in datasets. The String type has been changed to allow it to survive arbitrary data. The language's broadcasting capability (useful for binary operations on arrays of different sizes) has been extended to custom data types. And support for named tuples has been added.

The full list of changes is documented in the 0.7.0 release notes – version 0.7 is being released concurrently with 1.0, the only difference between the two being the removal of deprecation warnings (useful for developers who need to update older packages). So this is really the 0.7 release. We won't say anything if you don't.

Julia (like any language) has both fans and detractors. Some people dislike the fact Julia indexes start at one (like Lua) rather than at zero (like Python, C, and just about everything else). However, it does offer the ability to change that. Flexibility appears to be one of Julia's virtues. ®

Sign up to our NewsletterGet IT in your inbox daily

26 Comments

More from The Register

We asked, you answered: The truth about software reliability

Research results It's not just about quality

Cisco snaps up Brit networking software bods Ensoft

From main customer to owner

Veracode Software gobbled by private equity house Thoma Bravo for $950m

Home of McAfee and SonicWall slurps app security testing biz from Broadcom

VMware bods – you back at work yet? Guess who's just poked their head into the software-defined data centre...

Data protector Acronis luring customers with virty storage Swiss roll

Want to learn how to accelerate your software ops AND save big?

CLL 19 early bird tickets disappear in two weeks

Red Hat sticks its storage software cap on Supermicro hardware

Software-defined storage meets single SKU-ery

HCL picks up Notes, spanks total of $1.8bn at Honest John's IBM software sale

Don't worry, Red Hat. We're sure Big Blue will love you more than it did Lotus

IBM's Red Hat gobble: Storage will be a test of Big Blue's commitment to open-source software

Comment Bringing home the bacon

Intel's Software Guard caught asleep at its post: Patch out now for SGX give-me-admin hole

Chipzilla adds to Windows IT admins security update load

They say software will eat the world. Here are some software bugs that took a stab at it

Analysis Well, you know what we mean. Variable quality comes with increasing quantity