Introducing Julia

Previous page
Introducing Julia Next page
Getting started
Contents

Introduction

edit

The Julia programming language is easy to use, fast, and powerful. This wikibook is intended as an introduction to the language for the less experienced and occasional programmer. For more learning materials, including links to books, videos, articles/blogs and notebooks, refer to the learning section at Julia's official site. See Jobs for types of jobs and companies using Julia.

The official Julia documentation is the authoritative guide, and you should refer to it as often as possible as you learn. It's the "reference" guide both for the language itself and for the set of standard packages (the "standard library") that are provided as part of the basic installation.

A feature of Julia is the extensive use of add-on packages to add functionality and features, and to extend the syntax of built-in functions. Good places to look for packages (which are free to download from github.com) include the JuliaHub site. Packages provide their own documentation and many provide extensive tutorials.

The Julia community has established a good ethos of encouraging participation in the development of the language on github. The advantage of this wikibook is that it's made and edited by the Julia community – you can edit anything at any time. If you find something that's wrong, or unclear, feel free to correct it, or add examples. (Your first few edits are reviewed, just in case you have less than good intentions. And, as with the Wikipedia, you should expect your writing to be edited by others!) The focus should be largely on the new user, rather than the computer science expert.

Outline

edit
Getting started
some introductory words, installation, paths, and various bits of magic
The REPL
Using the REPL; Julia as a calculator; getting help
Arrays and tuples
Storing data – Arrays and tuples; the core of Julia and scientific programming
Types
a quick introduction to types, the way to organize your code and the secret to making your programs fast
Controlling the flow
loops and decisions; ifs and elses
Functions
functions and methods; multiple dispatch
Dictionaries and sets
storing data in dictionaries and sets
Strings and characters
working with strings
Working with text files
reading data from text files; elementary file processing
Working with dates and times
working with date and time functions
Plotting
Plotting; an introduction to some of the plotting packages
Metaprogramming
metaprogramming, expressions and macros
Modules and packages
how Julia code is organized, and should be developed
DataFrames
data frames; organizing data in tables
Migrating From Other Languages
Julia for users of other programming languages
Introducing Julia/Games
Julia games, and some tools to make games
edit