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.


GitHub Announces AI-Powered Changes

GitHub has announced changes to its platform that will use AI "in every step of the developer lifecycle". The intention is to make natural language become the universal programming language. The annou [ ... ]

GameMaker Free For Non-Commercial Use

GameMaker, for creating 2D platform games and now part of the Opera family, has made a change to its prices and terms and it is good news. GameMaker is now free for non-commercial purposes on all [ ... ]

More News




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