Back to the bookshelf

Typographic jacket · original cover not fetched

FROM THE SHARED SHELF · 2006–2026 SAMPLE

Programming Pearls

Jon Bentley

22 readers recommend it across 19 discussions

Topics are model-inferred labels.

Keep it on your reading list

THE WORD OF MOUTH

What made it worth passing on?

Original Hacker News comments, in the readers’ own words.

noufalibrahim
I think it makes sense to create a book list and have a yearly target for them. One book a month is reasonable for medium sized books. HEre are some that I found useful. 1. The Practice of Programming 2. Programming Pearls 3. Go Programming Language 4. Architecture of Open Source applications - https://aosabook.org/en/
vram22
Not all of the ones below may be textbooks, sorry, but IMO they are all very good. I cut my programming teeth on some of them, and read others at different times later in my career. How to Solve It, by Georg Polya. A famous Hungarian mathematician. A text on general problem solving principles or techniques. A classic. How to Solve It by Computer, by Dromey, an AU CS professor. In the same spirit as the Polya book, but applied to iteratively working out algorithms and pseudocode for common important programming problems. The K&R C book. What to say. The Unix Programming Environment, by Kernighan and Pike. Ditto. Programming Pearls, and More Programming Pearls, by Jon Bentley. Among many other things, some clever / advanced uses of awk. Writing Efficient Programs, also by Bentley. I had mentioned it on HN earlier, and someone replied saying they had used it in real life, and it was gold. SQL for Professionals, by authors whose names I forget. The Object Primer, by can't remember who, but good. A Unix book by Kochan, IIRC. Object-Oriented Software Construction, by Bertrand Meyer, creator of the Eiffel programming language.…
warrenm
In my opinion, it's as much a "recommended read" as a lot of other so-called "classics": - Rapid Application Development (also by McConnell) - Soul of a New Machine by Kidder - Mythical Man Month by Fred Brooks - Programming Pearls by John Bentley - Applied Cryptography (2e) by Bruce Schneier - The Cuckoo's Egg by Cliff Stohl - Structured Computer Organization by Tanenbaum & Todd - Design Patterns: Elements of Reusable Object-Oriented Software by Gamma, Helm, etc - A New Kind of Science by Wolfram And many more could be added to this list Sure, some of them use acronyms or reference technology that you've either never heard of or has been supplanted But you could [nearly] do a find-and-replace on those "outdated" terms with a "current" term, and the books would [effectively] be up-to-date Don't get hung-up on specific examples - they're just there to illustrate the problem domain
Parker_Powell
No matter how long you've been a programmer, you're always looking for new ways to hone your craft and learn new techniques. One of the best ways to do that is by reading books on programming—as in, books that are actually about programming. Here's our list of 10 of the best. 1. Code: The Hidden Language of Computer Hardware and Software 2. Clean Code: A Handbook of Agile Software Craftsmanship 3. Refactoring: Improving the Design of Existing Code 4. The Pragmatic Programmer: From Journeyman to Master 5. Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability 6. The Mythical Man-Month: Essays on Software Engineering 7. Structure and Interpretation of Computer Programs 8. Introduction to Algorithms (The MIT Press) 9. Programming Pearls (2nd Edition) 10. The Art of Computer Programming
jcynix
Programming Pearls and More Programming Pearls by Jon Bentley contain short articles "in the realm of insight and creativity." These articles appeared during the 80s in Communications of the ACM, but I think they are still mostly relevant and inspiring today. The second edition from 2000 is online available at https://archive.org/details/ProgrammingPearls2ndEditionJonBe... (https://archive.org/details/ProgrammingPearls2ndEditionJonBentley)

Also recommended in this reply

telltruth
This might sound either obvious or naive but if you are not a CS major, I would really emphasize reading CS textbooks such as CLRS, Programming Pearls, Dragonbook and most importantly textbooks on statistics m probability, linear algebra. There is a pyramid of skills for developers. People who haven’t studied throughly above stuff usually ends up at bottom (aka “enterprise” or “web” or “database” developers). They spend their lives in trivialities of patterns and plumbing and only very rarely doing something interesting such as distributed computing, game programming, systems programming, ML/AI.
mfrw
My take on some which I think should be atleast read once: 1) The unix programming environment 2) The design of the unix operating system 3) The Pragmatic Programmer 4) Programming Pearls 5) Computer Systems: A Programmers Prespective 6) K & R C 7) The art of Unix Programming. PS: I admit my bias towards systems.
emmelaich
All in no particular order.... As a Unix systems engineer, I would choose 1. W.R. Stevens books on Unix and Tcp/ip. 2. Rochkind's Advanced UNIX Programming. 3. Most of the Unix/Linux manual pages. 4. Bash FAQ As a Unix systems programmer I would choose 1. Mythical Man Month 2. Jon Bentley's Programming Pearls. 3. K&R C and Stroustrup C++ 4. A recent Java reference and Bloch's Java Puzzlers 5. a reference and cookbook for the language of your choice -- Python, Ruby, Perl, etc. 6. Google's style guides
petercooper
Programming Pearls by Joe Bentley. And its followup. It's old but it does get you thinking about things. I'd also recommend The Linux Programming Interface by Michael Kerrisk as it teaches so much about what makes modern Unix what it is but.. it's arguably quite oriented around C by necessity. It's not a "C book" by any means though.

