Live data from Hacker News

Ask HN: What language-agnostic programming books should I read?

news.ycombinator.com

251–260 of 344 posts

Re: Ask HN: What language-agnostic programming books should I read?

#252

Some of the most interesting books I've read in support of my software-development work are: * "Compilers: Principles, Techniques, & Tools" by Aho et al. (i.e., "the dragon book") * "Data Flow Analysis: Theory and Practice" by Khedker et al. * "Understanding MySQL Internals" by Sasha Pachev. * "Transaction Processing: Concepts and Techniques" by Gray and Reuter. * "Fundamentals of Wireless Communication" by Tse and V…

+1 for the "dragon book". Though the criticism about it being too focused on lex/yacc-era compilers and not being relevant today might have a point, I still find the mix of pragmatism and formal language theory absolutely worth the read, stylish/Unix-y, and even entertaining - for me, truly a hallmark of "American-style" comp.sci. standard literature (as opposed to more theoretical expositions to the topic).

Also, Donald Knuth's "The Art of Programming" (at least the fundamental and sorting/searching algorithms books), plus a book about graph theory and algorithms.

Re: Ask HN: What language-agnostic programming books should I read?

#254
post #245

Earlier quoted context omitted.

Don't read the dragon book if you're interested in compilers. It's lex and parse heavy, and is not up to date with more recent best practice on codegen. Further, the lex and parse end of it is focused on the kind of theory you need to build tools like lex and yacc, rather than stuff you need to know if you want to write a compiler. For a good intro of modern back end development, check out Engineering a Compiler. It'…

Don't read only the Dragon book if you're interested in compilers (or parsing in general). But it should be read, in addition to whatever else you read on the subject. It's classic for a reason. Most programmers don't understand parsing worth a crap, imho. Some compiler theory would do most of us some good. I read it because I was doing data stream parsing back in the olden days before XML (which was before JSON), wh…

I also found my theory-of-computation course in college to be a wonderful help in understanding parsing.

Being familiar with the Chomsky Hierarchy ([1]), and the kinds of language recognizers required for each level in that hierarchy, can save parser authors a lot of wasted time.

E.g., "regex's can't count!"

[1] https://en.wikipedia.org/wiki/Chomsky_hierarchy

Re: Ask HN: What language-agnostic programming books should I read?

#255

The Cuckoo's Egg by Clifford Stoll . This book taught me how important it is to keep a log of events. These logs come in very handy when the problem one trying to debug spawns multiple complex systems.

Seconded. This is also a great read on how to track down a deep problem, going through all of the steps required to figure out where it was coming from. That's on top of it being an entertaining view of early computer networking.

Re: Ask HN: What language-agnostic programming books should I read?

#257
post #241
post #231

Earlier quoted context omitted.

The book is not language agnostic because it's not language agnostic, mostly. The fact that many other languages are a poorer fit for what it's trying to teach is pretty much the definition of 'not language-agnostic'.

I don't know what task could possibly exist for which there are not significantly better and worse languages. Even today's "list of practical projects that anyone can solve in any programming language" [1] I can see at a casual glance that any of them that are not simply trivial will have better and worse languages. A definition of "lanugage agnostic" that either covers no tasks, or covers only very trivial tasks, is…

I'm not sure what any of these logical contortions have to do with SICP being 'language agnostic'. It isn't. The first section of the first chapter talks about why a Lisp dialect is used. This is the first figure.

https://mitpress.mit.edu/sicp/full-text/book/ch1-Z-G-1.gif

Etc.

Re: Ask HN: What language-agnostic programming books should I read?

#258
post #224
post #3

I really like: - Code Complete by Steve McConnell - The Effective Engineer by Edmond Lau - The Pragmatic Programmer by Andrew Hunt and David Thomas

I agree with your 1st and 3rd titles. Both are really fundamental and highly recommended. Will check out the 2nd one.

Yes, The Effective Engineer is newer and not so well known. I wrote about why I like it here: https://henrikwarne.com/2017/01/15/book-review-the-effective...
Post reply on HN