Communicating sequential processes
Tony Hoare presents a rigorous mathematical framework for understanding how independent processes interact within a computer system. This classic text moves away from traditional sequential programming to address the complexities of concurrent systems that must coordinate and communicate. By treating interaction as a fundamental concept, the author provides a formal language for describing system…
Shelves
More like this
Code: The Hidden Language of Computer Hardware and Software
What do flashlights, the British invasion, black cats, and seesaws have to do with computers? In CODE, they show us the ingenious ways we manipula…
Head First Design Patterns
You're not alone. At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know y…
The Clean Coder: A Code of Conduct for Professional Programmers
Programmers who endure and succeed amidst swirling uncertainty and nonstop pressure share a common They care deeply about the practice of creating…
The Passionate Programmer: Creating a Remarkable Career in Software Development
Success in today's IT environment requires you to view your career as a business endeavor. In this book, you'll learn how to become an entrepreneu…
The C Programming Language
This book is meant to help the reader learn how to program in C. It is the definitive reference guide, now in a second edition. Although the first…
The Practice of Programming
With the same insight and authority that made their book The Unix programming Environment a classic, Brian Kernighan and Rob Pike have written The…
Structure and Interpretation of Computer Programs
Structure and Interpretation of Computer Programs has had a dramatic impact on computer science curricula over the past decade. This long-awaited …
Automate the Boring Stuff with Python: Practical Programming for Total Beginners
If you've ever spent hours renaming files or updating hundreds of spreadsheet cells, you know how tedious tasks like these can be. But what if you…
Grokking Algorithms An Illustrated Guide For Programmers and Other Curious People
An algorithm is nothing more than a step-by-step procedure for solving a problem. The algorithms you'll use most often as a programmer have alread…
The Art of Computer Programming, Volume 1: Fundamental Algorithms
The bible of all fundamental algorithms and the work that taught many of today's software developers most of what they know about computer program…
Effective Java
Since this Jolt-award winning classic was last updated in 2008 (shortly after Java 6 was released), Java has changed dramatically. The principal e…
Learn You a Haskell for Great Good!
Learn You a Haskell for Great Good! is a fun, illustrated guide to learning Haskell, a functional programming language that's growing in popularit…