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.

julialogo1

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.

julialogo1

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.

Banner


Bun Shell Released
29/02/2024

The developers of the Bun JavaScript runtime have released Bun Shell, a new experimental embedded language and interpreter in Bun that lets you run cross-platform shell scripts in JavaScript and TypeS [ ... ]



Flox Releases Flox Hub
13/03/2024

Flox has announced that its Command Line Interface (CLI) and FloxHub are now generally available. The CLI is open source and FloxHub is free for anyone to use.


More News

raspberry pi books

 

Comments




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