I agree with this - I finished reading this just before last year and I cannot recommend this book enough. It really is excellent (including topics like reference collapsing, type deduction in different scenarios, idiosyncrasies of async tasks). A great book and essential.
Agreed. I cannot recommend that book enough. It's a natural extension of The Good Parts and should be considered required reading (in the same way that Effective Java is for Java developers).
Seconding this! It's one of the very few tech books I've read cover to cover more than once. I similarly find myself revisiting individual pieces of it often.
It completely changed the way I thought about the role of type systems -- and I don't even mean in terms of monads, functors, or any other higher level category theoretic stuff. I mean just the day-to-day business coding idea of representing more of your domain directly in the type system.
I now find that pencil and paper is the best programming tool. It's massively easier to iterate on types and arrows between them than it is to pluck away against and refactor actual implementations.
Yes! I came in here to recommend that one as well. He does an excellent job of not only talking about the mechanics of the language, but also the system components to which the mechanics directly relate: and he does so in a way that is both easy to understand and thorough. Such a good book.
I can absolutely second this. I read it once a year. Many of its techniques are readily applicable to programming or design, after a tiny bit of abstraction.
It’s a wonderful book. The “sequel” Predicate Calculus and Program Semantics by Dijkstra and Scholten gives a more rigorous treatment of the ideas presented in A Discipline of Programming. Both are fantastic.
I am a huge fan of this book. The Pragmatic Programmer and this book are the two that I recommend most.
When I first read Refactoring, IntelliJ wasn't released yet and refactorings still needed to be done by hand. Automated refactorings are so incredibly useful when it comes to improving code quality over time that I don't know what it was we did without them.
C# in depth by John Skeet. This could easily be one of the best computer related books i've ever read. The amazing thing is that is shows with code examples how the language progressed from one version to the next. I've never read anything similar in computer literature. It gave me a deep understanding of the language and all its caveats.
great recommendation! I have heard of it before but I got it today, flicking through it and it is excellent - every dev really should read this. thanks again.
It's one of the most practical and in-depth books even among others shared in this thread so far. It's in the top four books I'd recommend every developer to read (particularly because it's so practical)!
reply