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
atmake
time.
New library functions
getipaddrs()
: Returns IP addresses of the local machinegetipaddr(addr_type)
andgetipaddrs(addr_type)
functions: Return IP addresses of the desired specified typeBase.hasproperty
andBase.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.
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.
The post Julia v1.2.0: Technical computing gets updated with new library functions appeared first on JAXenter.
Source : JAXenter