Introduction


  • “Julia is a just-in-time compiled language”
  • “Julia packages compose well”

Using the REPL


  • “The REPL reads the given input, evaluates the given expression and prints the resulting output to the user.”
  • “Pressing ? enters help mode.”
  • “Pressing ; enters shell mode.”
  • “Pressing ] enters pkg mode.”

Julia type system


  • “In Julia types have only one direct supertype.”

Using the package manager


  • “Find packages on JuliaHub”
  • “add packages using pkg> add
  • “use many small environments rather than one big environment”

Write functions!


  • “You can think of functions being a collection of methods”
  • “Methods are defined by their signature”
  • “The signature is defined by the number of arguments, their order and their type”
  • “Keep the number of positional arguments low”
  • “Macros transform Julia expressions”

Interfaces & conditionals


  • “Interfaces are informal”
  • “Interfaces facilitate code reuse”
  • “Conditions use if, elseif, else and end

Loops


  • “Use for loops for a known number of iterations and while loops for an unknown number of iterations.”

Using Modules


  • “Modules introduce namespaces”
  • “Public API has to be documented and can be exported”

Creating Packages


  • “The general registry is hosted on GitHub.”
  • “Packaging is easy”

Adding tests


  • “Tests are important”

Wrapping Up and Moving Forward