Erlang and Elixir for Imperative Programmers

Erlang and Elixir for Imperative Programmers
Author :
Publisher : Apress
Total Pages : 260
Release :
ISBN-10 : 9781484223949
ISBN-13 : 1484223942
Rating : 4/5 (49 Downloads)

Synopsis Erlang and Elixir for Imperative Programmers by : Wolfgang Loder

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

Elixir in Action
Author :
Publisher : Simon and Schuster
Total Pages : 652
Release :
ISBN-10 : 9781638351658
ISBN-13 : 1638351651
Rating : 4/5 (58 Downloads)

Synopsis Elixir in Action by : Sasa Juric

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

Learn You Some Erlang for Great Good!

Learn You Some Erlang for Great Good!
Author :
Publisher : No Starch Press
Total Pages : 628
Release :
ISBN-10 : 9781593274351
ISBN-13 : 1593274351
Rating : 4/5 (51 Downloads)

Synopsis Learn You Some Erlang for Great Good! by : Fred Hebert

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.

Learn Functional Programming with Elixir

Learn Functional Programming with Elixir
Author :
Publisher :
Total Pages : 200
Release :
ISBN-10 : 168050245X
ISBN-13 : 9781680502459
Rating : 4/5 (5X Downloads)

Synopsis Learn Functional Programming with Elixir by : Ulisses Almeida

Elixir's straightforward syntax and this guided tour give you a clean, simple path to learn modern functional programming techniques. No previous functional programming experience required! This book walks you through the right concepts at the right pace, as you explore immutable values and explicit data transformation, functions, modules, recursive functions, pattern matching, high-order functions, polymorphism, and failure handling, all while avoiding side effects. Don't board the Elixir train with an imperative mindset! To get the most out of functional languages, you need to think functionally. This book will get you there. Functional programming offers useful techniques for building maintainable and scalable software that solves today's difficult problems. The demand for software written in this way is increasing - you don't want to miss out. In this book, you'll not only learn Elixir and its features, you'll also learn the mindset required to program functionally. Elixir's clean syntax is excellent for exploring the critical skills of using functions and concurrency. Start with the basic techniques of the functional way: working with immutable data, transforming data in discrete steps, and avoiding side effects. Next, take a deep look at values, expressions, functions, and modules. Then extend your programming with pattern matching and flow control with case, if, cond, and functions. Use recursive functions to create iterations. Work with data types such as lists, tuples, and maps. Improve code reusability and readability with Elixir's most common high-order functions. Explore how to use lazy computation with streams, design your data, and take advantage of polymorphism with protocols. Combine functions and handle failures in a maintainable way using Elixir features and libraries. Learn techniques that matter to make code that lives harmoniously with the language. What You Need: You'll need a computer and Elixir 1.4 or newer version installed. No previous functional programming or Elixir experience is required. Some experience with any programming language is recommended.

Introducing Erlang

Introducing Erlang
Author :
Publisher : "O'Reilly Media, Inc."
Total Pages : 212
Release :
ISBN-10 : 9781491973349
ISBN-13 : 149197334X
Rating : 4/5 (49 Downloads)

Synopsis Introducing Erlang by : Simon St. Laurent

If you’re new to Erlang, its functional style can seem difficult, but with help from this hands-on introduction, you’ll scale the learning curve and discover how enjoyable, powerful, and fun this language can be. In this updated second edition, author Simon St.Laurent shows you how to write simple Erlang programs by teaching you one skill at a time. You’ll learn about pattern matching, recursion, message passing, process-oriented programming, and establishing pathways for data rather than telling it where to go. By the end of your journey, you’ll understand why Erlang is ideal for concurrency and resilience. Get cozy with Erlang’s shell, its command line interface Define functions, using the fun tool, to represent repeated calculations Discover atoms, pattern matching, and guards: the foundations of your program structure Delve into the heart of Erlang processing with recursion, strings, lists, and higher-order functions Create processes, send messages among them, and apply pattern matching to incoming messages Store and manipulate structured data with Erlang Term Storage and the Mnesia database Learn about Open Telecom Platform, Erlang’s open source libraries and tools

Functional Programming in Scala

Functional Programming in Scala
Author :
Publisher : Simon and Schuster
Total Pages : 457
Release :
ISBN-10 : 9781638353959
ISBN-13 : 1638353956
Rating : 4/5 (59 Downloads)

Synopsis Functional Programming in Scala by : Paul Chiusano

