As Julia is a new language, there are relatively few resources for learning it.
Useful learning resources are:
Leah Hanson's blog, with well-written explanations: http://blog.leahhanson.us/category/julia.html
Learn Julia in a few minutes: http://learnxinyminutes.com/docs/julia/
There are a couple of books on Julia in preparation.
The main reference manual is
The best place to get help with any problems is the julia-users Google group: https://groups.google.com/forum/#!forum/julia-users
The talks from the first JuliaCon conference should be online soon: http://juliacon.org/
Probably the easiest way to get started with Julia is to find a package which implements functionality of interest to you and start reading the source code.
A rather random selection of interesting packages:
DataStructures.jl
: data structuresLazy.jl
: functional programmingJuMP
: optimization library with domain-specific language for defining problemsTaylorSeries
: $n$-dimensional Taylor series manipulation (I'm a minor co-author)Julia was designed with various types of support for parallel processing. Launching Julia with julia -p 4
will run Julia with 4 parallel threads. The @parallel
macro does the necessary:
In [1]:
nheads = @parallel (+) for i=1:200000000
int(randbool())
end
Out[1]:
In [ ]:
Pkg.update()
In [ ]:
For instance, the ParallelSparseMatMul.jl
package uses this to do sparse matrix multiplication in parallel: https://github.com/madeleineudell/ParallelSparseMatMul.jl