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.
The official Julia documentation is excellent, and you should refer to it as often as possible.
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.
Currently (Summer 2018) this wikibook is being updated to reflect Julia version 0.7, which is due to be released in the next few months.
- 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
- 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 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; an introduction to some of the plotting packages
- metaprogramming, expressions and macros
- Modules and packages
- how Julia code is organized, and should be developed
- data frames; organizing data in tables
- custom Google search a custom Google search engine for the Julia language
- The Julia manual – the official rulebook: current and in-development documentation is available here
- Julia Observer – a searchable listing of all Julia packages
- Julia Package Listing – a searchable listing of all registered packages
- A Month of Julia 30 (or more) blog posts about using Julia