Also recommended in this reply

rb2k_
I can recommend "Programming Pearls": http://www.amazon.com/Programming-Pearls-2nd-Edition-Bentley... (http://www.amazon.com/Programming-Pearls-2nd-Edition-Bentley/dp/0201657880) It hasn't a lot of algorithms per se, but it has a lot of examples of how a different view on a problem can lead to an easier/more performant solution. It also does a good job at explaining tradeoffs. I think it's great for people that have had some basic introduction already. [Ref link if anyone feels like it: http://amzn.to/1CnQUQ7]
beagle3
If you will be programming in Java, my condolences. (yes, I'm ready for the downvotes). I'm sure there's some nice Java code out there. I recently agreed to do a Java project, and the 6 months I was at it sucked the joy of programming out of me. I've spent the last few years doing Python, C and K, and in comparison, Java is so bureaucratic that I felt like 10% of my work was advancing towards my goal, and 90% was bureaucracy (compared to 20% bureaucracy in C, 5% in Python and 0.001% in K) And as for books, I recommend Jon Bentley's "Programming Pearls" series, Steve McConnell's "Software Project Survival Guide" and DeMarco and Lister's "PeopleWare". The last two have more to do with project (and people) management than with software engineering - but you will need these skills much earlier than you'd expect, perhaps even in your first couple of months of work. And PeopleWare is a short and enjoyable read, you could put it in the "leisure" pile.
jing
Here's a few I've really liked that have a broader subject matter than only what you asked for. I figure that if you like to read you'd like these books. --- NON-FICTION --- Darkness Visible A Mathemematician's Apology Omnivore's Dilemma Fermat's Enigma The Code Book Born to Run Judgement of Paris Siddhartha Killing Pablo The Victorian Internet Lone Survivor I Hope They Serve Beer in Hell Surely You're Joking Mr. Feynman Papillon Into Thin Air Born on a Blue Day Touching the Void Got Fight The Conquest of Happiness --- FICTION --- Switch Bitch Lost Horizon The Cuckoo's Egg The Simlarillion The Time Traveler's Wife The Alchemist The Count of Monte Cristo A Canticle for Leibowitz Neverwhere My Uncle Oswald Stories of Your Life and Others Invisible Cities Life of Pi Atlas Shrugged --- WALL STREET / FINANCE --- When Genius Failed Liar's Poker Buffett (Lowenstein) Bull! Black-Scholes and Beyond (textbook) Fixed Income Securities (textbook) The Road to Serfdom The Smartest Guys in the Room Fortune's Formula The Fourth Turning Inside the House of Money --- ENTREPRENEURSHIP / COMPUTERS (non-textbook) --- Masters of Doom It's Not About the Bike Dot. Bomb Founders at Work The PayPal Wars…

Also recommended in this reply

warewolfe
Last three books I read were; Atlas Shrugged, Code Complete, The Mythical Man Month, The three books I'm currently reading; flex and bison, Mastering Algorithms in C Expert C programming, The next three books on the "to read" stack are; Cyptonomicom, The definitive guide to GCC, Managing projects with GNU make, Did anyone else find "Code Complete" to be a bit repetitive, in places a bit redundant, and sometimes repetitive? I think the "pragmatic programmer" was a better read, and I could not put down "programming pearls"

Also recommended in this reply

SwellJoe
Try some fiction, instead. It's a vacation. I just finished The Road by Cormac McCarthy a couple of weeks ago. It's really good. That said, if you're going to read programming books, you might want narrative texts rather than "practical" books, since the practical ones require you to also have a computer, and work through the examples and such. Books like Programming Pearls, Beautiful Code, etc. tell stories about code, rather than just show you code (though there are probably moments in either book where the best course of action is to try applying what you've read about).

Also recommended in this reply