Find online courses made by experts from around the world.
Take your courses with you and learn anywhere, anytime.
Learn and practice real-world skills and achieve your goals.
Do you want web sites that can easily scale to millions of users?
Or build a system to reliably handle the coming Internet of Things (IoT) future?
Perhaps you just want to learn a programming language, which will teach you the techniques for building concurrent, functional, and fault-tolerant software.
Elixir is one of the fastest growing programming languages, for all of these reasons.
Created by José Valim, one of the Ruby on Rails core team members, Elixir is built on the tried and tested Erlang Beam (Virtual Machine). With cherry picked features from other modern languages such as Clojure, Ruby and Python, etc. it's a joy to use, and makes functional programming much more accessible.
Erlang was built from the ground up, to get distributed, and fault-tolerant computing "right". Elixir inherits these qualities, and packages it up in a beautiful modern language, with excellent tooling and access to all the existing Erlang libraries.
If you want to understand how Whatsapp, with less than 60 engineers, can send double the text messages of all the Telecoms companies put together, then come and learn Elixir. It'll be fun!
What can you build with Elixir:
* Websites with Phoenix
* Microservices and APIs
* IoT devices, with the Nerves project - write and manage the client and the server
* Use all the cores on your computer
* Build concurrent event driven services, ideal for Robotics, etc.
What is this course about:
Build a strong foundation in Elixir and functional programming with this tutorial for beginners.
A Skill for the Future of Programming
A developer in the future will need to have experience building functional and concurrent software. With the rise of the Internet of Things and greater need for scalable and fault-tolerant systems, developers are going to need experience building software that can cope with these kind of challenges.
Learning the fundamentals of Elixir will give you skills for the future. It's free and easy to learn, with excellent documentation and a thriving friendly community.
Understanding an elegant functional language such as Elixir will greatly improve your programming skills in Object Orientated languages, such as Ruby, Python, Java and C#. It will also serve as a foundation for learning other functional languages.
Elixir is the language of the future, and will equip you with the skills that our future jobs are going to require.
Content and Overview
Suitable for students with programming experience who wish to learn a functional language but don't know where to start. You’ll learn all of the Elixir fundamentals and establish a strong understanding of the concept behind Functional programming.
Starting from set up, this course will walk you through the main language concepts and how they work, right up to building your own Elixir programs, and using some of the main tools.
Students completing the course will have the knowledge and confidence to create functional programs written in Elixir. You will be able to read and write code, and understand when to use the correct data structures.
What am I going to get from this course?
Not for you? No problem.
30 day money back guarantee.
Learn on the go.
Desktop, iOS and Android.
Certificate of completion.
|Section 1: Welcome to Elixir|
Introduction to ElixirPreview
About this coursePreview
Elixir introduction resources
|Section 2: Introduction to Elixir|
Hello World x2
Introduction to Elixir files
Interactive Elixir REPL (iex)
|Section 3: Basic types|
Basic types: numbers
Atoms, Booleans and Strings
Basics of anonymous functions and tuples
|Section 4: Basics of functional thinking|
Pattern matching basics
Pattern matching further concepts
|Section 5: Complex types|
|Section 6: Modules & Functions|
Named function basics
Function captures and references
|Section 7: Recursion|
Recursion and pattern matching
Tail call optimisation
Reduce & Map a recursive example
|Section 8: Processes|
Spawning processes, sending/receiving messages and Tasks
Process ping pong example
|Section 9: Caesar Cipher Project|
Mix and project dependencies
Testing & writing code
Make a command line executable with: escript
Configuration, documentation and doctest
Ben Emson had developed software for Startups and large companies a like. For the last three years he was one of the lead technologists for "the Lab" at O2. Where he built cutting edge mobile and web applications.
He is passionate about technology and relishes teaching and developing innovative new products.