
A Science of Concurrent Programs
Turing Award-winner Leslie Lamport shares the key lessons he has learned about concurrent and distributed computing over decades of writing and reasoning about their algorithms. Algorithms are not programs, and they shouldn't be written in a programming language. Instead, this book explores how to write them and reason about them by using mathematics. It explains the principles underlying abstract programs and understanding those principles helps to avoid concurrency errors. Designing an abstract program before writing any code can lead to better, more reliable programs. The book has very few mathematical prerequisites, with an appendix summarizing the necessary knowledge. Many of the examples are available online, written in the formal language TLA+, and can be checked with the TLA+ tools. This is a fascinating read for any graduate students and researchers in theoretical computer science, concurrency, and distributed systems.
- Explains what it means for a program to implement a concurrent algorithm
- Teaches how to reason rigorously about concurrent algorithms, which can prevent errors in synchronizing concurrent processes
- Shows how to write precise abstract descriptions of concurrent programs, helping to detect design errors before any code is written, when it is easier and cheaper to correct them
Turing Award-winner Leslie Lamport shares the key lessons he has learned about concurrent and distributed computing over decades of writing and reasoning about their algorithms. Algorithms are not programs, and they shouldn't be written in a programming language. Instead, this book explores how to write them and reason about them by using mathematics. It explains the principles underlying abstract programs and understanding those principles helps to avoid concurrency errors. Designing an abstract program before writing any code can lead to better, more reliable programs. The book has very few mathematical prerequisites, with an appendix summarizing the necessary knowledge. Many of the examples are available online, written in the formal language TLA+, and can be checked with the TLA+ tools. This is a fascinating read for any graduate students and researchers in theoretical computer science, concurrency, and distributed systems.
- Explains what it means for a program to implement a concurrent algorithm
- Teaches how to reason rigorously about concurrent algorithms, which can prevent errors in synchronizing concurrent processes
- Shows how to write precise abstract descriptions of concurrent programs, helping to detect design errors before any code is written, when it is easier and cheaper to correct them
Original: $67.68
-65%$67.68
$23.69Description
Turing Award-winner Leslie Lamport shares the key lessons he has learned about concurrent and distributed computing over decades of writing and reasoning about their algorithms. Algorithms are not programs, and they shouldn't be written in a programming language. Instead, this book explores how to write them and reason about them by using mathematics. It explains the principles underlying abstract programs and understanding those principles helps to avoid concurrency errors. Designing an abstract program before writing any code can lead to better, more reliable programs. The book has very few mathematical prerequisites, with an appendix summarizing the necessary knowledge. Many of the examples are available online, written in the formal language TLA+, and can be checked with the TLA+ tools. This is a fascinating read for any graduate students and researchers in theoretical computer science, concurrency, and distributed systems.
- Explains what it means for a program to implement a concurrent algorithm
- Teaches how to reason rigorously about concurrent algorithms, which can prevent errors in synchronizing concurrent processes
- Shows how to write precise abstract descriptions of concurrent programs, helping to detect design errors before any code is written, when it is easier and cheaper to correct them











