Julia

Learn Julia with these Excellent Free Resources

Julia

What is Julia?

Julia is a high-level, high-performance dynamic programming language for technical computing. Julia aims to create an unprecedented combination of ease-of-use, power, and efficiency in a single language.

It’s a homoiconic functional language focused on technical computing. While having the full power of homoiconic macros, first-class functions, and low-level control, Julia is as easy to learn and use as Python.

Although Julia is a new language, first appearing in 2012, its roots are in Lisp, so it comes with mature features like macros and support for other metaprogramming techniques like code generation. Julia’s expressive grammar lets you write easy-to-read and easier-to-debug code, and its speed gets you through more work in less time. It’s a great choice whether you’re designing a machine learning system, crunching statistical data, or writing system utilities.

Distinctive aspects of Julia’s design include a type system with parametric polymorphism and types in a fully dynamic programming language and multiple dispatch as its core programming paradigm. It allows concurrent, parallel and distributed computing, and direct calling of C and Fortran libraries without glue code.

Because Julia is a new language there are relatively limited resources to help you get started with it besides the official documentation. But we’ve researched the finest open source resources to help you master the language.

Julia Documentation

The Julia Language

By The Julia Project (998 pages)

This is the official documentation for Julia. It goes into great depth about the language.

This comprehensive book covers everything from strings, functions, control flow, types, methods, constructors, modules, to mulit-dimensional arrays, networking, global variables, environment variables, embedding Julia and so much more.

The Julia language is licensed under the MIT License.

Julia Express

The Julia Express

By Bogumił Kaminski (13 pages)

The purpose of this document is to introduce programmers to Julia programming by example. This short book is a simplified exposition of the language.

Chapters cover:

  • Basic literals and types.
  • Special literals and types;
  • Strings.
  • Programming constructs.
  • Variable scoping
  • Modules.
  • Operators.
  • Essential general usage functions.
  • Reading and writing data.
  • Random numbers.
  • Statistics and machine learning
  • Macros.
  • Plotting

The Julia Express is published under the MIT License.

Introduction DataFrames

An Introduction to DataFrames

By Bogumił Kaminski

An Introduction to DataFrames offers readers a valuable insight into using DataFrames.

This tutorial covers:

  • Constructors and conversion.
  • Getting basic information about a data frame.
  • Handling missing values.
  • Load and save DataFrames.
  • Manipulating columns of DataFrame.
  • Manipulating rows of DataFrame.
  • Working with CategoricalArrays.
  • Joining DataFrames.
  • Reshaping DataFrames.
  • Transforming DataFrames – split-apply-combine.
  • Performance tips.
  • Possible pitfalls.
  • Additional useful packages.

The tutorial works with Julia 1.0.

The book is published under the MIT License.

Julia by Example

Julia by Example

By Samuel Colvin (–)

This is a set of articles that offer examples of Julia, the high-level, high-performance dynamic programming language for technical computing.

Covers:

  • Hello World.
  • Simple Functions.
  • Strings Basics.
  • String: Converting and formatting.
  • String Manipulations.
  • Arrays
  • Error Handling
  • Multidimensional Arrays
  • Dictionaries.
  • Loops and Map
  • Types.
  • Input & Output.
  • Packages and Including of Files.
  • Plotting.
  • Winston.
  • DataFrames.

This work is published under the MIT License.

Learn Julia in Y Minutes

Learn Julia in Y Minutes

By Leah Hanson and many contributors (Web page)

This tutorial covers the following topics:

  • Primitive Datatypes and Operators.
  • Variables and Collections.
  • Control Flow.
  • Functions.
  • Types.
  • Multiple-Dispatch.

This work is published under the Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) License.

Julia Language

Julia Language: A Concise Tutorial

By Antonello Lobianco (65 pages)

The purposes of this tutorial are (a) to store things the author has learned himself about Julia and (b) to help those who want to start coding in Julia before reading official documentation.

Chapters cover:

Language core:

  • Getting started.
  • Data types.
  • Control flow.
  • Functions.
  • Custom structures.
  • Input – Output.
  • Managing run-time errors (exceptions).
  • Interfacing Julia with other languages.
  • Metaprogramming.
  • Performances (parallelisation, debugging, profiling…).
  • Developing Julia packages.

Useful packages:

  • Plotting.
  • DataFrames.
  • JuMP.
  • SymPy.
  • Weave.
  • LAJuliaUtils.
  • IndexedTables.

License details are not specified.

Other useful Julia resources:

PROGRAMMING LANGUAGE PROFILES

Ada, Assembly, Awk, Bash, C, C++, C#, Clojure, CoffeeScript, ECMAScript, Erlang, Forth, Fortran, Go, Haskell, HTML, Java, JavaScript, LaTeX, Lisp, Logo, Lua, OCaml, Pascal, Perl, PHP, Prolog, Python, R, Ruby, Rust, Scala, Scheme, Scratch, SQL, Swift, TeX, VimL

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.