Tools for Thought: The History and Future of Mind-Expanding Technology
Howard Rheingold traces the evolution of computing from nineteenth century mathematics to the modern digital age. He argues that the computer revolution was built by intellectual giants like Charles Babbage and John von Neumann rather than just modern entrepreneurs. By profiling a group of visionaries he calls infonauts, Rheingold shows how human logic and mechanical calculation merged to create …
Shelves
More like this
JavaScript: The Good Parts
Most programming languages contain good and bad parts, but JavaScript has more than its share of the bad, having been developed and released in a …
Building Microservices: Designing Fine-Grained Systems
Distributed systems have become more fine-grained in the past 10 years, shifting from code-heavy monolithic applications to smaller, self-containe…
A Philosophy of Software Design
This book addresses the topic of software how to decompose complex software systems into modules (such as classes and methods) that can be impleme…
Patterns of Enterprise Application Architecture
Developers of enterprise applications (e.g reservation systems, supply chain programs, financial systems, etc.) face a unique set of challenges, d…
The Pragmatic Programmer: From Journeyman to Master
Straight from the programming trenches, The Pragmatic Programmer cuts through the increasing specialization and technicalities of modern software …
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…
The Algorithm Design Manual
This volume helps take some of the "mystery" out of identifying and dealing with key algorithms. Drawing heavily on the author's own real-world ex…
The Mythical Man-Month: Essays on Software Engineering
Few books on software project management have been as influential and timeless as The Mythical Man-Month. With a blend of software engineering fac…
Penguin Random House Python Crash Course
Python Crash Course is a fast-paced, thorough introduction to programming with Python that will have you writing programs, solving problems, and m…
Head First Java
Learning a complex new language is no easy task especially when it s an object-oriented computer programming language like Java. You might think t…
The Little Schemer
The notion that “thinking about computing is one of the most exciting things the human mind can do” sets both The Little Schemer (formerly known a…
Test-Driven Development: By Example
Quite simply, test-driven development is meant to eliminate fear in application development. While some fear is healthy (often viewed as a conscie…