TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: What's the best programming book you've read recently?

93 pointsby diegoloopabout 11 years ago

59 comments

playing_coloursabout 11 years ago
&quot;Peopleware&quot; <a href="http://www.amazon.com/Peopleware-Productive-Projects-Second-Edition/dp/0932633439" rel="nofollow">http:&#x2F;&#x2F;www.amazon.com&#x2F;Peopleware-Productive-Projects-Second-...</a> , a lot of insights and ideas how to build great teams. Great to read for developers, team leads and managers.<p>&quot;The art of multiprocessor programming&quot;, excellent book on parallel programming theory with code explanations: <a href="http://www.amazon.com/gp/product/0123705916?ie=UTF8&amp;tag=nirshavitshom-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0123705916" rel="nofollow">http:&#x2F;&#x2F;www.amazon.com&#x2F;gp&#x2F;product&#x2F;0123705916?ie=UTF8&amp;tag=nirs...</a>
评论 #7756812 未加载
评论 #7757071 未加载
tdicolaabout 11 years ago
Stroustrup&#x27;s &quot;A Tour of C++&quot; is a great overview of C++11 and modern C++. It&#x27;s not very long and worth a read to see what&#x27;s new in the C++ world. The audience is aimed at people who already know C++ but want to know what&#x27;s new with the latest version. I&#x27;ve been doing a lot more with C++11 recently and am really impressed with the language--dare I say C++ is actually fun to use.
评论 #7757080 未加载
评论 #7756845 未加载
评论 #7756922 未加载
robgeringabout 11 years ago
I&#x27;ve really been enjoying The Joy of Clojure (<a href="http://joyofclojure.com/" rel="nofollow">http:&#x2F;&#x2F;joyofclojure.com&#x2F;</a>) -- note that there&#x27;s a nearly-finished 2ed in PDF form if you buy the early access version.<p>I&#x27;ve also been reading Clojure Programming (<a href="http://www.clojurebook.com/" rel="nofollow">http:&#x2F;&#x2F;www.clojurebook.com&#x2F;</a>) to reinforce concepts from the above.
lukasmabout 11 years ago
Code Complete has pretty good bang per page, especially if you are beginner.<p><a href="http://www.amazon.co.uk/Code-Complete-Practical-Handbook-Construction/dp/0735619670" rel="nofollow">http:&#x2F;&#x2F;www.amazon.co.uk&#x2F;Code-Complete-Practical-Handbook-Con...</a>
评论 #7757188 未加载
AlexanderDhooreabout 11 years ago
&quot;Programming Erlang: Software for a Concurrent World&quot;, by Joe Armstrong himself.<p>I have not read it completely, because the first chapters inspired me to start programming (in Erlang) and I haven&#x27;t gotten back to the book yet.
评论 #7757997 未加载
michaelchumabout 11 years ago
JavaScript: The Good Parts. Made me see JS in a much more elegant way. Coding JS is not trivial. I did use JS in webdev in general, and APIs. But really, I would have never known the mysteries behind it such as prototypal inheritance.
nwhiteheadabout 11 years ago
&quot;Programming in Lua&quot;, by Roberto Ierusalimschy. This is a gem of a programming book. Some of my favorite chapters: coroutines, metamethods, weak tables, threads and states. Similar in tone and clarity to K&amp;R &quot;The C Programming Language&quot;. I learn something new every time I flip through this book.
Skoofooabout 11 years ago
I thought I knew how to write good Ruby code, but then I read &quot;Practical Object-Oriented Design in Ruby&quot;. <a href="http://www.poodr.com/" rel="nofollow">http:&#x2F;&#x2F;www.poodr.com&#x2F;</a>
mtalantikiteabout 11 years ago
&quot;Concepts, Techniques, and Models of Computer Programming&quot; by Peter Van Roy and Seif Haridi.<p>Also &quot;The Reasoned Schemer&quot;, which has the same pedagogical style as the other Schemer books, but works around logic programming.<p>Both of those books are mind benders and I&#x27;ve gotten a lot out of them recently.
tshaddoxabout 11 years ago
I recently went through the later chapters of The Little Schemer again. I still find it incredibly challenging and awesome. As many have said, this is a great book to teach you to think recursively.<p><a href="http://www.ccs.neu.edu/home/matthias/BTLS/" rel="nofollow">http:&#x2F;&#x2F;www.ccs.neu.edu&#x2F;home&#x2F;matthias&#x2F;BTLS&#x2F;</a><p><a href="http://www.amazon.com/The-Little-Schemer-4th-Edition/dp/0262560992" rel="nofollow">http:&#x2F;&#x2F;www.amazon.com&#x2F;The-Little-Schemer-4th-Edition&#x2F;dp&#x2F;0262...</a>
truncateabout 11 years ago
Currently reading Programming Pearls by Jon Bentley. Interesting small case studies that gives insight on how to tackle problems and think about programming.
评论 #7757655 未加载
walexanderabout 11 years ago
Not trying to sound cute, but The Elements of Programming Style by Kernighan and Plaugher (1974). Just read this last week during a day of plane travel.<p>It&#x27;s all PLI and Fortran, with lots of GOTO being harmful examples, but surprisingly much of it is still relevant. It&#x27;s a quick read and interesting look at some of the problems they had back then (and some that we still create plenty of today).
lgunschabout 11 years ago
Clean Code: A Handbook of Agile Software Craftsmanship, by Robert C. Martin.
warfangleabout 11 years ago
The Soul of a New Machine. Fascinating documentation of Data General&#x27;s development of the 32-bit Eclipse machine. Sorta programming, sorta hardware... back when the two were more tightly integrated.
评论 #7757554 未加载
franzeabout 11 years ago
Peopleware<p>pretty much the most important programming book a programmer who works with &#x2F; in teams can &#x2F; should &#x2F; must read.
sateeshabout 11 years ago
As part of the MOOC course Paradigms of Computer Programming (<a href="https://www.edx.org/course/louvainx/louvainx-louv1-01x-paradigms-computer-1203" rel="nofollow">https:&#x2F;&#x2F;www.edx.org&#x2F;course&#x2F;louvainx&#x2F;louvainx-louv1-01x-parad...</a>) I read the initial parts of the book: &quot;Concepts, Techniques, and Models of Computer Programming&quot; (mitpress.mit.edu&#x2F;books&#x2F;concepts-techniques-and-models-computer-programming). The initial chapters provide a good approachable way to get started with functional programming. Though working with Oz (the programming language used in the book) gets some time to get used to, this is an excellent book. I am bit surprised that this book is not as well known, and probably I wouldn&#x27;t have known about this book if not for the MOOC course.
isuraedabout 11 years ago
Refactoring by Martin Fowler. Extremely practical if you work with old and large code bases.
评论 #7756904 未加载
julian25about 11 years ago
I&#x27;ve been reading Real World Haskell recently and loving it. It does a fantastic job of blowing your mind while simultaneously showing you how to apply Haskell to real-world problems.
评论 #7757904 未加载
评论 #7756900 未加载
cenazoicabout 11 years ago
I&#x27;m attempting some self-taught coding (my degree is in history), and after much dithering, have started with How to Design Programs (htdp.org). SICP is beyond me at this point, and I wanted to get a good grounding in general concepts and good design before jumping into some other more (theoretically lucrative)language.<p>HtDP is wonderful at what it does, and while perhaps a tad dry in writing style, it is, for me, a page turner in terms of engagement and presentation of new ideas.
DanielBMarkhamabout 11 years ago
Clean Code, by Robert Martin. Excellent book that dives in deep on how to write solid code. It&#x27;s like having the ultimate code review in book form.<p>Shameless plug: I just finished writing the first in a series of books about Backlogs. Good backlogs can make programming a lot easier. Conversely, horribly formed backlogs can turn coding into a death march. <a href="http://bit.ly/1fJd5Gg" rel="nofollow">http:&#x2F;&#x2F;bit.ly&#x2F;1fJd5Gg</a>
why-elabout 11 years ago
Effective Java. A very succinct collection of wonderful practices and ideas on how to code great software that you can finish in a couple of days, even if you are on a working schedule. Don&#x27;t mind the &quot;Java&quot; in the title; I read the book regularly and it applies to pretty much any language capable of some OO.<p>Check the table of contents, it will give you an idea of what to expect from the book.
评论 #7757338 未加载
brudgersabout 11 years ago
The books on and around my nightstand:<p>+ <i>Joy of Clojure</i>. A recent gift[card]. I put off learning Clojure because of it&#x27;s more complex syntax. I&#x27;m both glad I did, and that I have this book now that that&#x27;s the no longer the case.<p>+ <i>ANSI Common Lisp</i>. Lisp was out of reach at the time when my younger self might have pursued computer programming, and realizing around two years ago how accessible it had become got me to download Lisp in a Box and then buy the used copy. Currently visiting, this book orbits in and out of the rotation with a cometary periodicity.<p>+ <i>Art of Computer Programming: Volume 3, Sorting and Searching</i> Twenty-five years ago or so I bought volume I and about 15 years I donated it to the community radio station&#x27;s books sale [WMNF 88.5]. I spent about $25 dollars including shipping for used copies of the first three volumes from Amazon last year. Right now each is on a different floor. The proximate reason <i>Sorting and Searching</i> is by the bed: I&#x27;m taking Algorithms I on Coursera and it is the first one that really dives into algorithms. A deeper reason is that Knuth always reminds me how much more there is to know - I&#x27;m getting better at the maths, but haven&#x27;t learned MIX. Maybe one of these nights.<p>+ <i>Structure and Interpretation of Computer Programs</i> I bought a &quot;used&quot; copy from MIT via Amazon last year. It&#x27;s staggering how much is really in it that I glossed over &#x27;reading&#x27; the free online version. It&#x27;s much better than I thought, and I find myself constantly referring to it or just reading a section. It&#x27;s also a reference for the other Coursera course I am taking: Funtional Programming in Scala with Martin Ordersky.<p>The non-programming books are from the public library:<p>+ <i>How Literature Works: 50 Key Concepts</i>. The sections are four to six pages and lightweight. Makes for something brief to read. It&#x27;s the sort of book that I feel no obligation to finish.<p>+ <i>Poetry of the First World War: An Anthology</i> This book is actually why I mention the non-programming books. I don&#x27;t read poetry, but I&#x27;d always seen people make a big deal about it, and there this was on the new book shelf. I see why the English make a big deal about Siegried Sassoon. I see why they make an even bigger deal about Wilfred Owen. It&#x27;s potent and powerful and the bench of poets runs much deeper. It makes that war the last ancient one.
fredyrabout 11 years ago
Richard Bird, Philip Wadler - Introduction to Functional Programming <a href="http://www.amazon.com/Introduction-Functional-Programming-International-Computing/dp/0134841891" rel="nofollow">http:&#x2F;&#x2F;www.amazon.com&#x2F;Introduction-Functional-Programming-In...</a><p>Richard Bird - Pearls of Functional Algorithm Design <a href="http://www.amazon.com/Pearls-Functional-Algorithm-Design-Richard/dp/0521513383" rel="nofollow">http:&#x2F;&#x2F;www.amazon.com&#x2F;Pearls-Functional-Algorithm-Design-Ric...</a><p>Christian Queinnec - Lisp in Small Pieces <a href="http://www.amazon.com/Lisp-Small-Pieces-Christian-Queinnec/dp/0521545668" rel="nofollow">http:&#x2F;&#x2F;www.amazon.com&#x2F;Lisp-Small-Pieces-Christian-Queinnec&#x2F;d...</a>
thrushabout 11 years ago
A little more than just programming, but just finished Ilya Grigorik&#x27;s new book, &quot;High Performance Browser Networking&quot; (available free online). I learned a lot about Javascript&#x2F;HTML loading and execution that I had never even thought about.
killnineabout 11 years ago
I&#x27;ve recently read The Passionate Programmer and was rather disappointed.<p>The book has a few very valuable insights. For the most part it reads like a series of blog posts from a slightly experienced developer.
评论 #7756933 未加载
sytelusabout 11 years ago
Doing Bayesian Data Analysis<p>Interesting topics: MCMC, Gibbs Sampling<p>F# for C# Developers<p>This book seems to leave lot out in order to simplify but good starting book nonetheless<p>TCP&#x2F;IP Illustrated, Volume 1: The Protocols, Second Edition<p>I wanted to know what really &quot;connection&quot; means. This book has answer.<p>An Introduction to R<p>I guess everyone dealing with data should know R, right?<p>Here&#x27;s my Amazon list with quite a few very interesting books collected over time: <a href="http://www.amazon.com/gp/registry/wishlist/RXLC4WK1ZOJR" rel="nofollow">http:&#x2F;&#x2F;www.amazon.com&#x2F;gp&#x2F;registry&#x2F;wishlist&#x2F;RXLC4WK1ZOJR</a>
gfodorabout 11 years ago
Physically Based Rendering by Pharr and Humphreys. Excellent book on modern ray tracing that is a literate program. It&#x27;s an amazing piece of work (even won an oscar!)
zwiebackabout 11 years ago
&quot;C# In Depth, 3rd edition&quot; by Jon Skeet. I had been falling behind on the new stuff added to .NET and C# and this is a good way to get back on the curve.
评论 #7757050 未加载
kirang1989about 11 years ago
Computer Systems: A Programmer&#x27;s Perspective and NAND2Tetris: Elements of Computing Systems are the best books to learn the internals of computer hardware and solidify your understanding of how a computer works.<p>The Pragmatic Programmer - My all time favorite. Awesome book to learn best practices of various aspects in programming.<p>The Code Book: The Evolution Of Secrecy From Mary, Queen Of Scots To Quantum Cryptography, if you have a thing for cryptography.
mykoabout 11 years ago
Effective Objective-C 2.0: <a href="https://play.google.com/store/books/details/Matt_Galloway_Effective_Objective_C_2_0?id=qp4ZXAmGaoQC" rel="nofollow">https:&#x2F;&#x2F;play.google.com&#x2F;store&#x2F;books&#x2F;details&#x2F;Matt_Galloway_Ef...</a><p>In the style of other &quot;Effective Foo&quot; books. Excellent overview of best practices for ObjC, it&#x27;s the first book I hand new developers on my team.
jason_slackabout 11 years ago
I have a few coming from Amazon<p>OpenGL Insights - Cozzi and Riccio<p>Game Engine Architecture (2nd Edition) - Jason Gregory<p>Programming: Principles and Practice Using C++ (2nd Edition) - Stroustrup
jeremyisabout 11 years ago
Not programming per say, but love Downey&#x27;s ThinkOs (free): <a href="http://greenteapress.com/thinkos/" rel="nofollow">http:&#x2F;&#x2F;greenteapress.com&#x2F;thinkos&#x2F;</a>.<p>Am currently reading Think Complexity (also free): <a href="http://greenteapress.com/complexity/index.html" rel="nofollow">http:&#x2F;&#x2F;greenteapress.com&#x2F;complexity&#x2F;index.html</a>
sunny1304about 11 years ago
Linux Device Drivers, 3rd Edition still not finished, but this is best book i have encountered for linux driver programming.
runT1MEabout 11 years ago
Functional Programming in Scala.<p>It&#x27;s not a book about scala, it just so happens to use scala as the language to teach you how to program functionally. I&#x27;ve read other books that purport to do the same, they end up showing a light sprinkling of functional concepts. This book goes much deeper, and is ultimately much more rewarding.
john0about 11 years ago
Secrets of the JavaScript Ninja <a href="http://www.manning.com/resig/" rel="nofollow">http:&#x2F;&#x2F;www.manning.com&#x2F;resig&#x2F;</a> has helped me understand some of the more interesting parts of the language (such as functions being first class objects) better.
espinchiabout 11 years ago
It depends heavily on what stage of your career as a programmer you are.<p>I strongly suggest most junior programmers I work with to read Effective Java and Head First Design Patterns. To me, it&#x27;s a great combination to help you write code that&#x27;s easy to understand and maintain.
kevinskiiabout 11 years ago
&quot;Mining of Massive Datasets&quot;, by Jure Leskovec, Anand Rajaraman, and Jeffrey D. Ullman. You can get the PDF here:<p><a href="http://infolab.stanford.edu/~ullman/mmds/book.pdf" rel="nofollow">http:&#x2F;&#x2F;infolab.stanford.edu&#x2F;~ullman&#x2F;mmds&#x2F;book.pdf</a>
rdc12about 11 years ago
Not strictly programming, but been reading Information, a history, a theory , aflood. Been strugling to userstand what life would have been like before various aspects of storage&#x2F;transmision would have been like.<p>Looking forward to when it hits Claude Shannon
arcadeparadeabout 11 years ago
<a href="http://en.wikipedia.org/wiki/Code:_The_Hidden_Language_of_Computer_Hardware_and_Software" rel="nofollow">http:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Code:_The_Hidden_Language_of_Co...</a><p>Really good introduction to computers from relays up.
dusandusanabout 11 years ago
&quot;More Effective C++&quot; by Scott Meyers<p>While directed at the C++ crowd, I would recommend this book to any programmer, as it explains many interesting concepts and idioms that are not C++ specific.
eijiabout 11 years ago
C++ Concurrency in Action, Practical Multithreading, by Anthony Williams<p><a href="http://www.manning.com/williams/" rel="nofollow">http:&#x2F;&#x2F;www.manning.com&#x2F;williams&#x2F;</a>
digita88about 11 years ago
Non-technical but some great concepts which can be adapted to programming: Thinking in Systems by Donella Meadows The Checklist Manifesto by Athul Gawande
pcmccullabout 11 years ago
Working Effectively with Legacy Code, by Michael Feathers
评论 #7811446 未加载
danielrpaabout 11 years ago
Structure and Interpretation of Computer Programs (SICP)
Serow225about 11 years ago
C Primer Plus and Expert C Programming. I wish there was a book similar to the latter that covered C99&#x2F;11.
评论 #7757635 未加载
评论 #7757468 未加载
joerichabout 11 years ago
I recently got &quot;Hackers and painters&quot; by Paul Graham. I&#x27;m still reading but pretty cool so far.
winkabout 11 years ago
Modern Operating Systems by Tanenbaum, although it&#x27;s more basics, still relevant for low-level stuff.
enterxabout 11 years ago
Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman - Dave Hoover , Adewale Oshineye
tathastuabout 11 years ago
Computer Systems: A programmer&#x27;s perspective<p>Great look at under-the-hood of what happens when a program runs.
iceman_xiiialmost 11 years ago
Have read over half of Learning Python by Mark Lutz (O&#x27;Reilly). A good read.
deathtrader666about 11 years ago
I&#x27;ve recently started my way through SICP and Algorithms in a Nutshell.
stopachkaabout 11 years ago
Effective Javascript.
评论 #7757354 未加载
taylodlabout 11 years ago
The Little Schemer.<p>Fun to read, solidify knowledge of Scheme.
antocvabout 11 years ago
Beginning Java EE7 is good, a refresher.
recursiveabout 11 years ago
Sql Antipatterns by Bill Karwin
malandrewabout 11 years ago
The Little Schemer
jbejaabout 11 years ago
&quot;Practical Object-Oriented Design in Ruby. A Agile Primer&quot; By Sandi Metz. I am not so much a ruby fan, but don&#x27;t let the title decive you, ruby is just the tool (since it could use any other OOP language) to show what the book is realy about (OOP Design shown in the best way possible).
评论 #7759050 未加载
mystralabout 11 years ago
Last one was probably <i>Let Over Lambda</i>. One of the few programming books I&#x27;ve read cover to cover.
yarouabout 11 years ago
TAOCP by Knuth (if you can get past the maths).