官术网_书友最值得收藏!

  • Learning Elixir
  • Kenny Ballou
  • 296字
  • 2021-07-23 14:47:52

Chapter 1. Introducing Elixir – Thinking Functionally

Let's embark on a journey, let's leave behind the world we know and head to something new and different. We quest to learn a new programming language, Elixir, and new paradigm of programming, functional. We set out leaving behind most of what we know, and attempt to think differently.

Elixir is a functional, dynamic language built on top of Erlang and the Erlang VM (BEAM). Erlang is a language that was originally written in 1986 by Ericsson to help solve telephony problems, including distribution, fault-tolerance, and concurrency, among others. Elixir, written by José Valim, extends Erlang and provides a friendlier syntax into the Erlang VM while maintaining interoperability with Erlang and Elixir without imposing performance costs.

Elixir's roots in Erlang provide some really indispensable functionality for developing distributed and fault-tolerant applications. Developing in Elixir, we can have all that and then some.

That is, Elixir provides and exposes to us the means and tools to create applications that can truly run with nine nines of reliability. Those are a fail-fast by default design of the runtime with the concept of process supervision, which enables strong fault-tolerance, the inherent concurrency of message passing, and a functional language that also enables distribution. We will discuss all of these topics and concepts by the conclusion of this book.

But before we get into these excellent features of Elixir and Erlang, let's take a dive into functional programming and why it's useful in creating a system that has these features.

I assume you're familiar with imperative languages such as Perl and Java. Furthermore, you're likely familiar with the concept of static typing and dynamic typing, as in Python. But what is functional programming? Moreover, why should we care about it?

主站蜘蛛池模板: 渭源县| 胶南市| 夏津县| 杭锦后旗| 灵宝市| 美姑县| 平凉市| 温宿县| 玛曲县| 伊金霍洛旗| 广丰县| 遂川县| 桦南县| 晋州市| 米脂县| 修武县| 龙井市| 阿克陶县| 咸阳市| 宿州市| 黔西| 抚顺市| 怀集县| 承德县| 衡阳县| 崇明县| 泌阳县| 绵阳市| 康乐县| 航空| 鄂托克前旗| 罗江县| 观塘区| 齐齐哈尔市| 巴中市| 黑水县| 岳普湖县| 泰州市| 射阳县| 灯塔市| 万州区|