Author: Francesco Cesarini
Publisher: "O'Reilly Media, Inc."
ISBN: 0596555857
Category : Computers
Languages : en
Pages : 498
Book Description
This book is an in-depth introduction to Erlang, a programming language ideal for any situation where concurrency, fault tolerance, and fast response is essential. Erlang is gaining widespread adoption with the advent of multi-core processors and their new scalable approach to concurrency. With this guide you'll learn how to write complex concurrent programs in Erlang, regardless of your programming background or experience. Written by leaders of the international Erlang community -- and based on their training material -- Erlang Programming focuses on the language's syntax and semantics, and explains pattern matching, proper lists, recursion, debugging, networking, and concurrency. This book helps you: Understand the strengths of Erlang and why its designers included specific features Learn the concepts behind concurrency and Erlang's way of handling it Write efficient Erlang programs while keeping code neat and readable Discover how Erlang fills the requirements for distributed systems Add simple graphical user interfaces with little effort Learn Erlang's tracing mechanisms for debugging concurrent and distributed systems Use the built-in Mnesia database and other table storage features Erlang Programming provides exercises at the end of each chapter and simple examples throughout the book.
Designing for Scalability with Erlang/OTP
Author: Francesco Cesarini
Publisher: "O'Reilly Media, Inc."
ISBN: 1449361579
Category : Computers
Languages : en
Pages : 482
Book Description
If you need to build a scalable, fault tolerant system with requirements for high availability, discover why the Erlang/OTP platform stands out for the breadth, depth, and consistency of its features. This hands-on guide demonstrates how to use the Erlang programming language and its OTP framework of reusable libraries, tools, and design principles to develop complex commercial-grade systems that simply cannot fail. In the first part of the book, you’ll learn how to design and implement process behaviors and supervision trees with Erlang/OTP, and bundle them into standalone nodes. The second part addresses reliability, scalability, and high availability in your overall system design. If you’re familiar with Erlang, this book will help you understand the design choices and trade-offs necessary to keep your system running. Explore OTP’s building blocks: the Erlang language, tools and libraries collection, and its abstract principles and design rules Dive into the fundamentals of OTP reusable frameworks: the Erlang process structures OTP uses for behaviors Understand how OTP behaviors support client-server structures, finite state machine patterns, event handling, and runtime/code integration Write your own behaviors and special processes Use OTP’s tools, techniques, and architectures to handle deployment, monitoring, and operations
Publisher: "O'Reilly Media, Inc."
ISBN: 1449361579
Category : Computers
Languages : en
Pages : 482
Book Description
If you need to build a scalable, fault tolerant system with requirements for high availability, discover why the Erlang/OTP platform stands out for the breadth, depth, and consistency of its features. This hands-on guide demonstrates how to use the Erlang programming language and its OTP framework of reusable libraries, tools, and design principles to develop complex commercial-grade systems that simply cannot fail. In the first part of the book, you’ll learn how to design and implement process behaviors and supervision trees with Erlang/OTP, and bundle them into standalone nodes. The second part addresses reliability, scalability, and high availability in your overall system design. If you’re familiar with Erlang, this book will help you understand the design choices and trade-offs necessary to keep your system running. Explore OTP’s building blocks: the Erlang language, tools and libraries collection, and its abstract principles and design rules Dive into the fundamentals of OTP reusable frameworks: the Erlang process structures OTP uses for behaviors Understand how OTP behaviors support client-server structures, finite state machine patterns, event handling, and runtime/code integration Write your own behaviors and special processes Use OTP’s tools, techniques, and architectures to handle deployment, monitoring, and operations
Introducing Elixir
Author: Simon St. Laurent
Publisher: "O'Reilly Media, Inc."
ISBN: 1491956860
Category : Computers
Languages : en
Pages : 248
Book Description
Smooth, powerful, and small, Elixir is an excellent language for learning functional programming, and with this hands-on introduction, you’ll discover just how powerful Elixir can be. Authors Simon St. Laurent and J. David Eisenberg show you how Elixir combines the robust functional programming of Erlang with an approach that looks more like Ruby, and includes powerful macro features for metaprogramming. Updated to cover Elixir 1.4, the second edition of this practical book helps you write simple Elixir programs by teaching one skill at a time. Once you pick up pattern matching, process-oriented programming, and other concepts, you’ll understand why Elixir makes it easier to build concurrent and resilient programs that scale up and down with ease. Get comfortable with IEx, Elixir’s command line interface Learn Elixir’s basic structures by working with numbers Discover atoms, pattern matching, and guards: the foundations of your program structure Delve into the heart of Elixir processing with recursion, strings, lists, and higher-order functions Create Elixir processes and send messages among them Store and manipulate structured data with Erlang Term Storage and the Mnesia database Build resilient applications with the Open Telecom Platform
Publisher: "O'Reilly Media, Inc."
ISBN: 1491956860
Category : Computers
Languages : en
Pages : 248
Book Description
Smooth, powerful, and small, Elixir is an excellent language for learning functional programming, and with this hands-on introduction, you’ll discover just how powerful Elixir can be. Authors Simon St. Laurent and J. David Eisenberg show you how Elixir combines the robust functional programming of Erlang with an approach that looks more like Ruby, and includes powerful macro features for metaprogramming. Updated to cover Elixir 1.4, the second edition of this practical book helps you write simple Elixir programs by teaching one skill at a time. Once you pick up pattern matching, process-oriented programming, and other concepts, you’ll understand why Elixir makes it easier to build concurrent and resilient programs that scale up and down with ease. Get comfortable with IEx, Elixir’s command line interface Learn Elixir’s basic structures by working with numbers Discover atoms, pattern matching, and guards: the foundations of your program structure Delve into the heart of Elixir processing with recursion, strings, lists, and higher-order functions Create Elixir processes and send messages among them Store and manipulate structured data with Erlang Term Storage and the Mnesia database Build resilient applications with the Open Telecom Platform
Learn You Some Erlang for Great Good!
Author: Fred Hebert
Publisher: No Starch Press
ISBN: 1593274351
Category : Computers
Languages : en
Pages : 628
Book Description
Erlang is the language of choice for programmers who want to write robust, concurrent applications, but its strange syntax and functional design can intimidate the uninitiated. Luckily, there’s a new weapon in the battle against Erlang-phobia: Learn You Some Erlang for Great Good! Erlang maestro Fred Hébert starts slow and eases you into the basics: You’ll learn about Erlang’s unorthodox syntax, its data structures, its type system (or lack thereof!), and basic functional programming techniques. Once you’ve wrapped your head around the simple stuff, you’ll tackle the real meat-and-potatoes of the language: concurrency, distributed computing, hot code loading, and all the other dark magic that makes Erlang such a hot topic among today’s savvy developers. As you dive into Erlang’s functional fantasy world, you’ll learn about: –Testing your applications with EUnit and Common Test –Building and releasing your applications with the OTP framework –Passing messages, raising errors, and starting/stopping processes over many nodes –Storing and retrieving data using Mnesia and ETS –Network programming with TCP, UDP, and the inet module –The simple joys and potential pitfalls of writing distributed, concurrent applications Packed with lighthearted illustrations and just the right mix of offbeat and practical example programs, Learn You Some Erlang for Great Good! is the perfect entry point into the sometimes-crazy, always-thrilling world of Erlang.
Publisher: No Starch Press
ISBN: 1593274351
Category : Computers
Languages : en
Pages : 628
Book Description
Erlang is the language of choice for programmers who want to write robust, concurrent applications, but its strange syntax and functional design can intimidate the uninitiated. Luckily, there’s a new weapon in the battle against Erlang-phobia: Learn You Some Erlang for Great Good! Erlang maestro Fred Hébert starts slow and eases you into the basics: You’ll learn about Erlang’s unorthodox syntax, its data structures, its type system (or lack thereof!), and basic functional programming techniques. Once you’ve wrapped your head around the simple stuff, you’ll tackle the real meat-and-potatoes of the language: concurrency, distributed computing, hot code loading, and all the other dark magic that makes Erlang such a hot topic among today’s savvy developers. As you dive into Erlang’s functional fantasy world, you’ll learn about: –Testing your applications with EUnit and Common Test –Building and releasing your applications with the OTP framework –Passing messages, raising errors, and starting/stopping processes over many nodes –Storing and retrieving data using Mnesia and ETS –Network programming with TCP, UDP, and the inet module –The simple joys and potential pitfalls of writing distributed, concurrent applications Packed with lighthearted illustrations and just the right mix of offbeat and practical example programs, Learn You Some Erlang for Great Good! is the perfect entry point into the sometimes-crazy, always-thrilling world of Erlang.
Erlang and OTP in Action
Author: Eric Merritt
Publisher: Simon and Schuster
ISBN: 163835426X
Category : Computers
Languages : en
Pages : 650
Book Description
Concurrent programming has become a required discipline for all programmers. Multi-core processors and the increasing demand for maximum performance and scalability in mission-critical applications have renewed interest in functional languages like Erlang that are designed to handle concurrent programming. Erlang, and the OTP platform, make it possible to deliver more robust applications that satisfy rigorous uptime and performance requirements. Erlang and OTP in Action teaches you to apply Erlang's message passing model for concurrent programming--a completely different way of tackling the problem of parallel programming from the more common multi-threaded approach. This book walks you through the practical considerations and steps of building systems in Erlang and integrating them with real-world C/C++, Java, and .NET applications. Unlike other books on the market, Erlang and OTP in Action offers a comprehensive view of how concurrency relates to SOA and web technologies. This hands-on guide is perfect for readers just learning Erlang or for those who want to apply their theoretical knowledge of this powerful language. You'll delve into the Erlang language and OTP runtime by building several progressively more interesting real-world distributed applications. Once you are competent in the fundamentals of Erlang, the book takes you on a deep dive into the process of designing complex software systems in Erlang. Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.
Publisher: Simon and Schuster
ISBN: 163835426X
Category : Computers
Languages : en
Pages : 650
Book Description
Concurrent programming has become a required discipline for all programmers. Multi-core processors and the increasing demand for maximum performance and scalability in mission-critical applications have renewed interest in functional languages like Erlang that are designed to handle concurrent programming. Erlang, and the OTP platform, make it possible to deliver more robust applications that satisfy rigorous uptime and performance requirements. Erlang and OTP in Action teaches you to apply Erlang's message passing model for concurrent programming--a completely different way of tackling the problem of parallel programming from the more common multi-threaded approach. This book walks you through the practical considerations and steps of building systems in Erlang and integrating them with real-world C/C++, Java, and .NET applications. Unlike other books on the market, Erlang and OTP in Action offers a comprehensive view of how concurrency relates to SOA and web technologies. This hands-on guide is perfect for readers just learning Erlang or for those who want to apply their theoretical knowledge of this powerful language. You'll delve into the Erlang language and OTP runtime by building several progressively more interesting real-world distributed applications. Once you are competent in the fundamentals of Erlang, the book takes you on a deep dive into the process of designing complex software systems in Erlang. Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.
Erlang and Elixir for Imperative Programmers
Author: Wolfgang Loder
Publisher: Apress
ISBN: 1484223942
Category : Computers
Languages : en
Pages : 260
Book Description
Learn and understand Erlang and Elixir and develop a working knowledge of the concepts of functional programming that underpin them. This book takes the author’s experience of taking on a project that required functional programming and real-time systems, breaks it down, and organizes it. You will get the necessary knowledge about differences to the languages you know, where to start, and where to go next. Have you been told by your customer or manager that they heard good things about Erlang, you should use it for the next project? Never had to deal with functional programming or real-time systems? In 2014, the author, Wolfgang Loder, developed a repository for digital assets that had to deliver those assets in binary form quickly and reliably, being able to deal with at least hundreds of requests per second. Since he could decide the architecture and software stack of the solution, he immediately thought of Erlang and its libraries and started to evaluate this option. It was not long after that he discovered Elixir, which sits on top of the Erlang virtual machine and has features more palatable for non-functional programmers, although it is a functional programming language itself. Erlang and Elixir for Imperative Programmers gives you a basis for deciding whether the effort is viable for your next project. This book is partly a tale of the author's own experience and partly a description of the bigger and more subtle differences between Erlang/Elixir and languages such as C++, Java, and C#. What You'll Learn Discover functional programming, Erlang, and Elixir Work on service design and service features Set up your environment: deployment, development, and production Implement the service including public interface, asset processing, and deployment Use the patterns and concepts found in Erlang including type creation concepts and code structuring. Who This Book Is For Experienced and savvy programmers, coders, and developers new to Erlang and Elixir.
Publisher: Apress
ISBN: 1484223942
Category : Computers
Languages : en
Pages : 260
Book Description
Learn and understand Erlang and Elixir and develop a working knowledge of the concepts of functional programming that underpin them. This book takes the author’s experience of taking on a project that required functional programming and real-time systems, breaks it down, and organizes it. You will get the necessary knowledge about differences to the languages you know, where to start, and where to go next. Have you been told by your customer or manager that they heard good things about Erlang, you should use it for the next project? Never had to deal with functional programming or real-time systems? In 2014, the author, Wolfgang Loder, developed a repository for digital assets that had to deliver those assets in binary form quickly and reliably, being able to deal with at least hundreds of requests per second. Since he could decide the architecture and software stack of the solution, he immediately thought of Erlang and its libraries and started to evaluate this option. It was not long after that he discovered Elixir, which sits on top of the Erlang virtual machine and has features more palatable for non-functional programmers, although it is a functional programming language itself. Erlang and Elixir for Imperative Programmers gives you a basis for deciding whether the effort is viable for your next project. This book is partly a tale of the author's own experience and partly a description of the bigger and more subtle differences between Erlang/Elixir and languages such as C++, Java, and C#. What You'll Learn Discover functional programming, Erlang, and Elixir Work on service design and service features Set up your environment: deployment, development, and production Implement the service including public interface, asset processing, and deployment Use the patterns and concepts found in Erlang including type creation concepts and code structuring. Who This Book Is For Experienced and savvy programmers, coders, and developers new to Erlang and Elixir.
Elixir in Action
Author: Sasa Juric
Publisher: Simon and Schuster
ISBN: 1638351651
Category : Computers
Languages : en
Pages : 652
Book Description
Summary Revised and updated for Elixir 1.7, Elixir in Action, Second Edition teaches you how to apply Elixir to practical problems associated with scalability, fault tolerance, and high availability. Along the way, you'll develop an appreciation for, and considerable skill in, a functional and concurrent style of programming. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology When you're building mission-critical software, fault tolerance matters. The Elixir programming language delivers fast, reliable applications, whether you're building a large-scale distributed system, a set of backend services, or a simple web app. And Elixir's elegant syntax and functional programming mindset make your software easy to write, read, and maintain. About the Book Elixir in Action, Second Edition teaches you how to build production-quality distributed applications using the Elixir programming language. Author Saša Jurić introduces this powerful language using examples that highlight the benefits of Elixir's functional and concurrent programming. You'll discover how the OTP framework can radically reduce tedious low-level coding tasks. You'll also explore practical approaches to concurrency as you learn to distribute a production system over multiple machines. What's inside Updated for Elixir 1.7 Functional and concurrent programming Introduction to distributed system design Creating deployable releases About the Reader You'll need intermediate skills with client/server applications and a language like Java, C#, or Ruby. No previous experience with Elixir required. About the Author Saša Jurić is a developer with extensive experience using Elixir and Erlang in complex server-side systems. Table of Contents First steps Building blocks Control flow Data abstractions Concurrency primitives Generic server processes Building a concurrent system Fault-tolerance basics Isolating error effects Beyond GenServer Working with components Building a distributed system Running the system
Publisher: Simon and Schuster
ISBN: 1638351651
Category : Computers
Languages : en
Pages : 652
Book Description
Summary Revised and updated for Elixir 1.7, Elixir in Action, Second Edition teaches you how to apply Elixir to practical problems associated with scalability, fault tolerance, and high availability. Along the way, you'll develop an appreciation for, and considerable skill in, a functional and concurrent style of programming. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology When you're building mission-critical software, fault tolerance matters. The Elixir programming language delivers fast, reliable applications, whether you're building a large-scale distributed system, a set of backend services, or a simple web app. And Elixir's elegant syntax and functional programming mindset make your software easy to write, read, and maintain. About the Book Elixir in Action, Second Edition teaches you how to build production-quality distributed applications using the Elixir programming language. Author Saša Jurić introduces this powerful language using examples that highlight the benefits of Elixir's functional and concurrent programming. You'll discover how the OTP framework can radically reduce tedious low-level coding tasks. You'll also explore practical approaches to concurrency as you learn to distribute a production system over multiple machines. What's inside Updated for Elixir 1.7 Functional and concurrent programming Introduction to distributed system design Creating deployable releases About the Reader You'll need intermediate skills with client/server applications and a language like Java, C#, or Ruby. No previous experience with Elixir required. About the Author Saša Jurić is a developer with extensive experience using Elixir and Erlang in complex server-side systems. Table of Contents First steps Building blocks Control flow Data abstractions Concurrency primitives Generic server processes Building a concurrent system Fault-tolerance basics Isolating error effects Beyond GenServer Working with components Building a distributed system Running the system
Property-Based Testing with PropEr, Erlang, and Elixir
Author: Fred Hebert
Publisher: Pragmatic Bookshelf
ISBN: 1680506544
Category : Computers
Languages : en
Pages : 466
Book Description
Property-based testing helps you create better, more solid tests with little code. By using the PropEr framework in both Erlang and Elixir, this book teaches you how to automatically generate test cases, test stateful programs, and change how you design your software for more principled and reliable approaches. You will be able to better explore the problem space, validate the assumptions you make when coming up with program behavior, and expose unexpected weaknesses in your design. PropEr will even show you how to reproduce the bugs it found. With this book, you will be writing efficient property-based tests in no time. Most tests only demonstrate that the code behaves how the developer expected it to behave, and therefore carry the same blind spots as their authors when special conditions or edge cases show up. Learn how to see things differently with property tests written in PropEr. Start with the basics of property tests, such as writing stateless properties, and using the default generators to generate test cases automatically. More importantly, learn how to think in properties. Improve your properties, write custom data generators, and discover what your code can or cannot do. Learn when to use property tests and when to stick with example tests with real-world sample projects. Explore various testing approaches to find the one that's best for your code. Shrink failing test cases to their simpler expression to highlight exactly what breaks in your code, and generate highly relevant data through targeted properties. Uncover the trickiest bugs you can think of with nearly no code at all with two special types of properties based on state transitions and finite state machines. Write Erlang and Elixir properties that generate the most effective tests you'll see, whether they are unit tests or complex integration and system tests. What You Need Basic knowledge of Erlang, optionally ElixirFor Erlang tests: Erlang/OTP >= 20.0, with Rebar >= 3.4.0For Elixir tests: Erlang/OTP >= 20.0, Elixir >= 1.5.0
Publisher: Pragmatic Bookshelf
ISBN: 1680506544
Category : Computers
Languages : en
Pages : 466
Book Description
Property-based testing helps you create better, more solid tests with little code. By using the PropEr framework in both Erlang and Elixir, this book teaches you how to automatically generate test cases, test stateful programs, and change how you design your software for more principled and reliable approaches. You will be able to better explore the problem space, validate the assumptions you make when coming up with program behavior, and expose unexpected weaknesses in your design. PropEr will even show you how to reproduce the bugs it found. With this book, you will be writing efficient property-based tests in no time. Most tests only demonstrate that the code behaves how the developer expected it to behave, and therefore carry the same blind spots as their authors when special conditions or edge cases show up. Learn how to see things differently with property tests written in PropEr. Start with the basics of property tests, such as writing stateless properties, and using the default generators to generate test cases automatically. More importantly, learn how to think in properties. Improve your properties, write custom data generators, and discover what your code can or cannot do. Learn when to use property tests and when to stick with example tests with real-world sample projects. Explore various testing approaches to find the one that's best for your code. Shrink failing test cases to their simpler expression to highlight exactly what breaks in your code, and generate highly relevant data through targeted properties. Uncover the trickiest bugs you can think of with nearly no code at all with two special types of properties based on state transitions and finite state machines. Write Erlang and Elixir properties that generate the most effective tests you'll see, whether they are unit tests or complex integration and system tests. What You Need Basic knowledge of Erlang, optionally ElixirFor Erlang tests: Erlang/OTP >= 20.0, with Rebar >= 3.4.0For Elixir tests: Erlang/OTP >= 20.0, Elixir >= 1.5.0