LitMy.ru - литература в один клик

Elixir in Action, 3rd Edition (Final)

  • Добавил: literator
  • Дата: 4-03-2024, 18:55
  • Комментариев: 0
Название: Elixir in Action, 3rd Edition (Final)
Автор: Saša Jurić
Издательство: Manning Publications
Год: 2024
Страниц: 615
Язык: английский
Формат: pdf, epub (true), mobi
Размер: 10.1 MB

Elixir is the perfect choice for mission-critical software. Its fault-tolerance and concurrency capabilities let it seamlessly handle huge numbers of users and data, and its functional programming mindset means Elixir applications are predictable, readable, and easy to maintain. Start coding in Elixir, and you'll get instant access to the battle-tested Erlang virtual machine that powers this awesome language, along with Elixir's own thriving ecosystem of resources. It's the reliable solution you need for everything from a large-scale distributed system to a simple web app.

Elixir is a modern functional programming language for building large-scale, distributed, fault-tolerant, scalable systems for the Erlang virtual machine (VM). Although the language is compelling in its own right, arguably, its biggest advantage is that it targets the Erlang platform.

Erlang was made to help developers deal with the challenge of high availability. Originally, the product was intended for developing telecommunication systems, but today, it’s used in all kinds of domains, such as collaboration tools, online payment systems, real-time bidding systems, database servers, and multiplayer online games, to name only a few examples. If you’re developing a system that must provide service to a multitude of users around the world, you’ll want that system to function continuously without noticeable downtime, regardless of any software or hardware problems that occur at run time. Otherwise, significant and frequent outages will leave end users unhappy, and ultimately, they may seek alternative solutions. A system with frequent downtime is unreliable and unusable and, thus, fails to fulfill its intended purpose. Therefore, high availability becomes an increasingly important property—and Erlang can help you achieve that.

Elixir aims to modernize and improve the experience of developing Erlang-powered systems. The language is a compilation of features from various other languages, such as Erlang, Clojure, and Ruby. Furthermore, Elixir ships with a toolset that simplifies project management, testing, packaging, and documentation building. Arguably, Elixir lowers the entry barrier into the Erlang world and improves developer productivity. Having the Erlang runtime as the target platform means Elixir-based systems are able to use all the libraries from the Erlang ecosystem, including the battle-tested OTP framework that ships with Erlang.

Who should read this book:
This book is a tutorial that will teach you how to build production-ready Elixir-based systems. It’s not a complete reference on Elixir and Erlang—it doesn’t cover every nuance of the language or every possible aspect of the underlying Erlang VM. It glosses over or skips many topics, such as floating-point precision, Unicode specifics, file I/O, unit testing, and more. Although they’re relevant, such topics aren’t this book’s primary focus, and you can research them yourself when the need arises. Omitting or dealing quickly with these conventional topics gives us space to treat more interesting and unusual areas in greater detail. Concurrent programming and the way it helps bring scalability, fault tolerance, distribution, and availability to systems are the core topics of this book.

Some of the techniques covered in this book aren’t discussed in full detail. I’ve omitted some fine-print nuances for the sake of brevity and focus. My goal is not to provide complete coverage but, rather, to teach you about the underlying principles and how each piece fits into the bigger picture. After finishing this book, you should find it simple to research and understand the remaining details on your own. To give you a push in the right direction, mentions of and links to further interesting topics appear throughout the book.

Because this book deals with upper-intermediate topics, there are some prerequisites you should meet before reading it. I’ve assumed you’re a professional software developer with a couple of years of experience. The exact technology you’re proficient in isn’t relevant: it can be Java, C#, Ruby, C++, or another general-purpose programming language. Any experience in development of backend (server-side) systems is helpful.

You don’t need to know anything about Erlang, Elixir, or other concurrent platforms. In particular, you don’t need to know anything about functional programming. Elixir is a functional language, which, if you come from an OO background, may scare you a bit. As a long-time OO programmer, I can sincerely tell you not to worry. The underlying functional concepts in Elixir are relatively simple and should be easy to grasp. Of course, functional programming is significantly different from whatever you’ve seen in a typical OO language, and it takes some getting used to. But it’s not rocket science, and if you’re an experienced developer, you should have no problem understanding these concepts.

Скачать Elixir in Action, 3rd Edition (Final)












[related-news] [/related-news]
Внимание
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.