Summary Functional Programming in Scala is a serious tutorial for programmers looking to learn FP and apply it to the everyday business of coding. The book guides readers from basic techniques to advanced topics in a logical, concise, and clear progression. In it, you'll find concrete examples and exercises that open up the world of functional programming. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Functional programming (FP) is a style of software development emphasizing functions that don't depend on program state. Functional code is easier to test and reuse, simpler to parallelize, and less prone to bugs than other code. Scala is an emerging JVM language that offers strong support for FP. Its familiar syntax and transparent interoperability with Java make Scala a great place to start learning FP. About the Book Functional Programming in Scala is a serious tutorial for programmers looking to learn FP and apply it to their everyday work. The book guides readers from basic techniques to advanced topics in a logical, concise, and clear progression. In it, you'll find concrete examples and exercises that open up the world of functional programming. This book assumes no prior experience with functional programming. Some prior exposure to Scala or Java is helpful. What's Inside Functional programming concepts The whys and hows of FP How to write multicore programs Exercises and checks for understanding About the Authors Paul Chiusano and Rúnar Bjarnason are recognized experts in functional programming with Scala and are core contributors to the Scalaz library. Table of Contents PART 1 INTRODUCTION TO FUNCTIONAL PROGRAMMING What is functional programming? Getting started with functional programming in Scala Functional data structures Handling errors without exceptions Strictness and laziness Purely functional state PART 2 FUNCTIONAL DESIGN AND COMBINATOR LIBRARIES Purely functional parallelism Property-based testing Parser combinators PART 3 COMMON STRUCTURES IN FUNCTIONAL DESIGN Monoids Monads Applicative and traversable functors PART 4 EFFECTS AND I/O External effects and I/O Local effects and mutable state Stream processing and incremental I/O

Elixir in Action

Elixir in Action
Author :
Publisher : Manning Publications
Total Pages : 384
Release :
ISBN-10 : 1617295027
ISBN-13 : 9781617295027
Rating : 4/5 (27 Downloads)

Synopsis Elixir in Action by : Sasa Jurić

"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. Elixir in Action, Second Edition teaches you how to build production-quality distributed applications using the Elixir programming language. Author Saša Juric 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."--Résumé de l'éditeur.

Mastering Elixir

Mastering Elixir
Author :
Publisher : Packt Publishing Ltd
Total Pages : 568
Release :
ISBN-10 : 9781788472241
ISBN-13 : 1788472241
Rating : 4/5 (41 Downloads)

Synopsis Mastering Elixir by : André Albuquerque

Leverage the power of Elixir programming language to solve practical problems associated with scalability, concurrency, fault tolerance, and high availability. Key Features Enhance your Elixir programming skills using its powerful tools and abstractions Discover how to develop a full-fledged file server Understand how to use Phoenix to create a web interface for your application. Book Description Running concurrent, fault-tolerant applications that scale is a very demanding responsibility. After learning the abstractions that Elixir gives us, developers are able to build such applications with inconceivable low effort. There is a big gap between playing around with Elixir and running it in production, serving live requests. This book will help you fll this gap by going into detail on several aspects of how Elixir works and showing concrete examples of how to apply the concepts learned to a fully fledged application. In this book, you will learn how to build a rock-solid application, beginning by using Mix to create a new project. Then you will learn how the use of Erlang's OTP, along with the Elixir abstractions that run on top of it (such as GenServer and GenStage), that allow you to build applications that are easy to parallelize and distribute. You will also master supervisors (and supervision trees), and comprehend how they are the basis for building fault-tolerant applications. Then you will use Phoenix to create a web interface for your application. Upon fnishing implementation, you will learn how to take your application to the cloud, using Kubernetes to automatically deploy, scale, and manage it. Last, but not least, you will keep your peace of mind by learning how to thoroughly test and then monitor your application. What you will learn Use Elixir tools, including IEx and Mix Find out how an Elixir project is structured and how to create umbrella applications Discover the power of supervision trees, the basis for fault-tolerance Create a Domain-Specifc Language (DSL) that abstracts complexity Create a blazing-fast web interface for your application with Phoenix Set up an automatic deployment process for the cloud Monitor your application and be warned if anything unexpected happens Who this book is for Mastering Elixir is for you if you have experience in Elixir programming and want to take it to the next level. This Elixir book shows you how to build, deploy, and maintain robust applications, allowing you to go from tinkering with Elixir on side projects to using it in a live environment. However, no prior knowledge of Elixir is required to enjoy the complex topics covered in the book.

Rust in Action

Rust in Action
Author :
Publisher : Simon and Schuster
Total Pages : 454
Release :
ISBN-10 : 9781638356226
ISBN-13 : 163835622X
Rating : 4/5 (26 Downloads)

Synopsis Rust in Action by : Tim McNamara

