Programming books divided by level
Posted by Jagabong@reddit | learnprogramming | View on Reddit | 14 comments
Hello,
Is there a webpage or an article that lists the best programming books divided by levels (beginner, intermediate, expert, and so on)? I couldn't find any!
Thanks
jfinch3@reddit
There probably isn’t for a few reasons.
When you look at something like mathematics, or really most subjects you take in school, you can see this level like structure where most things you learn earlier support nearly everything you learn later. Eventually you have to specialize and your field will have knowledge that is specific to it, and not applicable to other experts.
I’ve found that with programming, it doesn’t really neatly fit into a nice sequence, because it’s far less sequential, and far more parallel. You learn out rather than you learn up if that makes any sense. And you advance in terms of your general maturity, rather than specific knowledge building on each other as theorems imply further theorems.
The other thing is that programming sits in this place between academia and a trade, where there’s a ton of “craft” and professional knowledge that exists in the form of essentially folk wisdom transmitted via forums and blogs, not books.
All that is to say, it’s harder to curate a list like you imagine, and there’s going to be way more disagreement about it when they do.
Here is a list of articles about software which I think are all excellent, but decidedly mostly on the advanced side. These mostly all deal with the wisdom of professional software development, rather than the how-to:
https://refactoringenglish.com/blog/software-essays-that-shaped-me/
777777thats7sevens@reddit
Yeah there's a basic level of knowledge you need (essentially you need to be competent in at least one programming language), and after that you can pretty much start diving deeper in any topic you want. You'll find that some sources assume greater or lesser degrees of background knowledge, but when you come across things you don't understand you can always google that particular thing and learn about it.
Like, to dive deep into OS stuff you're going to have to learn about memory management (if you learned a garbage collected language first), but you'll figure that out when the book you're reading starts talking about pointers and malloc and doesn't explain it -- then you google "what is a pointer" and spend some time learning that and then you'll be ready to go back to the OS book.
Conscious_Bank9484@reddit
Underrated answer.
cyrixlord@reddit
yes, this is a well said answer. books mark an indelible moment in time that quickly becomes obsolete.
captainAwesomePants@reddit
It can be really hard getting reliable categorization like that because people are only beginners one time. We know which books we used, but that doesn't tell us whether they were a good choice. A lot of folks who went to college for CS will cite the books they used, but there they had professors and TAs and such and the books were supplements. This is part of why "what's the best way to start" questions are hard to answer. We only got started one more time than you did. We're not experts on it.
I have found that books that are for absolute beginners are often very clear on that point. As you move up to advanced, the books will become increasingly specific. "Game Programming Gems" is not going to be for absolute beginners. "Proceedings of the Northwest Dilapidated Raycasting Symposium, June '24" is going to be extremely advanced.
dialsoapbox@reddit
I think this is also what drives tutorial hell. People see one video, realize they didn't learn much/anything when trying to do own project, watch another on the same topic to get more exposure to examples, repeat.
cyrixlord@reddit
my experience is that if you start learning from books they become obsolete pretty quickly especially framework books. then within 2 years or so youll have a bookshelf of obsolete books to throw out. I always find online sources, and pay for those types of courses instead of using books.
stubbornKratos@reddit
Don’t think there’s really anything like what you’re looking for.
There’s just too many texts that go in-depth on various different topics. It’s better to identify what things you have interest to learn, or what gaps you currently have as a software engineer and aim to find material that meets that - whether it’s a beginner/intermediate/advanced text doesn’t matter so much.
So it’s better to try build something and see what skills you lack that way, than try to follow a list like you’re describing.
Rif_Reddit@reddit
https://www.programmingbooks.dev/
TheEyebal@reddit
What language are you trying to learn
ilovehaagen-dazs@reddit
i mean you can just look up “programming books for (insert expertise level)”
archydragon@reddit
There are domain specific lists, google for the tech/area you're interested in. Entry level books for HTML and for digital signal processing would be quite different "entries".
Rain-And-Coffee@reddit
When I was a complete beginner I like the "Head First series", they're a little cheesy but explained things in simple ways.
After that anything from O'Reilly is usually good.
EntrepreneurHuge5008@reddit
There probably isn't or it's buried really deep. I'd assume most people go by word of mouth or simply "filter by level" in learning platforms like O'Reilly.
Would you be so kind as to compile a list and post it online somewhere?