• Complain

Joe Armstrong - Programming Erlang: Software for a Concurrent World

Here you can read online Joe Armstrong - Programming Erlang: Software for a Concurrent World full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. year: 2013, publisher: Pragmatic Bookshelf, genre: Computer. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

Joe Armstrong Programming Erlang: Software for a Concurrent World
  • Book:
    Programming Erlang: Software for a Concurrent World
  • Author:
  • Publisher:
    Pragmatic Bookshelf
  • Genre:
  • Year:
    2013
  • Rating:
    5 / 5
  • Favourites:
    Add to favourites
  • Your mark:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

Programming Erlang: Software for a Concurrent World: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Programming Erlang: Software for a Concurrent World" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

A multi-user game, web site, cloud application, or networked database can have thousands of users all interacting at the same time. You need a powerful, industrial-strength tool to handle the really hard problems inherent in parallel, concurrent environments. You need Erlang. In this second edition of the bestselling Programming Erlang, youll learn how to write parallel programs that scale effortlessly on multicore systems.
Using Erlang, youll be surprised at how easy it becomes to deal with parallel problems, and how much faster and more efficiently your programs run. Thats because Erlang uses sets of parallel processes-not a single sequential process, as found in most programming languages.
Joe Armstrong, creator of Erlang, introduces this powerful language in small steps, giving you a complete overview of Erlang and how to use it in common scenarios. Youll start with sequential programming, move to parallel programming and handling errors in parallel programs, and learn to work confidently with distributed programming and the standard Erlang/Open Telecom Platform (OTP) frameworks.
You need no previous knowledge of functional or parallel programming. The chapters are packed with hands-on, real-world tutorial examples and insider tips and advice, and finish with exercises for both beginning and advanced users.
The second edition has been extensively rewritten. New to this edition are seven chapters covering the latest Erlang features: maps, the type system and the Dialyzer, WebSockets, programming idioms, and a new stand-alone execution environment. Youll write programs that dynamically detect and correct errors, and that can be upgraded without stopping the system. Theres also coverage of rebar (the de facto Erlang build system), and information on how to share and use Erlang projects on github, illustrated with examples from cowboy and bitcask.
Erlang will change your view of the world, and of how you program.
What You Need
The Erlang/OTP system. Download it from erlang.org.

Joe Armstrong: author's other books


Who wrote Programming Erlang: Software for a Concurrent World? Find out the surname, the name of the author of the book and a list of all author's works by series.

Programming Erlang: Software for a Concurrent World — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "Programming Erlang: Software for a Concurrent World" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make
Programming Erlang Second Edition Software for a Concurrent World by Joe - photo 1
Programming Erlang, Second Edition
Software for a Concurrent World
by Joe Armstrong
Version: P1.0 (August 2013)
Copyright 2013 Pragmatic Programmers, LLC. This book is licensed tothe individual who purchased it. We don't copy-protect itbecause that would limit your ability to use it for yourown purposes. Please don't break this trustyou can use this across all of your devices but please do not share this copywith other members of your team, with friends, or via file sharing services. Thanks.
Dave & Andy.

Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and The Pragmatic Programmers, LLC was aware of a trademark claim, the designations have been printed in initial capital letters or in all capitals. The Pragmatic Starter Kit, The Pragmatic Programmer, Pragmatic Programming, Pragmatic Bookshelf and the linking g device are trademarks of The Pragmatic Programmers, LLC.

Every precaution was taken in the preparation of this book. However, the publisher assumes no responsibility for errors or omissions, or for damages that may result from the use of information (including program listings) contained herein.

Our Pragmatic courses, workshops, and other products can help you and your team create better software and have more fun. For more information, as well as the latest Pragmatic titles, please visit us at http://pragprog.com.

Table of Contents
Copyright 2013, The Pragmatic Bookshelf.
Early Praise for Programming Erlang, Second Edition

This second edition of Joes seminal Programming Erlang is a welcome update, covering not only the core language and framework fundamentals but also key community projects such as rebar and cowboy. Even experienced Erlang programmers will find helpful tips and new insights throughout the book, and beginners to the language will appreciate the clear and methodical way Joe introduces and explains key language concepts.

Alexander Gounares
Former AOL CTO, advisor to Bill Gates, and founder/CEO of Concurix Corp.

