• Complain

Cesarini Francesco Thompson Simon - Erlang Programming: a Concurrent Approach to Software Development

Here you can read online Cesarini Francesco Thompson Simon - Erlang Programming: a Concurrent Approach to Software Development full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. City: Sebastopol, year: 2009, publisher: OReilly Media, Inc, genre: Home and family. 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.

No cover

Erlang Programming: a Concurrent Approach to Software Development: summary, description and annotation

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

This book offers you an in-depth explanation of Erlang, a programming language ideal for any situation where concurrency, fault-tolerance, and fast response is essential. Youll learn how to write complex concurrent programs in this language, regardless of your programming background or experience. Erlang Programming focuses on the languages syntax and semantics, and explains pattern matching, proper lists, recursion, debugging, networking, and concurrency, with exercises at the end of each chapter. Read more...
Abstract: This book offers you an in-depth explanation of Erlang, a programming language ideal for any situation where concurrency, fault-tolerance, and fast response is essential. Youll learn how to write complex concurrent programs in this language, regardless of your programming background or experience. Erlang Programming focuses on the languages syntax and semantics, and explains pattern matching, proper lists, recursion, debugging, networking, and concurrency, with exercises at the end of each chapter

Cesarini Francesco Thompson Simon: author's other books


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

Erlang Programming: a Concurrent Approach to Software Development — 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 "Erlang Programming: a Concurrent Approach to Software Development" 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
Erlang Programming
Francesco Cesarini
Simon Thompson
Editor
Mike Loukides

Copyright 2009 Francesco Cesarini and Simon Thompson

This book uses RepKover, a durable and flexible lay-flat binding.

OReilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (.

Nutshell Handbook, the Nutshell Handbook logo, and the OReilly logo are registered trademarks of OReilly Media, Inc. Erlang Programming, the image of a brush-tailed rat kangaroo, and related trade dress are trademarks of OReilly Media, Inc.

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 OReilly Media, Inc. was aware of a trademark claim, the designations have been printed in caps or initial caps.

While every precaution has been taken in the preparation of this book, the publisher and authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein.

OReilly Media SPECIAL OFFER Upgrade this ebook with OReilly for more - photo 1

O'Reilly Media

SPECIAL OFFER: Upgrade this ebook with OReilly

for more information on this offer!

Please note that upgrade offers are not available from sample content.

Foreword
Mike Williams
Director of Traffic and Feature SoftwareProduct Development Unit WCDMA, Ericsson ABone of the inventors of Erlang

Erlang is our solution to three problems regarding the development of highly concurrent, distributed soft real-time systems:

  • To be able to develop the software quickly and efficiently

  • To have systems that are tolerant of software errors and hardware failures

  • To be able to update the software on the fly, that is, without stopping execution

When we invented Erlang, we focused on telecommunication systems, but today these requirements are applicable to a large number of applications, and Erlang is used in applications as divergent as distributed databases, financial systems, and chat servers, among others. Recent interest in Erlang has been fueled by its suitability for use on multicore processors. While the world is struggling to find methods to facilitate porting applications to multicore processors, Erlang applications can be ported with virtually no changes.

Initially, Erlang was slow to spread; maybe it was too daring to introduce functional programming, lightweight concurrency, asynchronous message passing, and a unique method to handle failures, all in one go. It is easy to see why a language such as Java, which is only a small step away from C++, was easier for people to swallow. However, to achieve the goals Ive just mentioned, we feel our approach has weathered the test of time. The use of Erlang is expanding rapidly.

This book is an excellent and practical introduction of Erlang, and is combined with a number of anecdotes explaining the ideas and background behind the development of Erlang.

Happy and, I trust, profitable reading.

Preface

What made us start writing this book in the first place is the enthusiasm we share for Erlang. We wanted to help get the word out, giving back a little of what the community has given to us. Although we both got into Erlang for very different reasons, the end result was the same: lots of fun hours doing lots of fun stuff at a fraction of the effort it would have taken with other languages. And best of all, it is not a tool we use for hobby projects, but one we use on a daily basis in our real jobs!

Francesco: Why Erlang?

The year was 1994. While studying computer science at Uppsala University, one of the courses I took was on parallel programming. The lecturer held up the first edition of Concurrent Programming in Erlang (Prentice Hall) and said, Read it. He then held up a handout and added, These are the exercises, do them, after which Erlang barely got a mention; it was quickly overshadowed with the theory of threads, shared memory, semaphores, and deadlocks.

As the main exercise for this course, we had to implement a simulated world inhabited by carrots, rabbits, and wolves. Rabbits would roam this world eating carrots that grew in random patches. When they had eaten enough carrots, the rabbits would get fat and split in two. Wolves ran around eating up the rabbits; if they managed to catch and eat enough rabbits, they would also get fat and split. Rabbits and wolves within a certain distance of each other would broadcast information on food and predators. If a rabbit found a carrot patch, other rabbits would quickly join him. If a wolf found a rabbit, the pack would start chasing it.

The final result was amusingly fun to watch. The odd rabbit would run straight into a group of wolves, while others would run in other directions, sometimes stopping to grab a carrot en route. Every carrot patch, rabbit, and wolf was represented as an Erlang process communicating through message passing.

The exercise took me about 40 hours to solve. Although I enjoyed using Erlang and was positively surprised at the simplicity of its concurrency model and lack of OS threads for every process, I did not think that much of it right there and then. After all, it was one of the dozen or so languages I had to learn for my degree. Having used ML in my functional programming courses and ADA in my real-time programming courses, for me Erlang was just another language in the crowd. That changed a few months later when I started studying object-oriented programming.

In the object-oriented (OO) programming course, we were given the same simulated world lab but had to solve it with Eiffel, an OO language our new lecturer insisted was ideal for simulations. Although I had already solved the same problem and was able to reuse a good part of the algorithms, it took me and a fellow student 120 man-hours to solve.

This was the eye-opener that led me to believe the declarative and concurrent features in Erlang had to be the direction in which software development was heading. At the time, I was not sure whether the language that would lead the way in this paradigm shift was going to be Erlang, but I was certain that whatever language it was, it would be heavily influenced by Erlang and its ancestors. I picked up the phone and called Joe Armstrong, one of the inventors of Erlang. A week later, I visited the Ericsson Computer Science Lab for an interview, and I have never looked back.

Simon: Why Erlang?

I have worked in functional programming since the early 1980s, and have known about Erlang ever since it was first defined about 20 years ago. What I find most attractive about Erlang is that its a language that was designed from the start to solve real and difficult problems, and to do it in an elegant and powerful way. Thats why weve seen Erlang used in more and more systems in recent years.

Its also a small language, which makes writing tools for it much more practical than for a language such as Java, C++, or even Haskell. This, and the quality of the libraries weve been able to build on in our work, has helped the functional programming group at Kent to be very productive in implementing the Wrangler refactoring tool for Erlang.

Who Should Read This Book?

We have written this book to introduce you to programming in Erlang. We dont expect that you have programmed in Erlang before, nor do we assume that you are familiar with functional programming in other languages.

Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Erlang Programming: a Concurrent Approach to Software Development»

Look at similar books to Erlang Programming: a Concurrent Approach to Software Development. 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 «Erlang Programming: a Concurrent Approach to Software Development»

Discussion, reviews of the book Erlang Programming: a Concurrent Approach to Software Development 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.