Learning Elixir

Key Features

  • Explore the practical paradigms of programming with Elixir via use of necessary examples
  • Concise step by step directions to educate you tricky technical concepts
  • Bridge the space among useful programming and Elixir

Book Description

Elixir, in accordance with Erlang's digital desktop and environment, makes it more straightforward to accomplish scalability, concurrency, fault tolerance, and excessive availability targets which are pursued through builders utilizing any programming language or programming paradigm. Elixir is a latest programming language that makes use of the advantages provided by way of Erlang VM with out rather incorporating the advanced syntaxes of Erlang.

Learning to software utilizing Elixir will educate many stuff which are very necessary to programming as a craft, no matter if on the finish of the day, the programmer is not utilizing Elixir. This ebook will educate you suggestions and rules very important to any advanced, scalable, and resilient software. in general, purposes are traditionally tricky to cause approximately, yet utilizing the thoughts during this booklet, they are going to turn into effortless and stress-free. it's going to educate you the practical programing ropes, to permit them to create larger and extra scalable purposes, and you may discover how Elixir may also help in achieving new programming heights. additionally, you will glean a company realizing of fundamentals of OTP and the to be had common, supplied performance for growing resilient complicated platforms. moreover, you are going to study the fundamentals of metaprogramming: editing and increasing Elixir to suite your needs.

What you are going to learn

  • Explore Elixir to create resilient, scalable applications
  • Create fault-tolerant applications
  • Become greater conversant in Elixir code and notice the way it is based to construct and boost sensible programs
  • Learn the fundamentals of useful programming
  • Gain an realizing of powerful OTP principles
  • Design program-distributed purposes and systems
  • Write and create branching statements in Elixir
  • Learn to do extra with much less utilizing Elixir's metaprogramming
  • Be acquainted with the amenities Elixir presents for metaprogramming, macros, and increasing the Elixir language

About the Author

Kenny Ballou is a life-long learner, developer, mathematician, and total philosopher. He enjoys fixing difficulties, studying approximately applied sciences, and discussing new and various ideas.

He graduated from the Boise country college, majoring in utilized arithmetic, and minoring in machine technology. He has been programming professionally for almost a decade, and is at the moment operating as a software program developer for an analytics corporation within the Boise, Idaho area.

Apart from constructing professionally, he's lively within the open resource neighborhood, contributing the place he can.

When he's not constructing, he enjoys analyzing, studying, and shredding the neighborhood mountains.

You can learn extra from him on his web publication at https://kennyballou.com, try out his code on GitHub at https://github.com/kennyballou/, and stick with him on Twitter at @kennyballou.

Table of Contents

  1. Introducing Elixir – considering Functionally
  2. Elixir fundamentals – Foundational Steps towards useful Programming
  3. Modules and features – developing useful development Blocks
  4. Collections and circulation Processing
  5. Control circulate – sometimes you must Branch
  6. Concurrent Programming – utilizing strategies to overcome Concurrency
  7. OTP – A terrible identify for a wealthy Framework
  8. Distributed Elixir – Taking Concurrency to the following Node
  9. Metaprogramming – Doing extra with Less

Show description

Quick preview of Learning Elixir PDF

Best Programming books

Joe Celko's SQL for Smarties: Advanced SQL Programming Third Edition (The Morgan Kaufmann Series in Data Management Systems)

SQL for Smarties used to be hailed because the first ebook dedicated explicitly to the complicated recommendations had to rework an skilled SQL programmer into knowledgeable. Now, 10 years later and within the 3rd version, this vintage nonetheless reigns excellent because the publication written through an SQL grasp that teaches destiny SQL masters.

Designing Audio Effect Plug-Ins in C++: With Digital Audio Signal Processing Theory

Not only one other theory-heavy electronic sign processing e-book, nor one other boring build-a-generic-database programming publication, Designing Audio impression Plug-Ins in C++ supplies every thing you every thing you want to be aware of to do exactly that, together with absolutely labored, downloadable code for dozens audio impact plug-ins and virtually awarded algorithms.

Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition)

“Every C++ expert wishes a duplicate of powerful C++. it really is an absolute must-read for somebody deliberating doing severe C++ improvement. If you’ve by no means learn powerful C++ and also you imagine you recognize every thing approximately C++, reconsider. ”— Steve Schirripa, software program Engineer, Google “C++ and the C++ neighborhood have grown up within the final fifteen years, and the 3rd version of powerful C++ displays this.

Cocoa Design Patterns

“Next time a few child exhibits up at my door soliciting for a code evaluate, this is often the e-book that i'm going to throw at him. ”   –Aaron Hillegass, founding father of massive Nerd Ranch, Inc. , and writer of Cocoa Programming for Mac OS X   Unlocking the secrets and techniques of Cocoa and Its Object-Oriented Frameworks   Mac and iPhone builders are usually beaten via the breadth and class of the Cocoa frameworks.

Extra resources for Learning Elixir

Show sample text content

Chip brands are not any longer targeting how common we will be able to make a chip cycle (hertz, now measured at the Giga scale), they're extra drawn to what number cores we will be able to placed onto a chip. twin middle chips were not universal 12 years in the past, yet now, we're machines with four, eight, or even 12 cores, being universal between pcs and laptops. those center counts have been frequently simply to be had in high-end servers, yet are actually the norm, even for telephones! yet this can be the place our challenge as builders appears—current languages are designed, often, with a unmarried thread, a unmarried course, and a novel context of execution. so much languages do not divulge sturdy amenities for using a number of cores good, and this can be the place the ERTS and Erlang/Elixir quite set themselves aside. Concurrency is cooked into the language; it was once and is the 1st constraint of the language. If it does not deal with concurrency good, the language has failed. hence, we commence our trip into the workings of concurrent processing with Elixir. Over the following 3 chapters, we will hide the fundamentals of concurrent processing, technique execution in Elixir, the to be had abstractions Erlang/Elixir supply, and distribution. [ 127 ] www. it-ebooks. details Concurrent Programming – utilizing strategies to overcome Concurrency Parallel computation and concurrent computation those strategies are usually confounded and differently used interchangeably (this e-book even does it! ). yet it is a mistake; they're varied, even if subtly, however it is a crucial contrast. i'm going to use the be aware context to discuss threads or methods. those are, evidently, no longer an analogous factor, yet they do proportion in inspiration with admire to parallel as opposed to concurrent. Parallel processing is just the execution of 2 or extra contexts concurrently. Visually, this can glance just like the next diagram: Parallel execution: The contexts are executing whilst, there's no switching or different interruptions among the execution. Concurrent processing is subtly varied. it could possibly seem to be parallel, and in reality, be parallel, yet there's no make sure that it truly is parallel. for instance, contexts can be trying to execute, yet contend the CPU. The scheduler is then executing among the 2, in response to a few criterion (cache omit, time limit priorities, department leave out, and others). we will be able to see an analogous visible illustration of concurrent execution within the following diagram: Context Switching C3 C2 C1 [ 128 ] www. it-ebooks. details Chapter 6 In concurrent execution, processing seems parallel, however the CPU may well, in truth, be quickly switching among the projects. A unmarried center laptop working a number of tactics is a brilliant instance of concurrent execution at paintings. each one method seems to be computed concurrently, yet is, in reality, being interrupted, suspended, and resumed a number of occasions, even millions of occasions a moment. once we upload cores to this hypothetical computer, the computer is ready to execute extra approaches in parallel, however it remains to be doing hundreds of thousands of items simultaneously.

Download PDF sample

Rated 4.25 of 5 – based on 46 votes