Ask HN: What language-agnostic programming books should I read?
271–280 of 344 posts
Re: Ask HN: What language-agnostic programming books should I read?
#272Re: Ask HN: What language-agnostic programming books should I read?
#273Earlier quoted context omitted.
I'll second The Art of Unix Programming - despite the title, it has many broad programming and software architecture lessons, and "The Unix Philosophy" is applicable far beyond Unix.
I have a pretty negative opinion on ESR these days. I could find technical arguments about many aspects of his good pieces of writing, and much of his writing is not good. His abilities as a coder are not generally remarkable, either. But mostly I don't think he's a good person. I would probably not say "Don't read ESR", but I think it has to be "Read ESR* " *but be aware that he's a polarizing figure and opinions of…
Re: Ask HN: What language-agnostic programming books should I read?
#274* "Refactoring: Improving the Design of Existing Code" Martin Fowler (978-0201485677)
* "Computer Systems: A Programmers Perspective" Randal E. Bryant (978-0134092669)
Re: Ask HN: What language-agnostic programming books should I read?
#275"Thinking Recursively" by Eric Roberts. Completely changed the way I think about recursive programming and easy to pick up. https://cs.stanford.edu/people/eroberts/books/ThinkingRecurs...
I'd venture that besides recursion, the other key concepts in programming have been pointers and first-class functions. Getting a grasp on these 3 ideas has been essential to learning.
Re: Ask HN: What language-agnostic programming books should I read?
#276Earlier quoted context omitted.
when you start to get to the parts about abstracting a circut, and making it streamy/lazy, you'd find that the impl details of a non-lazy language can make it more difficult than it needs to be. Also, as a beginner, you don't want both the difficulties of contepts _and_ the difficulties of language to combine to stop you from learning as effectively.
But Scheme isn't a lazy language - granted, you'll need a language that supports first class functions to lift their implementation of a stream though. >Also, as a beginner, you don't want both the difficulties of contepts _and_ the difficulties of language to combine to stop you from learning as effectively. Are you referring to the need to learn Scheme to work through SICP? While the asker specifically requested la…
That's not particularly demanding requirement. The class began with a single lecture about how Scheme worked and after that Hal and Gerry assumed you knew all the language you needed to and dove in.
When the course was introduced (early 80s), most incoming MIT freshman had not programmed a computer (!), including those who planned to do course 6 (EE or CS -- 6.001 was a requirement for either degree).
Re: Ask HN: What language-agnostic programming books should I read?
#277Definitely, definitely, Kernighan and Plauger's 1976 book _Software Tools_. The code is in RATFOR (a structured dialect of FORTRAN) but all the ideas are language-independent. It remains, four decades on, the best book I have ever read on how to solve the real problems of real program development. Very practical, and covers a vast amount of ground. (As it happens, I am re-reading it right now.)
Re: Ask HN: What language-agnostic programming books should I read?
#278Earlier quoted context omitted.
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 d…
Re: Ask HN: What language-agnostic programming books should I read?
#279Definitely, definitely, Kernighan and Plauger's 1976 book _Software Tools_. The code is in RATFOR (a structured dialect of FORTRAN) but all the ideas are language-independent. It remains, four decades on, the best book I have ever read on how to solve the real problems of real program development. Very practical, and covers a vast amount of ground. (As it happens, I am re-reading it right now.)
There is also an edition using Pascal, "Software Tools in Pascal" from 1981, which might be a little more accessible than the RATFOR edition. I fully agree with the recommendation as such, though.
Re: Ask HN: What language-agnostic programming books should I read?
#280Earlier quoted context omitted.
I think a good book that helps you understand a complex piece of software is a good read for programmers, regardless of the use you make of that software. Additionally, I don't see how the need to know about the internals of MySQL means one should use a better database. PostgreSQL is normally proposed as the better alternative to MySQL if one sticks to Open Source, and all the good experts at it I have met were famil…
You seem to have misinterpreted my objection. There are better books on databases, and MySQL is not necessarily a good example of a database. It tends to do things in its own way. When you get into the sort of situation where the difference between 'how MySQL does things' and 'how things are supposed to work' matters, then typically it's MySQL that's quirky.
I think your last sentence is what caused me to misinterpret you. I agree with your comment up to "... being a good database.", but I think the point at which you need to know the internals of MySQL are irrelevant to whether you should use a database that is better for the problem you're trying to solve or not.