Live data from Hacker News

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

news.ycombinator.com

291–300 of 344 posts

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

#291
post #237

Earlier quoted context omitted.

"You haven't looked at C++ lately if you think it's the same as it was in 2004." "If you're writing C++ code that is consistent with 2004 C++ then you're writing a really bad version of "C with classes", not C++." I applaud your attempt at an authoritative voice. But you focus on mostly technical trivia that are thin scaffolding on top of the language. I agree modern C++ is nice but it's the same language still. "Thi…

They sound like they're echoing the kinds of things that are normally said about C++11. > I agree modern C++ is nice but it's the same language still. Well...in the same sense that any language is the same language after you add a bunch of things to it that weren't there before and shift to using those new features as idiomatic parts of the language. I would expect C++ written in 2004 to use different patterns than C…

Idiomatic sounds like preference to dogmatism rather than pragmatism which is generally the worse tradeoff.

I would say generally C++ style has evolved through last decades with people understanding class based architecture as an antipattern and data pipelines based on preferably immutable data as the more robust and understandable approach. This has nothing to do with language standards or 'idiomatic' constructs - both can be expressed as perfectly elegant C++, using the '98 or '11 or '17 variant.

But anyway, within this context - refactoring old code - I would not expect a legacy codebase to resemble 2017 C++ as much as 1997 C++. This is the main reason I find the claim of methods to understand circa 2004 C++ to be outdated to be silly.

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

#292
- The Practice of Programming ; Kernighan and Pike

- The Advent of the Algorithm ; Berlinski

- Engineering a Compiler ; Torczon and Cooper

- Advanced Programming in the Unix Environment ; Stevens and Rago

- Databases, Types, and the Relational Model ; Date

- Code ; Petzold

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

#293

Books I'll treasure forever: - Advanced Programming in the Unix Environment by Stevens - Operating Systems: Design and Implementation by Tanenbaum - The Art of Unix Programming by ESR - Parsing Techniques by Grune and Jacobs - Applied Cryptography by Schneier

> - The Art of Unix Programming by ESR

Yes. TAOUP has a lot of good content about Unix programming styles and traditions, much of it useful generally. ESR's writing style is a bit heavy / verbose / uses verbal flourishes, but if you can let that not put you off, the book is worth reading. I've read most of it. One of the good sections is about Rules (of programming in Unix, which are not really rules, of course, but informal guidelines developed over many years of experience by many people - ESR has sort of codified them, a thing he tends to do a lot :)

The Rule about separating the interface from the implementation is a good one. I've seen developers at even enterprise companies sometimes not follow it in practice.

> - Parsing Techniques by Grune and Jacobs

Just saw that there is a new edition of this book:

https://dickgrune.com/Books/PTAPG_2nd_Edition/

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

#294

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…

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'…

Hey, I seconded this, the Dragons Book is not the best textbook or introduction to the topic, there are a lot of better ones. The Dragons Book is more of a classic. If you want to read a good book on compilers construction then you're better off reading "Engineering a Compiler" by K. Cooper and L. Torczon or "Modern Compiler Implementation in ML" by A. Appel.

If you want more resources on Compilers other than books, such as tutorials, guides, talks and papers, then go ahead and check the Awesome Compilers vertical I compiled a while ago: https://github.com/aalhour/awesome-compilers

Cheers!

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

#296
post #289

The Reasoned Schemer: https://mitpress.mit.edu/books/reasoned-schemer Learning more and more about imperative programming, OOP, design patterns, etc is good, but branching out into declarative programming and the functional and logic paradigms will stretch your mind for the better. The great thing, I think, about The Reasoned Schemer is that it tackles a complex topic with almost no prose. The whole book is basically…

The Reasoned Schemer sounds like it was part of a series, is that right? I remember reading about The Little Schemer and maybe The Seasoned Schemer. Are those all parts of the same series? Haven't read any of them yet, but hope to do so some day.

I like reading the classics of the field. Not only because they are classics, but also because they tend be well-written and hence more readable as well (than your average text). But maybe that is a tautology :) - they are classics because they are well-written ...

Update: Answering my own question - I saw here:

https://mitpress.mit.edu/books/reasoned-schemer

that it is part of a series, which includes the books I mentioned above.

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

#297
post #270
post #69

Its odd that no one mentioned it but head first into design patterns is a great/light book on design patterns....

They might work for some, but I always find all the "Head First" books to be very fluffy.

I think that is part of their goal / style. They are meant to be lightweight and fun and easy-to-read intros to topics for beginners, who would get put off by more formal / less joke-y prose.

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

#299

Gödel, Escher, Bach: An Eternal Golden Braid by Douglas Hofstadter is about the intersection of music, math, and computers.

And it's playful. It seems like, 20+ years ago, there were a lot more authors who wrote playful tech books. I miss 'em.

Any to recommend?

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

#300

I would recommend "Sorting and Searching" Volume 3 from Donald Knuth's "The Art of Computer Programming". Fantastic, in-depth read.

I also emphatically suggest D.Knuth's "The Art of Computer Programming". Super dense, not like a sit down and read from cover to cover, but really good set to have around.

Another Knuth-related one that is less programming that I found rewarding to read was 'Concrete Mathematics.' It is per its own description a lengthier version of the TAOCP, but it's mostly or entirely exempt of actual code. But because of the subject matter it spawned from it tends to cover math of 'what comes later' so there is a very specific perspective of Knuth style that comes from it and its easier to see the eventual application.
Post reply on HN