Julia v1.2.0: Technical computing gets updated with new library functions

Share
  • August 22, 2019

Julia has been on our radar for some time, especially after the programming language won the Wilkinson Prize for Numerical Software. More and more, JuliaLang keeps updating with essential new features, such as composable multi-threaded parallelism.

Now, version v1.2.0 is here; it released on August 20, 2019. This marks the second minor release in the 1.x series. (The current long-term support (LTS) release is still v.1.0.4.)

What’s new with this technical computing language?

What’s new in Julia?

Since this is only a minor release, there are no breaking changes. However, it does add a few new features, performance upgrades, standard library changes, new library functions, and a few minor behavior changes. Without further ado, let’s dip into the newest additions.

SEE ALSO: How DevOps can migrate to the cloud without sacrificing security

New features

  • Argument splatting: used in calls to the  new pseudo-function in constructors
  • Unicode version 12.0.0 support
  •  (star) as unary operator added

Changes

  • Language change: JULIA_DEPOT_PATH empty entires expanded to default depot entires
  • Multi-threading changes: Schedule and switch tasks during @threads loops; Condition type has a thread-safe replacement and task scheduling primitives are now thread-safe.
  • Build system change: Build system now prefers downloading prebuilt binary tarballs for most dependencies on supported systems. Users can disable this by setting USE_BINARYBUILDER=0 at make time.

New library functions

  • getipaddrs() : Returns IP addresses of the local machine
  • getipaddr(addr_type) and getipaddrs(addr_type) functions: Return IP addresses of the desired specified type
  • Base.hasproperty and Base.hasfield
  • Added argument !=(x)>(x)>=(x)<(x)<=(x) 

This release comes with a fair amount of standard library changes. Here are just a few highlights of the standard library changes:

  • When used in broadcasting, Enum behaves like a scalar
  • Functions invoking commands throw a  ProcessFailedException if commands exit with non-zero exit code
  • Added no-argument constructor for Ptr{T}
  • mapreduce accepts multiple iterators
  • Added inv(::Missing)
  • strip accepts a function argument

View the release notes on GitHub to see the exhaustive list of changes made.

Updating to v1.2.0

Ready to update to the latest version of Julia?

According to the announcement by language developer Alex Arslan:

We encourage everyone to give it a try. Packages can test with 1.2.0 on CI by specifying 1.2 on Travis, AppVeyor (with Appveyor.jl 21), and Cirrus (using CirrusCI.jl 22). As always, let us know in the issue tracker 19 if you run into any issues.

Downloadable binaries for the current stable release are available for Linux, Windows, macOS, and FreeBSD.

SEE ALSO: Tour of Akka Typed: Message Adapters, Ask Pattern and Actor Discovery

Users can also run JuliaBox directly in the browser with Jupyter notebooks.

Check out the GitHub repo for further information.

Why do people love the language and what are its use cases? Refer to the recent survey results and see why developers turn to Julia. It’s used for scientific computing, linear algebra, statistics, machine learning, data science, and much more.

Join the conversation on Discourse and get help using the language, or contribute to its development.

The post Julia v1.2.0: Technical computing gets updated with new library functions appeared first on JAXenter.

Source : JAXenter