O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Getting Started With Julia

Video Description

Learn the new language Julia for high performance technical computing.

About This Video

  • Get to know how to use Types, Modules, and Packages in Julia.

  • Learn to emulate and implement an object oriented approach in a functional setup.

  • Get efficient with debugging and testing, and learn to exploit metaprogramming in Julia.

  • Learn to work with input and output streams in Julia, and files of different formats.

  • In Detail

    Julia is a new programming language designed for the needs of data scientists, statisticians, scientific computing, and engineers. Usually these disciplines have had to use a variety of of tools and languages:

  • Matlab

  • Python with Numpy

  • R

  • C/C++ or Fortran for high performance

  • With Julia you can replace all these tools with one programming language, since it offers both flexibility and speed.

    Julia is a young language with limited documentation and although rapidly growing, a small user community. Most developers today will know the object oriented paradigm used in mainstream languages such as Python, Java and C++. This presents a challenge switching to Julia which is more functionally oriented. This course will not only introduce the language, but also explain how to think differently about problems with the Julia approach.

    Table of Contents

    1. Chapter 1 : Installation and Setup
      1. The Course Overview 00:11:47
      2. Downloading Julia 00:06:22
      3. Setting up an Editor 00:09:00
      4. Using the Julia REPL 00:03:34
    2. Chapter 2 : Learning Basics in Julia
      1. Using Julia as a Calculator 00:13:29
      2. Numbers 00:24:49
      3. Strings 00:15:13
      4. Arrays 00:10:38
      5. Control Flow 00:11:10
      6. Functions 00:09:51
      7. Variables 00:07:38
      8. Dictionaries 00:10:24
    3. Chapter 3 : Working with Types
      1. Inspecting Types 00:16:34
      2. Type Hierarchies and Multiple Dispatch 00:08:52
      3. Conversion and Promotion 00:13:50
      4. Defining Your Own Types 00:16:15
    4. Chapter 4 : Input and Output
      1. Reading and Writing to Files 00:19:22
      2. Networking 00:11:26
      3. Dealing with Different File Formats 00:09:45
    5. Chapter 5 : Modules and Packages
      1. Using Modules 00:10:45
      2. Networking 00:09:49
      3. Reading and Writing CSV Files 00:15:00
    6. Chapter 6 : Object-Oriented Programming
      1. Interfaces 00:12:14
      2. Maze Builder 00:15:05
      3. Graphics Editor 00:13:37
      4. Implementation Inheritance 00:08:09
    7. Chapter 7 : Functional Programming in Julia
      1. Higher Order Functions 00:13:43
      2. Function Composition 00:11:26
      3. Functional Approach 00:16:14
      4. Functional Interpreter Pattern 00:08:36
    8. Chapter 8 : Collections
      1. Common Traits 00:11:16
      2. Collection Types 00:10:06
      3. Multidimensional Arrays 00:15:15
      4. Sets 00:04:57
    9. Chapter 9 : Type Unions
      1. Introducing Type Unions 00:03:39
      2. Code Reuse Through Type Unions 00:08:12
    10. Chapter 10 : Parametric Types
      1. Why Parametric Types? 00:12:30
      2. Creating a Generic Collection 00:08:48
      3. Pitfalls 00:08:58
      4. Nullable 00:04:54
    11. Chapter 11 : Debugging and Testing
      1. Debugging Approaches 00:19:37
      2. Writing Debuggable Code 00:16:12
      3. Writing Tests 00:21:56
    12. Chapter 12 : Metaprogramming
      1. Program Representation 00:11:06
      2. Macros 00:18:06
      3. Code Generation 00:08:38
    13. Chapter 13 : Performance
      1. Compilation 00:14:38
      2. Abstract Versus Concrete Types 00:11:03
      3. Type Stability 00:15:37