DEV Community

Discussion on: Learning to love software development books 💙

Collapse
 
gypsydave5 profile image
David Wickes

After reading POODR and doing some research I realized that actually there are many great books that don't get outdated instantaneously.

This is an insight that gets lost among the (here I go again) flood of Learn Framework X Version 8.6.5 books that get churned out - one for each major publisher for every damn iteration every library.

A good programming book should teach the long-lived abstractions that much of our industry is built on. Things like object orientation, functional programming, modular programming, the Web, HTTP, REST, command query responsibility seperation, event sourcing. These are things that have been around for a very, very long time and are not going to go out of fashion.

What you should not read books about is some highly contingent currently used implementation of the above. This is what Stack Overflow is for. But by knowing what abstractions are used when talking about and designing software you'll have a much better chance of understanding (and so using) the latest tools.

I still ❤️ The Mythical Man Month, which is a ridiculously old book. I'd recommend reading REST in Practice too.

But if I was recommending one incredible book on programming it would be Land of Lisp. It's not the best programming book. It's not the best Lisp book if you want to learn Lisp. But it's definitely more fun than I've had reading any other programming book. You'll learn a lot. Maybe not things you wanted to know or needed to know, but at least you'll enjoy yourself.

A small taster - keep scrolling! 😉

Collapse
 
lightalloy profile image
Anna Buianova

Great points, David.
I also found it useful to read books on fundamental topics (like oop, patterns, fp, ddd) applied to the languages I use. It helps a lot to get into the topic and start using what I've learned.
Of course, I don't limit myself to only books using "my" languages, especially when getting familiar with the topic.

Collapse
 
gypsydave5 profile image
David Wickes

It's true! I'm not at all experienced with Java, C#, Python, C and C++ - but I find it really important to be able to read those languages just to understand code examples in books.

Especially Java - it's like a lingua franca for developers. Still hate it though 😁.

(I wasn't going to mention DDD, but since you did: I find the Eric Evans book amazing even though I can never manage to finish it...)

Thread Thread
 
lightalloy profile image
Anna Buianova

Can relate :D I'm currently reading "Working Effectively with Legacy Code" by Michael Feathers and it's full of examples in Java and C++ (and I'm a rubyist). So Java is the easier one :)

As for the DDD, I have one of the big DDD books in paper (not the Evans' one) and am not sure if I'll ever finish it, but I do read bits of it from time to time. Another problem is that it's in Russian and I have to sometimes search the terms to find out what the translator meant and if the translation is correct.
I found useful to read at least "DDD quickly" to get into the topic. There's also a book "DDD distilled".

Collapse
 
karataev profile image
Eugene Karataev

Never heard about "Land of Lisp" book before, but the Music Video on the website is awesome 😀