• Complain

Prokopec - Learning concurrent programming in Scala: learn the art of building intricate, modern, scalable, and concurrent applications using Scala

Here you can read online Prokopec - Learning concurrent programming in Scala: learn the art of building intricate, modern, scalable, and concurrent applications using Scala full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. City: Birmingham, year: 2017, publisher: Packt Publishing, 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.

Prokopec Learning concurrent programming in Scala: learn the art of building intricate, modern, scalable, and concurrent applications using Scala
  • Book:
    Learning concurrent programming in Scala: learn the art of building intricate, modern, scalable, and concurrent applications using Scala
  • Author:
  • Publisher:
    Packt Publishing
  • Genre:
  • Year:
    2017
  • City:
    Birmingham
  • Rating:
    4 / 5
  • Favourites:
    Add to favourites
  • Your mark:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Learning concurrent programming in Scala: learn the art of building intricate, modern, scalable, and concurrent applications using Scala: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Learning concurrent programming in Scala: learn the art of building intricate, modern, scalable, and concurrent applications using Scala" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

Prokopec: author's other books


Who wrote Learning concurrent programming in Scala: learn the art of building intricate, modern, scalable, and concurrent applications using Scala? Find out the surname, the name of the author of the book and a list of all author's works by series.

Learning concurrent programming in Scala: learn the art of building intricate, modern, scalable, and concurrent applications using Scala — 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 "Learning concurrent programming in Scala: learn the art of building intricate, modern, scalable, and concurrent applications using Scala" 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
Learning Concurrent Programming in Scala - Second Edition

Learning Concurrent Programming in Scala - Second Edition

Copyright 2017 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

First published: November 2014

Second edition: February 2017

Production reference: 1170217

Published by Packt Publishing Ltd.

Livery Place

35 Livery Street

Birmingham

B3 2PB, UK.

ISBN 978-1-78646-689-1

www.packtpub.com

Credits

Author

Aleksandar Prokopec

Copy Editor

Safis Editing

Reviewers

Vikash Sharma

Dominik Gruntz

Zhen Li

Lukas Rytz

Michel Schinz

Samira Tasharofi

Project Coordinator

Vaidehi Sawant

Commissioning Editor

Aaron Lazar

Proofreader

Safis Editing

Acquisition Editor

Sonali Vernekar

Indexer

Aishwarya Gangawane

Content Development Editor

Rohit Kumar Singh

Graphics

Jason Monteiro

Technical Editor

Pavan Ramchandani

Production Coordinator

Shantanu Zagade

Foreword

Concurrent and parallel programming have progressed from niche disciplines, of interest only to kernel programming and high-performance computing, to something that every competent programmer must know. As parallel and distributed computing systems are now the norm, most applications are concurrent, be it for increasing the performance or for handling asynchronous events.

So far, most developers are unprepared to deal with this revolution. Maybe they have learned the traditional concurrency model, which is based on threads and locks, in school, but this model has become inadequate for dealing with massive concurrency in a reliable manner and with acceptable productivity. Indeed, threads and locks are hard to use and harder to get right. To make progress, one needs to use concurrency abstractions that are at a higher level and composable.

15 years ago, I worked on a predecessor of Scala: Funnel was an experimental programming language that had concurrent semantics at its core. All the programming concepts were explained in this language as syntactic sugar on top of functional nets, an object-oriented variant of join calculus . Even though join calculus is a beautiful theory, we realized after some experimentation that the concurrency problem is more multifaceted than what can be comfortably expressed in a single formalism. There is no silver bullet for all concurrency issues; the right solution depends on what one needs to achieve. Do you want to define asynchronous computations that react to events or streams of values? Or have autonomous, isolated entities communicating via messages? Or define transactions over a mutable store? Or, maybe the primary purpose of parallel execution is to increase the performance? For each of these tasks, there is an abstraction that does the job: futures, reactive streams, actors, transactional memory, or parallel collections.

This brings us to Scala and this book. As there are so many useful concurrency abstractions, it seems unattractive to hardcode them all in a programming language. The purpose behind the work on Scala was to make it easy to define high-level abstractions in user code and libraries. This way, one can define the modules handling the different aspects of concurrent programming. All of these modules would be built on a low-level core that is provided by the host system. In retrospect, this approach has worked well. Today, Scala has some of the most powerful and elegant libraries for concurrent programming. This book will take you on a tour of the most important ones, explaining the use case for each and the application patterns.

This book could not have a more expert author. Aleksandar Prokopec contributed to some of the most popular Scala libraries for concurrent and parallel programming. He also invented some of the most intricate data structures and algorithms. With this book, he created a readable tutorial at the same time and an authoritative reference for the area that he had worked in. I believe that Learning Concurrent Programming in Scala, Second Edition will be a mandatory reading for everyone who writes concurrent and parallel programs in Scala. I also expect to see it on the bookshelves of many people who just want to find out about this fascinating and fast moving area of computing.

Martin Odersky

Professor at EPFL, the creator of Scala

About the Author

Aleksandar Prokopec , who also authored the first edition of this book, is a concurrent and distributed programming researcher. He holds a PhD in computer science from the cole Polytechnique Fdrale de Lausanne, Switzerland. He has worked at Google and is currently a principal researcher at Oracle Labs.

As a member of the Scala team at EPFL, Aleksandar actively contributed to the Scala programming language, and he has worked on programming abstractions for concurrency, data-parallel programming support, and concurrent data structures for Scala. He created the Scala Parallel Collections framework, which is a library for high-level data-parallel programming in Scala, and participated in working groups for Scala concurrency libraries, such as Futures, Promises, and ScalaSTM. Aleksandar is the primary author of the reactor programming model for distributed computing.

Acknowledgements

First of all, I would like to thank my reviewers, Samira Tasharofi, Lukas Rytz, Dominik Gruntz, Michel Schinz, Zhen Li, and Vladimir Kostyukov for their excellent feedback and useful comments. I would also like to thank the editors at Packt, Kevin Colaco, Sruthi Kutty, Kapil Hemnani, Vaibhav Pawar, and Sebastian Rodrigues for their help with writing this book. It really was a pleasure to work with these people.

The concurrency frameworks described in this book wouldnt have seen the light of the day without a collaborative effort of a large number of people. Many individuals have somehow, directly or indirectly, contributed to the development of these utilities. These people are the true heroes of Scala concurrency, and they are to thank for Scalas excellent support for concurrent programming. It is difficult to enumerate all of them here, but I tried my best. If somebody feels left out, they should ping me, and, theyll probably appear in the next edition of this book.

It goes without saying that Martin Odersky is to thank for creating the Scala programming language, which was used as a platform for the concurrency frameworks described in this book. Special thanks goes to him, all the people that were part of the Scala team at the EPFL through the last 10 or more years, and the people at Typesafe, who are working hard to keep Scala one of the best general purpose languages out there.

Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Learning concurrent programming in Scala: learn the art of building intricate, modern, scalable, and concurrent applications using Scala»

Look at similar books to Learning concurrent programming in Scala: learn the art of building intricate, modern, scalable, and concurrent applications using Scala. 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 «Learning concurrent programming in Scala: learn the art of building intricate, modern, scalable, and concurrent applications using Scala»

Discussion, reviews of the book Learning concurrent programming in Scala: learn the art of building intricate, modern, scalable, and concurrent applications using Scala 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.