7 ms·
Ask HN: What are some of the best written programming books?
I recently read Russ Olsen's Eloquent Ruby and I loved it.
It is incredibly readable; the code and the stories mixing amazingly with real world examples and what not.
What are some of yours?
- henesy 11y agoCommon Lisp: A Gentle Introduction to Symbolic Computation by David S. Touretzky is solid for learning the fundamentals of thinking in and writing lisp. http://www.cs.cmu.edu/~dst/LispBook/ http://www.cs.cmu.edu/~dst/LispBook/ Bump for the K&R as well, great book, helped me get my feet wet with C quickly and effectively.
- a_bonobo 11y agoCheck out the Stealing The Network series if you're into security - it's a bunch of short stories about network security usually written from the POV of a hacker who's trying to gain access to a system. The stories are very tech-heavy to the point that parts of the stories are non-fiction, with huge excerpts from console sessions and the like.
- Sukotto 11y agoProgramming Pearls: Jon Bentley The Pragmatic Programmer: Hunt and Thomas The C Programming Language: Kernighan and Ritchie
- brg 11y agoSeconding Programming Pearls by Jon Bentley. Although a bit dated, I reread this book for its insight in to problem solving. It is a great primer for programming problem interviews.
- idlemind 11y agoMy favourites are more about the general craft of software development than specifics e.g. The Pragmatic Programmer: Hunt and Thomas The Mythical Man Month: Frederick Brooks
- a_bonobo 11y agoYou may also enjoy Glass' Facts and Fallacies of Software Engineering, it's similar to Mythical Man Month (and cites it and overlaps in parts) but the focus is a bit wider, with many small essays on a particular problem in programming or management of programmers
- slvn 11y agothe d programming language by andrei alexandrescu (ISBN-13: 978-0321635365)
- HugoDaniel 11y agoParallel and Concurrent Programming in Haskell By Simon Marlow
- jaryd 11y agoMight be an unpopular language but "Learning Perl" was pretty helpful for me when I was coming up.
- SwellJoe 11y agoLearning Perl is an excellent book. It's one of the reasons I still consider Perl a pretty good teaching and learning language, despite it's bad reputation among some programmers. All of the big O'Reilly books for Perl are truly excellent, in fact, and a big part of why O'Reilly developed such a reputation for excellence (which, I think, has faded somewhat in the past decade or so...at least for me...I don't tend to automatically choose the O'Reilly title, anymore, whereas that used to be what I always picked up first).
- latenightcoding 11y agoGreat book, my first general purpose programming language was going to be Python but the book I was reading was so poorly written that I picked up Learning Perl and have been doing Perl all my career.
- cms07 11y agoIt's a real shame that Perl isn't a popular language anymore. At least there's still an active community.
- cjpa 11y agoThe Little Schemer By Daniel P. Friedman and Matthias Felleisen - https://mitpress.mit.edu/index.php?q=books/little-schemer https://mitpress.mit.edu/index.php?q=books/little-schemer Why's poignant guide to Ruby - http://mislav.uniqpath.com/poignant-guide/book/ http://mislav.uniqpath.com/poignant-guide/book/
- revskill 11y agoThe Design Patterns book
- trequartista 11y agoSome love for - The C Programming Language - Kerninghan & Ritchie - http://www.amazon.com/The-Programming-Language-Brian-Kernighan/dp/0131103628 http://www.amazon.com/The-Programming-Language-Brian-Kernigh...
- theGREENsuit 11y agoI have this book at home, have read it and although it covers a lot in a short volume, I didn't get out of it as much as I did out of C Programming: A Modern Approach by KN King. Once I bought King's book, C made a lot more sense, the book was fun to read and follow. K&R's book was, to me, less "how & why" but more "how". Pointers, in particular, is what I enjoyed more in King's book. That chapter alone made buying the book worth its money.
- more_original 11y ago"Effective Java" by Joshua Bloch is very good.
- vollmond 11y agoClean Code -- Robert C. Martin
- blackle 11y agoOperating Systems: Design and Implementation - Andrew S. Tanenbaum Always a good one when you want to brush up on arcane knowledge.
- jjmanton 11y agoI really enjoy the Big Nerd Ranch books, although I am a bit biased because they sign my paychecks.
- kelukelugames 11y agoI love the one for iOS development. It's perfect even for people new to programming. Will you ever re-write the Andriod version to be just as beginner friendly? I would love to hand it off to my girlfriend so she can learn how to do apps. Right now it is harder to grok than the iOS one.
- justin66 11y agoMichael Kerrisk's The Linux Programming Interface is truly great.
- sayems 11y agoThinking in Java, Java Generics and Collection, Head First Design Patterns
- agumonkey 11y agoA curated PLT (Programming language theory) list : http://steshaw.org/plt/ http://steshaw.org/plt/ A Github hosted list of free programming books (merging SO and other sources): https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md https://github.com/vhf/free-programming-books/blob/master/fr...
- macintux 11y agoFor both entertainment value and incisive exploration of dark corners in the language, "Expert C Programming: Deep C Secrets" is a fantastic book.
- sebastianconcpt 11y agoA remarkable classic http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612 http://www.amazon.com/Design-Patterns-Elements-Reusable-Obje... And Kent Beck's http://www.amazon.com/Smalltalk-Best-Practice-Patterns-Kent/dp/013476904X http://www.amazon.com/Smalltalk-Best-Practice-Patterns-Kent/...
- sebg 11y agoSICP (Structure and Interpretation of Computer Programs) - https://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html#%_toc_start https://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html... (free version)
- talles 11y agoWhen talking about the very best books of our area, this is first one that always pop in my mind. Uncle bob have put beautifully here (5th paragraph): http://thecleancoder.blogspot.com.br/2010/08/why-clojure.html http://thecleancoder.blogspot.com.br/2010/08/why-clojure.htm...
- S4M 11y agoMy favorite one is Paradigms or Artificial Intelligence Programming: http://norvig.com/paip.html http://norvig.com/paip.html
- justincormack 11y agoProgramming in Lua by Roberto Ierusalimschy is one of the best introductions to any programming language. Hw writes the new version along with each language release now, on the grounds that if you cannot explain it right then the language feature probably needs fixing.
- Arnt 11y agoThat was one of the rules for the Qt documentation too, back when I worked on it. It's a great rule.
- desbest 11y agoC in Easy Steps
- numeromancer 11y agoI like The Little Book of Semaphores: http://greenteapress.com/semaphores/ http://greenteapress.com/semaphores/
- itg 11y agoI really enjoyed Land of Lisp http://landoflisp.com http://landoflisp.com
- jrochkind1 11y agoDesign Patterns: Elements of Reusable Object-Oriented Software http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612/ http://www.amazon.com/Design-Patterns-Elements-Reusable-Obje... Practical Object-Oriented Design in Ruby by Sandi Metz. http://www.poodr.com/ http://www.poodr.com/
- talles 11y agoMaybe it's a matter of taste, but I found the GoF book really boring (and a little self hyped TBH).
- kat 11y agoIf you want a good alternative to the GoF book try Head First Design Patterns. I findit much more approachable and much more enjoyable to read. http://www.amazon.com/Head-First-Design-Patterns-Freeman-ebook/dp/B00AA36RZY http://www.amazon.com/Head-First-Design-Patterns-Freeman-ebo...
- sanoli 11y agoThis gem is too often left out: How to Design Programs - An Introduction to Programming and Computing http://www.htdp.org/ http://www.htdp.org/
- mattsaintdev 11y agoFortran/ClearWin+ simple and to the point http://www.silverfrost.com/manuals/clearwin.pdf http://www.silverfrost.com/manuals/clearwin.pdf
- hbharadwaj 11y agoEloquent JavaScript by Written by Marijn Haverbeke
- Galanwe 11y ago"Large Scale C++ Software Design" by John Lakos This book made me understand that writing software is not just about creating opaque binaries with _stuff_ inside. It's also about what does this binary depends on, which symbols does it exports, how is it built, etc.
- lurdawg 11y agoComputer Systems: A Programmer's Perspective by Randal E. Bryant, David R. O'Hallaron http://www.amazon.com/Computer-Systems-Programmers-Perspective-Edition/dp/013409266X http://www.amazon.com/Computer-Systems-Programmers-Perspecti...
- jrw 11y agoIn addition to those already mentioned: - Stevens: Advanced Programming in the Unix Environment and more recently, - Kerrisk: The Linux Programming Interface. Also, almost anything by Kernighan (with several different co-authors).
- rubiquity 11y agoEloquent Ruby is one of my favorite books, too. That book really motivated me to learn how programming languages work. Here are a few other books I found to be enjoyable and well-written: Programming Erlang by Joe Armstrong Programming Elixir by Dave Thomas Seven (more) Languages In Seven Weeks by Bruce Tate Think Bayes, Think OS, How To Think Like A Functional Programmer (Think OCaml) and The Little Book of Semaphores by Allen B. Downey
- joshvm 11y agoCode by Charles Petzold Not so much programming, but very good if you're interested in how your computer actually works.
- mdm_ 11y agoMy favorite is Javascript: The Good Parts by Douglas Crockford. It's clear, concise, the railroad diagrams are super helpful, and from what I've seen of Crockford's lectures on YouTube, it also really captures his voice.
- tswartz 11y agoGeek Sublime by Vikram Chandra. The connections between the worlds of art and technology. http://www.amazon.com/Geek-Sublime-The-Beauty-Code/dp/1555976859 http://www.amazon.com/Geek-Sublime-The-Beauty-Code/dp/155597...
- abecedarius 11y agoKnuth: he's an excellent writer with a sense of humor. Anything coauthored by Kernighan is a good bet, though the material is not quite so ageless. Similar remarks for P.J. Plauger. Norvig doesn't just write exquisite code, but good prose too. I always liked Abelson & Sussman's style, even though it's more textbookish. Abelson also co-wrote Turtle Geometry, which is almost unknown these days and still eye-opening. (It's more of a math book than a programming one, but its point is to be both.) Daniel Hillis: The Pattern on the Stone, The Connection Machine. Richard O'Keefe, The Craft of Prolog. Jon Bentley. I remember pg's On Lisp as good.
- cfeduke 11y agoAny book written by Charles Petzold is an enjoyable read, though particularly the non-MS specific titles Code and The Annotated Turing. Java Concurrency in Practice (2006) is older but relevant and clearly describes concurrency on the JVM. A must read for any Java, Scala, Clojure, etc. software engineer; well-written, enjoyable, concise. Practical Object Oriented Design in Ruby by Sandi Metz is a fun read packed with good principles for working in Ruby that are applicable in general to object oriented programming. Smalltalk Best Practice Patterns by Kent Beck is worth a read because the general principles are applicable to any OOP language. Clean Code by Robert Martin is excellent but a time commitment. (If you had to pick between SICP and Clean Code because time is at a premium I'd err on the side of Clean Code for practicality. Writing maintainable code is paramount.) The Joy of Clojure (Fogus/Houser) is excellent and mentally digestable even if you have no Lisp or Clojure background.
- why-el 11y agoI second this recommendation. "Code" is a very enjoyable read indeed.
- akbar_R 11y agoTaming text http://www.amazon.com/Taming-Text-Find-Organize-Manipulate/dp/193398838X http://www.amazon.com/Taming-Text-Find-Organize-Manipulate/d... Natural Language Processing with Python http://www.nltk.org/book/ http://www.nltk.org/book/
- jashkenas 11y agoYo progg'n books — I'm really happy for you, I'll let you finish, but The Poignant Guide is one of the best books on programming of all time. One of the best of all time! http://mislav.uniqpath.com/poignant-guide/book/chapter-1.html http://mislav.uniqpath.com/poignant-guide/book/chapter-1.htm...
- alphaBetaGamma 11y agoWhile on this subject, would anybody recommend a book in french? It would be for my nephew who is quite smart, high-school age, and knows java an python. I would like to expose him to something different: lisp, or functional programming.
- kod 11y agohttp://pagesperso-systeme.lip6.fr/Christian.Queinnec/WWW/LiSP.html http://pagesperso-systeme.lip6.fr/Christian.Queinnec/WWW/LiS... Might be jumping in at the deep end if he's never seen lisp before, but it was originally published in french...
- pels 11y agoC# in Depth by Jon Skeet is amazing and is great to brush up your C# skills! A word of warning though: it's excellent for developers with experience in .NET, but does not serve as an introduction to the language/framework. The knowledge is not easily applicable to other languages either. That aside - it is still the best programming book I've read thus far.
- mavelikara 11y agoFunctional Programing in Scala (http://www.manning.com/bjarnason/ http://www.manning.com/bjarnason/) More recent than most books mentioned here, but I found it remarkably well-written. Irrespective of what happens to Scala, this book has a good chance to be useful 10 years from now.
- deepaksurti 11y agoThe Elements of Computing Systems: http://www.nand2tetris.org http://www.nand2tetris.org. A great, fun, do it yourself projects with subtle hints to move forward. Helps you lay a good foundation for programming. Helped me a lot when I ventured into 3D graphics and game programming.
- burncycle 11y agoAccelerated C++ by Andrew Koenig and Barbara Moo (http://www.amazon.com/Accelerated-C-Practical-Programming-Example/dp/020170353X http://www.amazon.com/Accelerated-C-Practical-Programming-Ex...). One of the best introductory programming books, and one of the best introductory books in general, that I've ever read.
- cosmolev 11y agoIt's not even published yet, but based on the 7 of 11 chapters available I can say the book gonna be really fundamental. Designing Data-Intensive Applications The Big Ideas Behind Reliable, Scalable, and Maintainable Systems By Martin Kleppmann http://shop.oreilly.com/product/0636920032175.do http://shop.oreilly.com/product/0636920032175.do http://dataintensive.net/ http://dataintensive.net/ The author has great sense of humor.
- dtamhk 11y agoHigher-Order Perl http://hop.perl.plover.com/ http://hop.perl.plover.com/
- hacym 11y agoAny suggestions on theory books (not exclusively on a language) that isn't too dense? Not looking for a textbook, but something that is a lighter read that can help me with the logical parts of programming.