Live data from Hacker News

Ask HN: Top 10 Timeless Software Books That ChangedLife as Software Engineer?

news.ycombinator.com

31–40 of 72 posts

Re: Ask HN: Top 10 Timeless Software Books That ChangedLife as Software Engineer?

#31
post #5

Did you get this booklist from ChatGPT?

I don't think so as he got at least one title wrong: Head First Design Principles should be Head First Design Patterns.

Right, because ChatGPT is never wrong.

Re: Ask HN: Top 10 Timeless Software Books That ChangedLife as Software Engineer?

#33
post #12

'A philosophy of software design' by John Ousterhout, great book which provides good understanding of what complexity in software means. Very concrete and short.

Yes, this book is excellent. And it's an antidote to some common advice that really isn't very good.

Yeah I feel the same. Its more of a philosophy. Its good to learn but hard to implement in this fast pace development process. It make sense if you have big team which job is to assess the quality of the code

Re: Ask HN: Top 10 Timeless Software Books That ChangedLife as Software Engineer?

#34
post #14

Thanks for the list, here it is again: 1. Code: The Hidden Language of Computers (Pure Basic: Starting with Binary) 2. Working Effectively with Legacy Code (Dealing with an ugly codebase) 3. Refactoring Improve the design of the existing codebase (Making changes safely without breaking the code) 4. Test-Driven Development (TDD) (Once you’ve learned all the above, you always start writing tests first) 5. Head First De…

>4. Test-Driven Development (TDD) (Once you’ve learned all the above, you always start writing tests first) I've seen like bilion discussions about TDD and I still dont understand why is it so overhyped. Additionally it sucks that for some people you either do TDD or dont write tests at all (what the f...., indeed) This whole red-green step in TDD makes complete no sense when you're writing new code. The only value p…

For me TDD really helps when I am trying build business logic but its hard to follow when you want to test the UI logic Because the UI test work behave differently than the actual application

Re: Ask HN: Top 10 Timeless Software Books That ChangedLife as Software Engineer?

#35
post #2

The Pragmatic Programmer - I read this book when I was programming professionally for maybe 5 or so years, so I already had my basics covered, but reading this book really expanded my horizons on what it means to create software profesionally. I read, maybe, 100 books about programming since and before then, but no other book changed my thinking that much like this one.

The Pragmatic programmer is actually a short summaries of all those top 10 books :D

I wrote it about here : https://burhanrashid52.com/the-pragmatic-programmer/

Re: Ask HN: Top 10 Timeless Software Books That ChangedLife as Software Engineer?

#36

In another thread I mentioned Peopleware: productive projects and teams. Even the best programming book in the universe won’t help if the environment, leadership and team don’t support your efforts. this book is about that and how to give creative knowledge workers the environment and tools they need and then get out of their way and keep others out of their way as well. A great read whether you’re wearing a programm…

Yeah…half of approaches the book talk about is inperson offices which is changing is right now.

Re: Ask HN: Top 10 Timeless Software Books That ChangedLife as Software Engineer?

#38

Earlier quoted context omitted.

>4. Test-Driven Development (TDD) (Once you’ve learned all the above, you always start writing tests first) I've seen like bilion discussions about TDD and I still dont understand why is it so overhyped. Additionally it sucks that for some people you either do TDD or dont write tests at all (what the f...., indeed) This whole red-green step in TDD makes complete no sense when you're writing new code. The only value p…

I don't use the proscribed TDD process very often, but I use the TDD mindset all the time to great effect. Listing out the tests you're going to write before you write the code (even mentally) can be considered a continuation of the requirements-gathering process. And thinking about how you're going to test your code before you write it will, in my experience, improve the design. (Particularly, it seems to encourage…

>Listing out the tests you're going to write before you write the code (even mentally) can be considered a continuation of the requirements-gathering process.

But this is not TDD.

I've worked in HW industry where cost of bugs is high and we analyzed specs during brainstorming session as 3-5 ppl and brainstormed test cases that we want to test.

It worked well because this way we we're finding way more things to test than when doing it alone.

But still, this is not TDD. We weren't doing TDD.

>(Particularly, it seems to encourage the single-responsibility principle, as code that's doing too much or combining layers of abstraction is really hard to test.)

Whether your code is easily testable will be challenged by writing tests regardless of the moment of writing test - before or after writing impl.

So no benefit from TDD over non-TDD approach.

Re: Ask HN: Top 10 Timeless Software Books That ChangedLife as Software Engineer?

#40

"Programming: Principles and Practice Using C++" by Bjarne Stroustrup, the creator of C++. I learned programming first time from this book and I think I'm so lucky that I've done it. The book is about philosophy and the mindset of programming more than introducing some tools or techniques, so we can consider it as "timeless".

I’ve heard about this book but didn’t read because I didn’t got chance to work on a C++ project.
Post reply on HN