Julia 1.0 Released
Written by Kay Ewbank   
Friday, 10 August 2018

Julia 1.0 has been released after almost a decade of work. Julia has been designed to be open source, fast, dynamic, usable for general programming and more specialist areas such as statistics.


Julia is a dynamic language for technical computing that is especially good at running MATLAB and R-style programs. Development began on Julia at MIT in 2009 by Professor of Computer Science Alan Edelman with Jeff Bezanson, Stefan Karpinski, and Viral B. Shah.

When Julia was first announced, the list of what the developers wanted was impressively ambitious:

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.

Now that version 1.0 has been released, the developers say that a good performance has been achieved because Julia was designed from the beginning for high performance. Julia programs compile to efficient native code for multiple platforms via LLVM. Julia is also Julia is dynamically-typed and has good support for interactive use. Its typing is optional, and its syntax is designed to be useful for math.

For general use the standard library provides asynchronous I/O, process control, logging, profiling, and a package manager. The changes from version 0.6 start with the new built-in package manager that is faster than the previous version, and that supports per-project package environments.

The new version also provides anew canonical representation for missing values to make it easier for developers to represent and work with missing data.  Any generic collection type can support missing values simply by allowing elements to include the pre-defined value missing. Named tuples have also been added to the new version.

Other improvements include changes to the built-in String type to allow it to hold arbitrary data. The developers say:

"Your program won’t fail hours or days into a job because of a single stray byte of invalid Unicode. All string data is preserved while indicating which characters are valid or invalid."

Another improvement is the ability to overload the dot operator, so that types can use the obj.property syntax for meanings other than getting and setting struct fields. The developers say that this is especially useful for smoother interop with class-based languages such as Python and Java.


More Information

Julia 1.0 Download

Julia Website

Related Articles

Julia 0.6 Improves Type Handling

Julia Studio - An IDE For Julia

//No Comment - Ceylon 1.3 & Julia 0.5.0

Julia meets HTML5

Julia Gets $600K

Julia 0.4 Released


To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.


Hackaday 2021 Competition Opens

The annual Hackaday Prize competition has opened with a top prize of $25,000. This year's theme is finding ways to rethink and refresh hardware in light of the Covid pandemic.

Pyston 2.2 Goes Open Source Again

Pyston v2.2, the latest version of the high-performance Python implementation originally developed by cloud storage provider Dropbox, has been taken back to an open source model.

More News





or email your comment to: comments@i-programmer.info