Live data from Hacker News

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

news.ycombinator.com

231–240 of 344 posts

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

#231
post #229
post #198

Earlier quoted context omitted.

They're indications the book is also not 'language-agnostic', for all of its merits. The language is there for pedagogic purpose.

I don't think a book is "not language agnostic" because two particular languages aren't very good at it. C's lack of closure support is unique among any language still in use, for a variety of reasons. Java... was Java. If you weren't there you may not remember or understand, but at the time OO was at its most dogmatic and either it was an object or it was not included. Anything you could do with a closure could be d…

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

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

#232

"The Design of Design: Essays from a Computer Scientist" by Frederick P. Brooks [1] is language-agnostic and worth reading. It's about software engineering but also about hardware and some different kinds of design outside of IT. From an interview about the book [2]: > Eoin: Your new book does talk about software design in places, but it’s really about design generally, and the case studies span buildings, organizati…

Just purchase this book after finding a pdf, it's really quite great, until you get to View/360 and get jealous.

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

#234

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

CTMCP is awesome indeed, one of my favourite along with SICP I would say.

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

#235
Not exactly language-agnostic, nor about programming per se, nor a book, but [Google Style Guides](https://github.com/google/styleguide) offer a lot of specific, opinionated, practical advice that you can apply immediately. It's like an MLA manual for programmers.

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

#237
post #153

Earlier quoted context omitted.

"the book seems too old" 2004 is old now? Really? Honestly, good books don't age as long as their core domain stays valid. Structurally C++ is pretty much the same as when the book came out.

Modern IDEs can deliver many of the recommendations of the book. Our productivity has increased a great deal. Back then there was no intellisense, code navigation through clicking on method names/classes etc. highlighted syntax errors, built-in unit test frameworks etc. It was written for a different type of developer and a different type of development environment and a specific language, C++. You haven't looked at…

"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.

"This is a completely different language now and the code you write looks nothing like 2004 C++ code."

Are you trolling? This reads like a transcript from a TV commercial.

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

#239

Earlier quoted context omitted.

Me and a friend continually send IM's to each other, "LEAN ON THE COMPILER!". That statement alone, one of the sections of the book, recommending you to allow the compiler to find your errors for you, is an example of the "age" of the book. At the time I read it, when it first came out, I loved it. I still love Michael's work and advice to this day, but this book was written for another time.

I do not understand this. It seems like a perfectly good advice, and in fact it's what I'm doing every day - leaning on my compiler, and in Java world, on my IDE. And also it seems to be something lots of programmers don't realize for some reason - many times I had to instruct people to crank up their compiler warning settings and actually read them . Especially in C-land, I can't count the number of times I solved s…

My point was that with a modern IDE we can do that without resorting to a full compile, which can be burdensome with large codebases.

The IDE space has improved a lot since 2004, eg. Jetbrains' tools around refactoring and code cleanup suggestions, make things super simple.

Don't get me wrong, I've read this book, multiple times, it's on my bookshelf and think it's a great book, but it was written when the state of development was a much different landscape, IMO.

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

#240

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

Writing a parser is broadly applicable to a wide range of problems, not just writing a compiler.

The criticism is that the strongest part of the book is focused on writing compiler compilers - that is, writing tools that write parsers - not writing parsers.
Post reply on HN