A gem; a sensible, practical introduction to functional programming.

Gilad Bracha
Coauthor of the Java language and Java Virtual Machine specifications, creator of the Newspeak language, member of the Dart language team

Programming Erlang is an excellent resource for understanding how to program with Actors. Its not just for Erlang developers, but for anyone who wants to understand why Actors matters and why they are such an important tool in building reactive, scalable, resilient, and event-driven systems.

Jonas Bonr
Creator of the Akka Project and the AspectWerkz Aspect-Oriented Programming (AOP) framework, co-founder and CTO of Typesafe

Introduction

New hardware is increasingly parallel, so new programming languages must support concurrency or they will die.

The way the processor industry is going is to add more and more cores, but nobody knows how to program those things. I mean, two, yeah; four, not really; eight, forget it. Steve Jobs, Apple

Well, Steve was wrong; we do know how to program multicores. We program them in Erlang, and many of our programs just go faster as we add more cores.

Erlang was designed from the bottom up to program concurrent, distributed, fault-tolerant, scalable, soft, real-time systems. Soft real-time systems are systems such as telephone exchanges, banking systems, and so on, where rapid response times are important but its not a disaster if the odd timing deadline is missed. Erlang systems have been deployed on a massive scale and control significant parts of the worlds mobile communication networks.

If your problem is concurrent, if you are building a multiuser system, or if you are building a system that evolves with time, then using Erlang might save you a lot of work, since Erlang was explicitly designed for building such systems.

Its the mutable state, stupid. Brian Goetz, Java Concurrency in Practice

Erlang belongs to the family of functional programming languages . Functional programming forbids code with side effects. Side effects and concurrency dont mix. In Erlang its OK to mutate state within an individual process but not for one process to tinker with the state of another process. Erlang has no mutexes, no synchronized methods, and none of the paraphernalia of shared memory programming.

Processes interact by one method, and one method only, by exchanging messages. Processes share no data with other processes. This is the reason why we can easily distribute Erlang programs over multicores or networks.

When we write an Erlang program, we do not implement it as a single process that does everything; we implement it as large numbers of small processes that do simple things and communicate with each other.

Whats This Book About?

Its about concurrency. Its about distribution. Its about fault tolerance. Its about functional programming. Its about programming a distributed concurrent system without locks and mutexes but using only pure message passing. Its about automatically speeding up your programs on multicore CPUs. Its about writing distributed applications that allow people to interact with each other. Its about design patterns for writing fault-tolerant and distributed systems. Its about modeling concurrency and mapping those models onto computer programs, a process I call concurrency-oriented programming .

Who Is This Book For?

The target audience for this book ranges from the experienced Erlang programmer who wants to learn more about Erlang internals and the philosophy behind Erlang to the absolute beginner. The text has been reviewed by programmers at all levels, from expert to beginner. One of the major differences between the second and first editions has been the addition of a large amount of explanatory material especially targeted at the beginner. Advanced Erlang programmers can skip over the introductory material.

A second goal has been to demystify functional, concurrent, and distributed programming and present it in a way that is appropriate to an audience that has no prior knowledge of concurrency or functional programming. Writing functional programs and parallel programs has long been regarded as a black art; this book is part of an ongoing attempt to change this.

While this book assumes no specific knowledge of either functional or concurrent programming, it is addressed to somebody who already is familiar with one or two programming languages.

When you come to a new programming language, its often difficult to think of problems that are suitable for solution in the new language. The exercises give you a clue. These are the kind of problems that are suitably solved in Erlang.

New in This Edition

First, the text has been brought up-to-date to reflect all the changes made to Erlang since the first edition of the book was published. We now cover all official language changes and describe Erlang version R17.

The second edition has been refocused to address the needs of beginners, with more explanatory text than in the first edition. Material intended for advanced users, or that might change rapidly, has been moved to online repositories.

The programming exercises proved so popular in the first edition that exercises now appear at the end of each chapter. The exercises vary in complexity, so theres something for both beginner users and advanced users.

Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Programming Erlang: Software for a Concurrent World»

Look at similar books to Programming Erlang: Software for a Concurrent World. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «Programming Erlang: Software for a Concurrent World»

Discussion, reviews of the book Programming Erlang: Software for a Concurrent World and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.