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: https://github.com/radar/joyofelixir.

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: https://joyofelixir.com/book 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
radar

radar

Thank you for reading and making these suggestions :slight_smile:

Would you mind opening a new issue for each different thing in the repo? Particularly, one issue for Chapter 3’s thing, one issue for Chapter 4’s and one issue for Chapter 5? That will make it easier for me to track / fix them when I get around to doing that.

ifinley

ifinley

I was referred to this guide by a family member, and found it very easy to jump into. Sadly I’ve reached the interim end of the tutorial. Are there any tutorials that you can point me towards that are fairly simple like this one, and are geared towards the learner that has a good understanding of how computers work. In other words; simple, but not too simple. I intend to come back to this as more is added, but I like to go through multiple tutorials to grasp the full understanding of a single language. Any suggestions would be great!

Where Next?

Popular in Books Top

PragmaticBookshelf
Kevin Hoffman edited by Kelly Talbot @KellyTalbot Reality is event-sourced; your mind processes sight, sound, taste, smell, and touch to...
New
meraj_enigma
New book from Packt publication that goes into teaching how to write a web framework using Elixir. About this book Elixir’s functional...
New
AstonJ
by Saša Jurić Elixir in Action teaches you to apply the new Elixir programming language to practical problems associated with scalabilit...
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
AstonJ
by Wolfgang Loder Learn and understand Erlang and Elixir and develop a working knowledge of the concepts of functional programming that...
New
AstonJ
By Simon St. Laurent If you’re new to Erlang, its functional style can seem difficult, but with help from this hands-on introduction, y...
New
kokolegorille
by Ulisses Almeida Elixir’s straightforward syntax and this guided tour give you a clean, simple path to learn modern functional program...
New
peerreynders
Don’t forget you can get 35% off the ebook using the code: devtalk.com :023: Note: Check out this thread for help running code in lat...
New
AstonJ
A short and personal history of the book I, Erik Stenman (Happi), started writing this book back in 2013. At first I was thinking of sel...
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

Other popular topics Top

9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New
Patoshizzle
After calling mix ecto.create I get this error: 17:00:32.162 [error] GenServer #PID<0.412.0> terminating ** (Postgrex.Error) FATAL...
New
fireproofsocks
I’m working on defining a simple Ecto schema for a table (in PostGres), but I don’t see where I can define a column as NOT NULL. Conside...
New
gshaw
What is the idiomatic way of matching for not nil in Elixir? E.g., First way: defp halt_if_not_signed_in(conn, signed_in_account) when...
New
yawaramin
In the Dialyzer docs ( http://erlang.org/doc/man/dialyzer.html#requesting-or-suppressing-warnings-in-source-files ), there is a way to tu...
New
JorisKok
I have a server on AWS, and was running a load test using artillery. When looking at the Phoenix dashboard I see the Ports going to 100% ...
New
aalberti333
As the title describes, I’m trying to run Enum.map() over a list of key/value pairs, where the value is a map. My data looks like this: ...
New
malloryerik
Hi, this is for people who, like me, have had some friction using .html.heex templates in VSCode. The solution seems to be, in a hyphena...
New
script
If I have a string “1000 cfu/ml” . I want to remove the characters and / and space . So the string is like this "1000" What is the ...
New
Fl4m3Ph03n1x
About me? ( if you have nothing better to do than reading about some random guy in the internet :stuck_out_tongue: ) Hello all, this is ...
New

We're in Beta

About us Mission Statement