"This well-written book will help you make the most of what Rust has to offer." - Ramnivas Laddad, author of AspectJ in Action Rust in Action is a hands-on guide to systems programming with Rust. Written for inquisitive programmers, it presents real-world use cases that go far beyond syntax and structure. Summary Rust in Action introduces the Rust programming language by exploring numerous systems programming concepts and techniques. You'll be learning Rust by delving into how computers work under the hood. You'll find yourself playing with persistent storage, memory, networking and even tinkering with CPU instructions. The book takes you through using Rust to extend other applications and teaches you tricks to write blindingly fast code. You'll also discover parallel and concurrent programming. Filled to the brim with real-life use cases and scenarios, you'll go beyond the Rust syntax and see what Rust has to offer in real-world use cases. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Rust is the perfect language for systems programming. It delivers the low-level power of C along with rock-solid safety features that let you code fearlessly. Ideal for applications requiring concurrency, Rust programs are compact, readable, and blazingly fast. Best of all, Rust’s famously smart compiler helps you avoid even subtle coding errors. About the book Rust in Action is a hands-on guide to systems programming with Rust. Written for inquisitive programmers, it presents real-world use cases that go far beyond syntax and structure. You’ll explore Rust implementations for file manipulation, networking, and kernel-level programming and discover awesome techniques for parallelism and concurrency. Along the way, you’ll master Rust’s unique borrow checker model for memory management without a garbage collector. What's inside Elementary to advanced Rust programming Practical examples from systems programming Command-line, graphical and networked applications About the reader For intermediate programmers. No previous experience with Rust required. About the author Tim McNamara uses Rust to build data processing pipelines and generative art. He is an expert in natural language processing and data engineering. Table of Contents 1 Introducing Rust PART 1 RUST LANGUAGE DISTINCTIVES 2 Language foundations 3 Compound data types 4 Lifetimes, ownership, and borrowing PART 2 DEMYSTIFYING SYSTEMS PROGRAMMING 5 Data in depth 6 Memory 7 Files and storage 8 Networking 9 Time and timekeeping 10 Processes, threads, and containers 11 Kernel 12 Signals, interrupts, and exceptions

Elixir in Action, Third Edition

Elixir in Action, Third Edition
Author :
Publisher : Simon and Schuster
Total Pages : 414
Release :
ISBN-10 : 9781638354376
ISBN-13 : 1638354375
Rating : 4/5 (76 Downloads)

Synopsis Elixir in Action, Third Edition by : Saša Juric

Fully updated to Elixir 1.15, this authoritative bestseller reveals how Elixir tackles problems of scalability, fault tolerance, and high availability. Thousands of developers have learned to build applications in Elixir by using Saša Juric’s Elixir in Action. You’ll skip the programming basics or 101 introductions; this book builds on your existing knowledge to get you quickly writing real Elixir code. Along the way, you'll develop an appreciation for, and considerable skill in, functional and concurrent programming. Inside Elixir in Action, Third Edition you’ll find: Updates for Elixir 1.15 Elixir modules, functions, and type system Functional and concurrent programming Introduction to distributed system design Creating deployable releases Fully updated to Elixir 1.15, this book contains new coverage of working with application configuration and the latest OTP releases. It teaches you the underlying principles and functional concepts of Elixir, and how each piece fits into the bigger picture of building production-ready systems with Elixir, Erlang, and the OTP framework. Foreword by Francesco Cesarini. About the technology With best-in-class fault tolerance and concurrency, a pragmatic approach to functional programming, and the power to operate at scale, Elixir is the perfect choice for mission-critical software. Start reading Elixir in Action, and you’ll quickly understand why Elixir creator José Valim says it “...tops the list” of Elixir books. About the book Elixir in Action, Third Edition teaches you how to create distributed applications and server-side systems using Elixir and the Erlang VM. This Third Edition from Elixir expert Saša Juric is fully updated to include the latest features of Elixir 1.15. In it, you’ll master the foundations of the language, discover how the OTP framework minimizes tedious boilerplate code, and explore numerous examples that ensure you’re learning hands-on. What's inside Elixir modules, functions, and type system Functional and concurrent programming Introduction to distributed system design Creating deployable releases About the reader For programmers comfortable with client/server applications. No experience with Elixir, Erlang, or functional programming required. About the author Saša Juric uses Elixir and Erlang to build fault-tolerant, scalable, highly concurrent systems. Technical editor on this book was Marius Butuc. Table of Contents PART 1 Functional Elixir 1 First steps 2 Building blocks 3 Control flow 4 Data abstractions PART 2 CONCURRENT ELIXIR 5 Concurrency primitives 6 Generic server processes 7 Building a concurrent system 8 Fault tolerance basics 9 Isolating error effects 10 Beyond GenServer PART 3 PRODUCTION 11 Working with components 12 Building a distributed system 13 Running the system