radar

radar

Joy of Elixir (self-published) (free)

by Ryan Bigg

Joy of Elixir came about because I saw that there was not very much when it comes to absolute beginner material for learning Elixir. There's the excellent Getting Started guide on elixir-lang.org and the Programming Elixir book, but those feel like they're more targeted towards experienced programmers. They teach Elixir with a lot of assumed knowledge about programming languages. They're great books, but they're only great books for experienced programmers.

There's also the wonderful Elixir School site that serves well as a reference guide to the features of Elixir, but what newbies really need is a gentler introduction to Elixir.

Joy of Elixir avoids assuming you know anything about programming while teaching you about your first programming language: Elixir.

It seemed like there is a vast, empty, cavernous void where there should be something like the excellent Learn to Program book by Chris Pine. That book is for another programming language called Ruby; but there feels like there should be an equivalent to that for Elixir.

We have people completely new to programming wanting to learn Elixir -- because people who have learned Elixir already told them about it and how cool it is! -- but the support is not-quite-there yet. So this is an attempt to fill that void. Essentially a response to: "Why won't somebody think of the newbies?". Well, someone is thinking of the newbies.

I want Joy of Elixir to be the go-to-resource for teaching people (yes, that means you!) programming for the very first time using Elixir. I want you to experience the joy that Elixir (and programming in general) can bring to people. I want you to feel like they have power over the machine because of the knowledge contained within this book.

I want you to feel competent as our future's potential computer programmers. I want you to feel like you can become a programmer. This isn't stuff a "chosen few" can do. You're capable of learning this too.

Companion blog post: Joy of Elixir - Ryan Bigg

If you find any mistakes within the book, please follow the instructions over here About - Joy of Elixir to let me know about them.

Thanks for reading!

Most Liked

radar

radar

Not only is it free to read online, but it is also open source: GitHub - radar/joyofelixir: A gentle introduction to the Elixir programming language · GitHub.

The repo is a Jekyll site and so you’ll need Ruby installed to run it, but the setup is very easy to do.

If you want to view this book offline then I would recommend cloning the repository and then running it locally.

Alternatively: if you want it in dead-tree form: The Book - Joy of Elixir combines all the available chapters into one web page and then from there you could print it out.

radar

radar

I’ve just published an update about Joy of Elixir to my personal blog: https://ryanbigg.com/2018/08/joy-of-elixir-progress-update.

The TL;DR of this is:

  • I’m back to writing this book in my full-time after writing yet another book first
  • I’m hoping to have the chapter on File complete by the end of the week
  • I have big plans for the remainder of the book, including a project involving reading from CSV files and automated testing

Thanks all who’ve read / recommended Joy of Elixir so far :slight_smile: I’ve really loved hearing the great feedback from anyone who’s gone through it already. It gives me such a large amount of confidence going forward.

radar

radar

Just a few more chapters planned:

  • Chapter 12: a short one about how to find more functions or to bring up the documentation in iex. Things like tab-complete, and the h, i and v helpers.
  • Chapter 13: Introduction to Mix. Including modules, and touching on automated testing.
  • Chapter 14: Building that CSV-reading project I mentioned step-by-step using all the skills we’ve learned so far in the book
  • Appendix C: “Where to from here” - links to recommended resources for people to read after this book

Where Next?

Popular in Books Top

PragmaticBookshelf
Alexander Koutmos Bruce A. Tate @redrapids Frank Hunleth @fhunleth edited by Jacquelyn Carter @jkcarter The Elixir programming langua...
New
germsvel
:waving_hand: Hi there, I’ve been working on a Test-Driven Development with Phoenix book. It teaches TDD and BDD by building a chat app ...
New
AstonJ
Don’t forget you can get 35% off the ebook using the code ‘devtalk.com’ :023: Current: Search Original: Search For those looking for ...
New
AstonJ
By Francesco Cesarini, Simon Thompson This book is an in-depth introduction to Erlang, a programming language ideal for any situation wh...
New
AstonJ
by by Fred Hebert Erlang is the language of choice for programmers who want to write robust, concurrent applications, but its strange ...
New
PragmaticBookshelf
Peter Ullrich (@PJUllrich) edited by Michael Swaine @michaelswaine Data is at the core of every business, but it is useless if nobody ca...
New
PragmaticBookshelf
Tony Hammond Series editor: Bruce A. Tate @redrapids Developmental editor Jacquelyn Carter @jkcarter Data is everywhere—it’s just not ...
New
slashdotdash
I’m working on a CQRS/ES and Phoenix book for those interested in building an event driven application using Elixir. The full ...
New
PragmaticBookshelf
Ellie Fairholm and Josep Giralt D’Lacoste edited by Nicole Tache The days of separate dev and ops teams are over—knowledge silos and the...
New
AstonJ
by Fred Hebert This book intends to be a little guide about how to be the Erlang medic in a time of war. It is first and foremost a col...
New

Other popular topics Top

senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New
minhajuddin
I have seen a lot of code which picks the first element from a list using Enum.at(0) instead of List.first. Is there a reason why people ...
New
baxterw3b
Hi guys, i’m new in the Elixir world, and i have to say, that i love it! i’m having some problem to understand anonymous functions with ...
New
grych
Hi folks, Few months ago I have announced the proof-of-concept of the library to manipulate the browsers DOM objects directly from Elixi...
639 52341 488
New
jason.o
In the code below, if the create action is not set to accept “extra_key” as an input, it errors out with a message shown above. Is there ...
New
Brian
What is the proper way to load a module from a file in to IEX? In the python world, doing something like this pretty standard: from ....
New
axelson
This post is a wiki (feel free to hit the edit button near the bottom right of this post to add your own changes!) This post collects co...
239 47930 226
New
AstonJ
We’ve put together this wiki for Phoenix LiveView - please feel free to add any info you feel is worth including. What is Phoenix LiveV...
New
WestKeys
Currently suffering from paralysis by [HTTP client] analysis. This is rather unusual in Elixirland as there tends to be consensus on the ...
New
hariharasudhan94
Lets say I have map like this fetching from my database %{"_id" => #BSON.ObjectId<58eb1a7a9ad169198c3dXXXX>, "email" => ...
New

We're in Beta

About us Mission Statement