Julia

Julia

Julia version 1.0 was released on 08 Aug 2018. Julia was specifically designed for scientific and numerical computing. Although it is a flexible and dynamic language, it can achieve performance comparable to traditional statically-typed languages like C or Fortran. See The Julia Programming Language home page and read the Julia 1.0 release blog post for a general overview of the language.

On our cluster Julia is installed under the shared network location /shared/opt/julia-1.0.0/

Quick Start with Julia

Starting an interactive julia session. To exit the interactive session, type CTRL-D or type exit().

$ /shared/opt/julia-1.0.0/bin/julia
julia >

To obtain help type a ? at the Julia> prompt:

julia> ?
help?> 
Welcome to Julia 1.0.0. The full manual is available at
https://docs.julialang.org/
as well as many great tutorials and learning resources:
https://julialang.org/learning/
For help on a specific function or macro, type ? followed by its name, e.g. ?cos, or ?@time, and press enter. 
Type ; to enter shell mode, ] to enter package mode.
julia> 

Try getting help on the cosine function by typing ?cos at the Julia> prompt.

Invoking the Julia package manager can be done in either of two ways:

julia> using Pkg
julia> Pkg.status()
    Status `~/.julia/environments/v1.0/Project.toml`
  [c5f51814] CUDAdrv v0.8.5
  [91a5bcdd] Plots v0.19.2
julia> 

or by using the interactive command-line invoked by typing the ] character:

julia> ]
(v1.0) pkg> status
Status `~/.julia/environments/v1.0/Project.toml`
[c5f51814] CUDAdrv v0.8.5
[91a5bcdd] Plots v0.19.2
(v1.0) pkg> 

You should definately read the package manager documentation as this covers some of the useful features of Julia for repoducible research using Project and Manifest files.

References

Documentation & Tutorials

The Julia Programming Language home page https://julialang.org
Julia documentation https://docs.julialang.org
Julia tutorials and learning resources https://julialang.org/learning/
The Julia Express 1.0 manual is available as a PDF document https://github.com/bkamins/The-Julia-Express
Cheat sheets: There is “The Fast Track to Julia” https://juliadocs.github.io/Julia-Cheat-Sheet/ and a single page PDF sheet at https://github.com/stevengj/1806/blob/master/julia/Julia-cheatsheet.pdf. Note that both of these are for version 0.6, not 1.0.

Packaging

A list of all registered packages for the Julia programming language https://pkg.julialang.org/
“Julia Observer” https://juliaobserver.com is a web based package browsing tool for Julia packages.
This site https://github.com/svaksha/Julia.jl aggregates and curates Julia programming resources.

Profiling

If you wish to profile your Julia code (and you should) then read Profiling and Visualization of Julia profiling data.

Examples

A High Precision Calculation of Feigenbaum’s Alpha Using Julia

This is custom footer