Rendered at 09:28:55 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
wglass 8 hours ago [-]
For me it was "J2EE Development without EJB" by Rod Johnson / Jurgen Holler, published in 2004. In the late 90's and early 2000's Sun insisted you could build industrial scale web applications with Java, but only with complicated frameworks running on heavy application servers that cost tons of money.
Rod Johnson showed how you could code in a lightweight, highly productive fashion with Pojos (Plain old Java Objects) and still scale. The principles were generic but became the foundations of the Spring framework that took over the ecosystem.
"Hibernate in Action" by Gavin King is another that came out around the same time. Again, a book on generic ORM principles, focused on a particular library. It also rejected the old orthodoxy and became the new standard.
vincent-manis 10 hours ago [-]
There are 2 more that I would add, both books I read as an undergraduate nearly 60 years ago. First, Marvin Minsky's Computation: Finite And Infinite Machines (published 60 years ago). Not the latest word in automata theory, but as a first year student, I could read it and understand the issues he was addressing. Second, reading the First Edition of v.1 of The Art of Computer Programming (which of course Knuth has revised several times) was what convinced me that there was a difference between computer programming and computer science. Needless to say, there was much in TAOCP that I didn't understand, but showing me the relationship between computer programming, computer science, and mathematics really did change my life.
galkk 5 hours ago [-]
To me the book that changed the way I think is “pragmatic programmer”. I haven’t re-read it in a while, but for a long time it was my first recommendation.
——-
And I was recently thinking about books that my opinion has significantly changed about the longer I’m in my career, I realized that “Peopleware” truly sucks. It is such feel good fairy tale, that actually harms the reader. The real world is much different and much more cynical.
Jtsummers 10 hours ago [-]
I'm curious why people are upvoting this listicle. Take this example from it:
> Paradigms of Artificial Intelligence by Peter Norvig. Learning the AI described in this book probably won’t land you a job today. But reading the code examples will transform how you think about source code. The book shines when it comes to code comments, a topic that I’ve never seen demonstrated well in other sources. Here we get to see how comments become valuable as a narrative that explains both intent and reasoning. Brilliant, just brilliant.
First, that's not the title of the book. It's Paradigms of Artificial Intelligence Programming. Second, why would you recommend a book because of comments in code. I checked the code, it has good docstrings, it does not have that many comments beyond that. The commentary (rather than code comments) is the book itself.
And I like this book, but the reason to recommend it is not the code comments (which barely exist outside of his very consistent use of docstrings). The reason to recommend it now (versus back in the day when GOFAI was just AI and the book had more obvious utility) is that you get to see how an expert programmer thinks, Norvig is among the best expositors of programming and CS topics, and seeing how he crafts programs to solve interesting problems is insightful. What's also nice is that he often doesn't start with a worked solution, but also shows some false starts and how he would progress from conception of an idea to trying some things out to a good solution. You actually get a glimpse into how he thinks through things.
So yeah, good suggestion and it impacted me (had it for a course in grad school decades ago), but this "review" is awful and is entirely unconvincing as a recommendation.
The rest of the reviews are only slightly better.
tedggh 6 hours ago [-]
Effective Java by Joshua Bloch helped me grow from amateur to decent developer. And I never wrote a line of Java.
dcvr 12 hours ago [-]
Good recommendations.
_doctor_love 10 hours ago [-]
An unsung hero for me is Refactoring to Patterns by Joshua Kerievsky. That one really shows how to tie it all together in my opinion.
Rod Johnson showed how you could code in a lightweight, highly productive fashion with Pojos (Plain old Java Objects) and still scale. The principles were generic but became the foundations of the Spring framework that took over the ecosystem.
"Hibernate in Action" by Gavin King is another that came out around the same time. Again, a book on generic ORM principles, focused on a particular library. It also rejected the old orthodoxy and became the new standard.
——-
And I was recently thinking about books that my opinion has significantly changed about the longer I’m in my career, I realized that “Peopleware” truly sucks. It is such feel good fairy tale, that actually harms the reader. The real world is much different and much more cynical.
> Paradigms of Artificial Intelligence by Peter Norvig. Learning the AI described in this book probably won’t land you a job today. But reading the code examples will transform how you think about source code. The book shines when it comes to code comments, a topic that I’ve never seen demonstrated well in other sources. Here we get to see how comments become valuable as a narrative that explains both intent and reasoning. Brilliant, just brilliant.
First, that's not the title of the book. It's Paradigms of Artificial Intelligence Programming. Second, why would you recommend a book because of comments in code. I checked the code, it has good docstrings, it does not have that many comments beyond that. The commentary (rather than code comments) is the book itself.
And I like this book, but the reason to recommend it is not the code comments (which barely exist outside of his very consistent use of docstrings). The reason to recommend it now (versus back in the day when GOFAI was just AI and the book had more obvious utility) is that you get to see how an expert programmer thinks, Norvig is among the best expositors of programming and CS topics, and seeing how he crafts programs to solve interesting problems is insightful. What's also nice is that he often doesn't start with a worked solution, but also shows some false starts and how he would progress from conception of an idea to trying some things out to a good solution. You actually get a glimpse into how he thinks through things.
So yeah, good suggestion and it impacted me (had it for a course in grad school decades ago), but this "review" is awful and is entirely unconvincing as a recommendation.
The rest of the reviews are only slightly better.