The best books to learn from programming classics

Why am I passionate about this?

Computers have fascinated me since my childhood, having fond memories of my dad's ZX81, but even so I played around I was never truly captured by the programming until I recognized it as a way of writing rather than raw engineering. Through my studies of media sciences I found my fascination with how language can shape perception, and through my work in developer advocacy, I found how communities are shaped as well. Now I am fascinated with how different programming languages can shape thinking, having had the opportunity to solve problems at large companies in nonmainstream languages.


I wrote...

JavaScript Domain-Driven Design

By Philipp Fehre,

Book cover of JavaScript Domain-Driven Design

What is my book about?

JavaScript backs some of the most advanced applications. It is time to adapt modern software development practices from JavaScript to model complex business needs.

JavaScript Domain-Driven Design allows you to leverage your JavaScript skills to create advanced applications. You'll start with learning domain-driven concepts and working with UML diagrams. You'll follow this up with how to set up your projects and utilize the TDD tools. Different objects and prototypes will help you create model for your business process and see how DDD develops common language for developers and domain experts. Context map will help you manage interactions in a system. By the end of the book, you will learn to use other design patterns and then get an insight into how to select the right scenarios to implement DDD.

Shepherd is reader supported. When you buy books, we may earn an affiliate commission.

The books I picked & why

Book cover of Smalltalk Best Practice Patterns

Philipp Fehre Why did I love this book?

Smalltalk is not as common or popular as it once was, but the influence its design had on programming is hard to overstate.

Reading this book has changed how I think about object orientation, and how I design systems, learning the patterns of Smalltalk makes it clear what object oriented design is really intended to achieve.

By Kent Beck,

Why should I read it?

2 authors picked Smalltalk Best Practice Patterns as one of their favorite books, and they share why you should read it.

What is this book about?

This classic book is the definitive real-world style guide for better Smalltalk programming. This author presents a set of patterns that organize all the informal experience successful Smalltalk programmers have learned the hard way. When programmers understand these patterns, they can write much more effective code. The concept of Smalltalk patterns is introduced, and the book explains why they work. Next, the book introduces proven patterns for working with methods, messages, state, collections, classes and formatting. Finally, the book walks through a development example utilizing patterns. For programmers, project managers, teachers and students -- both new and experienced. This book…


Book cover of Erlang Programming: A Concurrent Approach to Software Development

Philipp Fehre Why did I love this book?

Distributed systems are everywhere now, but long before there were telephony switches, and Erlang was built to make those work.

Reading this book gave me not only an understanding about Erlang, but the language and understanding to talk and think about systems which are distributed from the beginning, not as an afterthought. For me personally Erlang/OTP is the DSL for dystributed system and the patterns implemented have applications every time I think about distributed systems now.

By Francesco Cesarini, Simon Thompson,

Why should I read it?

1 author picked Erlang Programming as one of their favorite books, and they share why you should read it.

What is this book about?

A Concurrent Approach to Software Development


Book cover of C Programming Language

Philipp Fehre Why did I love this book?

C has been around forever, and most likely will be for much, much longer. Being able to read and understand C is crucial even if it is not the language of choice to write in these days.

Personally I see myself gaining appreciation for the design of a language by following the thoughts of the original authors and understanding what the intentions behind the design choices were, and this is what this book provides.

By Brian Kernighan, Dennis Ritchie,

Why should I read it?

3 authors picked C Programming Language as one of their favorite books, and they share why you should read it.

What is this book about?

This edition describes C as defined by the ANSI standard. This book is meant to help the reader learn how to program in C. The book assumes some familiarity with basic programming concepts like variables, assignment statements, loops, and functions. A novice programmer should be able to read along and pick up the language.


Book cover of Land Of Lisp: Learn to Program in Lisp, One Game at a Time!

Philipp Fehre Why did I love this book?

Lisp will always have a special place in my brain, not language can be as expressive and molded to what the programmer wants to do in my opinion.

Learning a programming language can be a bit dry, but not in the case of Land of Lisp, honestly I just found this book to be fun from beginning to end, and even so I was already familiar with Lisp before reading it I actually followed all the way through not skipping a page.

Yes Lisp is hardly in use these days, but if you know it you will find its concepts popping up all over the place and this is why knowing it is so useful.

By Conrad Barski,

Why should I read it?

1 author picked Land Of Lisp as one of their favorite books, and they share why you should read it.

What is this book about?

Lisp has been hailed as the world s most powerful programming language, but its cryptic syntax and academic reputation can be enough to scare off even experienced programmers. Those dark days are finally over Land of Lisp brings the power of functional programming to the people! With his brilliantly quirky comics and out-of-this-world games, longtime Lisper Conrad Barski teaches you the mysteries of Common Lisp. You ll start with the basics, like list manipulation, I/O, and recursion, then move on to more complex topics like macros, higher order programming, and domain-specific languages. Then, when your brain overheats, you can kick…


Book cover of Modern Operating Systems

Philipp Fehre Why did I love this book?

Not really a programming book, Modern Operating Systems has been influential for me to understand what I am working with.

When learning about how OSs do their job it is impossible to know everything, but having a rough picture and being able to know how and where to drill down further is what it is all about and this is where this book really shined for me. Even when never writing a driver or working with kernel code, knowing how the details fit together helps in estimating complexity.

The knowledge I got from this book more than once helped me recognize when something was too good to be true, or simplify complex software by working with not against the OS, in my opinion a must read for every programmer.

By Andrew S. Tanenbaum,

Why should I read it?

1 author picked Modern Operating Systems as one of their favorite books, and they share why you should read it.

What is this book about?

Please Read Notes: Brand New, International Softcover Edition, Printed in black and white pages, minor self wear on the cover or pages, Sale restriction may be printed on the book, but Book name, contents, and author are exactly same as Hardcover Edition. Fast delivery through DHL/FedEx express.


5 book lists we think you will like!

Interested in ghosts, operating system, and computer programming?

10,000+ authors have recommended their favorite books and what they love about them. Browse their picks for the best books about ghosts, operating system, and computer programming.

Ghosts Explore 233 books about ghosts
Operating System Explore 12 books about operating system
Computer Programming Explore 39 books about computer programming