Not really programming books, but these have helped me with programming jobs. -How to make friends and influence people. Anyone who works collaboratively with people needs to be able to communicate effectively. -The Elements of style. Writing understandable code is similar to any other type of writing.
Ask HN: What language-agnostic programming books should I read?
111–120 of 344 posts
Re: Ask HN: What language-agnostic programming books should I read?
#112Re: Ask HN: What language-agnostic programming books should I read?
#113Let Over Lambda . Not entirely agnostic, but delves into Forth, Smalltalk, C, Scheme, and Perl while overall being about Lisp. Fascinating book; really a look at metaprogramming (macros) and closures (that's what "let over lambda" is).
Whilst being a great book, you are definitely correct in your assertion that this book is not agnostic!
Re: Ask HN: What language-agnostic programming books should I read?
#114Psychology of Programming
=========================
1. "Psychology of Computer Programming" - Gerald M. Weinberg
2. "Software Design – Cognitive Aspect" by Francoise Detienne
3. "Thinking Fast and Slow" by Kahneman and Tversky
4. "Drive: The Surprising Truth About What Motivates U" by Daniel Pink
Book 1 is a really nice read and touches a lot of the social and workplace aspects of computer programming. Book 2 is more focused on modern research of program comprehension in relation to cognition. It's a little older, and often just scratches the surface, but they both nicely show that a lot of social and psychological factors are relevant for programming, independent of the programming languages developers use. 3. and 4. add some more background infos to it if you want to dive deeper.
Career Development
==================
- "Hackers and Painters" - Paul Graham
- "The Passionate Programmer" - Chad Fowler
In addition to the Pragmatic Programmer which has been mentioned in other comments, these books really helped me understand where I wanted to be as a programmer.
Technology
==========
With a stronger focus on technology I recommend:
- "Language Implementation Patterns" - Terence Parr
- "A Retargetable C Compiler: Design and Implementation" - Hanson, Fraser
I found them more helpful than the Red Dragon Book. The latter is good, but as a beginner I felt a little lost and Terence Parr's book was much more helpful.
Practice & Karate
=================
- "Elegant Objects" by Yegor Bugayenko
- "Working Effectively With Legacy Code" - Michael Feathers
- "Growing OO Software, Guided by tests" - Pryce, Freeman
- "Test Driven Development" by Kent Beck
And, this last one I can't recommend enough:
"XUnit Test Patterns" by Gerard Meszaros
Kent Beck's TDD is good book to start with. Even if you feel like you have got testing figured out, you should try TDD. It has more to do with discipline and getting things done, rather than writing code fast or smart or efficiently. Someone I follow on twitter once called it "thinking at sustainable pace", which is really what TDD is about. A lot of people are simply offended by the idea to "test first". To me, "test first" is roughly equivalent to "think before you code". Maybe this is what others find offensive.
As for an advanced view on testing, Gerard Meszaros's book is really good. It is a catalogue of testing patterns that helps to structure testing code in a nice way.
Depending on OP's skill I would recommend the following: Be very carefull with the following books:
- Design Patterns - Gang of Four
- Patterns of Enterprise Application Architecture
- {Doing Anything with} Domain Driven Design
These books are really valuable, but somewhat problematic. Sometimes they will give you a hammer and make everything look like a nail. Sometimes they make it easy to focus on the wrong things. They come over as precise and clear, but really aren't, which will cause discussions and poor choices. On the surface, they sound nice, simple and friendly, but on a deeper level, they are really difficult to understand.
If you want to read them, I encourage you to do so with your colleague and discuss them critically. Maybe you can have a wednesday afternoon bookclub meeting at your company. We once did that for "Working Effectively with Legacy Code".
I collected some more suggestions on a trello board a while ago, which should be accessible here:
https://trello.com/b/lw96ei6d/books
If you wish to contribute, just let me know. Then initial collection started when we got together after an open space.
BTW: Thank you all for your suggestions! I will add some of your recommendations to the trello board.
Re: Ask HN: What language-agnostic programming books should I read?
#115Not really programming books, but these have helped me with programming jobs. -How to make friends and influence people. Anyone who works collaboratively with people needs to be able to communicate effectively. -The Elements of style. Writing understandable code is similar to any other type of writing.
I swear I've had this book recommended to me at least a thousand times, I'm almost suspicious though I don't know that suspicious is the right word
Re: Ask HN: What language-agnostic programming books should I read?
#116One that hasn't been mentioned yet: "Coders at Work". A very enlightening book about how some of the best programmers in the world approach the craft in their own words.
Re: Ask HN: What language-agnostic programming books should I read?
#117Re: Ask HN: What language-agnostic programming books should I read?
#118Earlier quoted context omitted.
The Art of Motorcycle Maintenance?
I believe he was talking about Zen and the Art of Motorcycle Maintenance: An Inquiry Into Values ( https://www.amazon.ca/Zen-Art-Motorcycle-Maintenance-Inquiry... ). It's a nice fiction book that goes into how different people view the world. At least that's what I've gotten out of it so far, I'm only about a quarter of the way through it so I might be missing some of the things it covers.
Re: Ask HN: What language-agnostic programming books should I read?
#119Re: Ask HN: What language-agnostic programming books should I read?
#120"The Elements of Style" by Strunk & White. Not exactly a standard programming book. Not really language-agnostic either -- quite English-centric. I here assume your source code will be read by others; or by yourself after more than three months has passed.