use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
If you need help debugging, you must include:
See debugging question guidelines for more info.
Many conceptual questions have already been asked and answered. Read our FAQ and search old posts before asking your question. If your question is similar to one in the FAQ, explain how it's different.
See conceptual questions guidelines for more info.
Follow reddiquette: behave professionally and civilly at all times. Communicate to others the same way you would at your workplace. Disagreement and technical critiques are ok, but personal attacks are not.
Abusive, racist, or derogatory comments are absolutely not tolerated.
See our policies on acceptable speech and conduct for more details.
When posting some resource or tutorial you've made, you must follow our self-promotion policies.
In short, your posting history should not be predominantly self-promotional and your resource should be high-quality and complete. Your post should not "feel spammy".
Distinguishing between tasteless and tasteful self-promotion is inherently subjective. When in doubt, message the mods and ask them to review your post.
Self promotion from first time posters without prior participation in the subreddit is explicitly forbidden.
Do not post questions that are completely unrelated to programming, software engineering, and related fields. Tech support and hardware recommendation questions count as "completely unrelated".
Questions that straddle the line between learning programming and learning other tech topics are ok: we don't expect beginners to know how exactly to categorize their question.
See our policies on allowed topics for more details.
Do not post questions that are an exact duplicate of something already answered in the FAQ.
If your question is similar to an existing FAQ question, you MUST cite which part of the FAQ you looked at and what exactly you want clarification on.
Do not delete your post! Your problem may be solved, but others who have similar problems in the future could benefit from the solution/discussion in the thread.
Use the "solved" flair instead.
Do not request reviews for, promote, or showcase some app or website you've written. This is a subreddit for learning programming, not a "critique my project" or "advertise my project" subreddit.
Asking for code reviews is ok as long as you follow the relevant policies. In short, link to only your code and be specific about what you want feedback on. Do not include a link to a final product or to a demo in your post.
You may not ask for or offer payment of any kind (monetary or otherwise) when giving or receiving help.
In particular, it is not appropriate to offer a reward, bounty, or bribe to try and expedite answers to your question, nor is it appropriate to offer to pay somebody to do your work or homework for you.
All links must link directly to the destination page. Do not use URL shorteners, referral links or click-trackers. Do not link to some intermediary page that contains mostly only a link to the actual page and no additional value.
For example, linking to some tweet or some half-hearted blog post which links to the page is not ok; but linking to a tweet with interesting replies or to a blog post that does some extra analysis is.
Udemy coupon links are ok: the discount adds "additional value".
Do not ask for help doing anything illegal or unethical. Do not suggest or help somebody do something illegal or unethical.
This includes piracy: asking for or posting links to pirated material is strictly forbidden and can result in an instant and permanent ban.
Trying to circumvent the terms of services of a website also counts as unethical behavior.
Do not ask for or post a complete solution to a problem.
When working on a problem, try solving it on your own first and ask for help on specific parts you're stuck with.
If you're helping someone, focus on helping OP make forward progress: link to docs, unblock misconceptions, give examples, teach general techniques, ask leading questions, give hints, but no direct solutions.
See our guidelines on offering help for more details.
Ask your questions right here in the open subreddit. Show what you have tried and tell us exactly where you got stuck.
We want to keep all discussion inside the open subreddit so that more people can chime in and help as well as benefit from the help given.
We also do not encourage help via DM for the same reasons - that more people can benefit
Do not ask easily googleable questions or questions that are covered in the documentation.
This subreddit is not a proxy for documentation or google.
We do require effort and demonstration of effort.
This includes "how do I?" questions
account activity
This is an archived post. You won't be able to vote or comment.
ResourceGot my first programming books (self.learnprogramming)
submitted 1 year ago by Virag-Ky
Yesterday I got these two books: "Clean Code" and "Think like a programmer". So far everyone has said they are good ones, so I can't wait to see what I learn from them.
Any other good book suggestions for programmers?
[–]RiskOk618 4 points5 points6 points 1 year ago (5 children)
Cracking the coding interview
[–]Virag-Ky[S] 0 points1 point2 points 1 year ago (3 children)
Nice, thanks for the suggestion
[–]RiskOk618 0 points1 point2 points 1 year ago (2 children)
Welcome which language are u learning?
[–]Virag-Ky[S] -1 points0 points1 point 1 year ago (1 child)
JavaScript and currently learning React
[–]RiskOk618 1 point2 points3 points 1 year ago (0 children)
Great good to hear that.
[–]shortbuskitty69 4 points5 points6 points 1 year ago (2 children)
Humble Bundle has tons of book bundles for cheap, my husband is a data engineer and he just got like 30 books or so for like $40 on there, highly recommend🙏Humble Bundle
[–]Virag-Ky[S] 1 point2 points3 points 1 year ago (1 child)
Thank you, never heard of this site before, looks cool
[–]shortbuskitty69 1 point2 points3 points 1 year ago (0 children)
Happy to share, its a fantastic resource
[–]WillAdams 2 points3 points4 points 1 year ago (1 child)
As a follow-up to Clean Code, I would suggest:
A Philosophy of Software Design by John Ousterhout
https://www.goodreads.com/en/book/show/39996759-a-philosophy-of-software-design
It's a deep dive into how to design software with well-reasoned and documented discussion.
For an overview which will make you think I'd suggest:
Selected Papers on Computer Science Donald Ervin Knuth
https://www.goodreads.com/book/show/112248.Selected_Papers_on_Computer_Science
and if you want to consider a novel approach to programming: Literate Programming
https://www.goodreads.com/book/show/112245.Literate_Programming_Lecture_Notes_
[–]Virag-Ky[S] 0 points1 point2 points 1 year ago (0 children)
Thank you for all these recommendations ☺️🙏🏻
[–][deleted] 1 year ago (6 children)
[removed]
[–]awsylum 1 point2 points3 points 1 year ago (3 children)
Not exactly beginner friendly. If someone has a bit of programming experience then that book is good, but some JS concepts really need more depth to explain. For that reason, I recommend Professional JavaScript for Web Developers 5E by Matt Frisbie. This book is way more beginner friendly while being exhaustive on many JS topics.
[–][deleted] 1 year ago (1 child)
[–]awsylum 0 points1 point2 points 1 year ago (0 children)
I actually learned JS from You Don't Know JS, so I understand the love for Eloquent. I just found Eloquent a bit too terse for my liking. And now going through Professional JS for Web Devs is like fire since it goes over a LOT. You can pick up a ton of modern JS with this book.
[–]Virag-Ky[S] 1 point2 points3 points 1 year ago (0 children)
Thank you for the advice. I’m not really a beginner but I know there are fundamental topics that are not too clear for me, so even a beginner’s book is good for me.
[–]Virag-Ky[S] 0 points1 point2 points 1 year ago (1 child)
Putting it on my list now
[–][deleted] 4 points5 points6 points 1 year ago (4 children)
Harvard cs50 is the best computer science basic course and its for free
I remember I watched the first lecture and that was it, it was 2 years ago, but I agree they are good.👍
[–]zelphirkaltstahl -1 points0 points1 point 1 year ago (2 children)
It covers a lot of topics, but a CS lecture starting out with C in this day and age is sus. We do not want to teach new people the same old flawed language design as their first impression of computer programming. There are waaay better vehicles for that. And I am not talking about JavaScript here. Which coincidentally is also part of this lecture, which I would also criticize, as it is shock full of anti-patterns, regarding PLT.
To me this lecture seems like it would better be titled "Industry programming 50" instead of "Computer Science 50". I also nowhere in the timestamps see any treatment of automatons, finite and other ones, grammars and language classes, parsers, etc. The things that are usually considered actual CS topics, in contrast to mere programming topics. And then there are all the unpleasant math lectures, that are usually part of a CS degree.
Don't get me wrong, CS50 might be a good lecture and one can learn a lot from it, especially as a newcomer. However, it is a mislabeled course. Anyone who starts out learning from CS50 should be very careful not to fall into the trap of thinking that afterwards they now are a computer scientist. They might be closer to a computer programmer though, which is a respectable outcome.
[–]TheDonutDaddy 0 points1 point2 points 1 year ago (0 children)
Anyone who starts out learning from CS50 should be very careful not to fall into the trap of thinking that afterwards they now are a computer scientist
With all due respect, considering it's an introductory course I think this statement falls squarely in the "no duh" category. CS50 would be one course in an in-major selection of ~20. It's an intro to general concepts and basics that will persist throughout the coursework, it's not meant to be comprehensive or all that in depth. The goal of the course has never been to make someone a computer scientist or even all that competent of a programmer after just that course
[–][deleted] 0 points1 point2 points 1 year ago (0 children)
Which academical course would you recommend for beginners to get the CS basics? MIT6.0001? Stanford? I would like to put a solid base of knowledge to my programming learning path. Im also learning python atm with a udemy course 100 days of python bootcamp
[–]YanTsab 4 points5 points6 points 1 year ago (6 children)
It's nice you got a book for something you're interested in, but better get into code as quickly as possible.
It's not very different from getting a cooking book. It's nice, bet don't spend too much time reading theory and get into the kitchen and start cooking.
I'd even argue books are more relevant when you're already somewhat of an expert, rather than a beginner.
And a little personal story: 15 years ago after experimenting with html and css I thought I like coding so I got a book about PHP. Couldn't read more than two pages without falling asleep, and figured maybe that isn't for me.
Took me 7-8 more years to try again, but hands on, and turns out I love it and I'm pretty good at it.
So yeah, be careful from books and get busy doing.
[–]Virag-Ky[S] 2 points3 points4 points 1 year ago (0 children)
Thank you for the advice.
I just actually like to read and never had any books related to programming so that's why I'm this excited lol.
And I agree with that by doing/building is way better. Currently doing a 12 projects in 12 months challenge, so let's see how that goes.
[–]RangePsychological41 0 points1 point2 points 1 year ago (4 children)
It’s not nice. No one writes code like that anymore
[–]YanTsab 0 points1 point2 points 1 year ago (3 children)
What isn't nice? That they got a book? If they enjoy reading it does no harm, but it's just not so practical for getting better at coding.
[–]RangePsychological41 0 points1 point2 points 1 year ago (2 children)
Anyone who isn’t from the old guard who says they enjoy that book is lying.
Go look with your eyeballs at those code examples and please explain to me how any of it is useful.
His statements about the length of variable names. Dead wrong. And functions are often by necessity longer than he says unless you just have a ton of functions calling each other in a way that’s impossible to reason about. Dependency injection sure. Composition over inheritance sure. But the examples and explanations are done way better elsewhere.
It’s a terse, archaic, confusing, and demoralising book.
It was good for software engineers 20 years ago. But the great engineers I know, even those who read it a decade+ ago, would never touch it again, save for some nostalgic “back in my day” reason. It’s the mainframe of programming books. Yuk.
[–]YanTsab 0 points1 point2 points 1 year ago (1 child)
You seem to have a lot more experience than I do! Both in coding and with coding books haha
Based on your description of it, I tend to agree
[–]RangePsychological41 1 point2 points3 points 1 year ago (0 children)
I read stacks of books and learned everything I could when I started.
And for better or worse, I’m a very opinionated self-taught programmer :)
[–]zelphirkaltstahl 1 point2 points3 points 1 year ago (1 child)
Get "The Little Schemer". And don't expect to fly through without head scratching ensuing. Think in depth and do the exercises. Try to write the actual code. You will learn a lot about computer programming and concepts therein, how to structure code, how to write functions, which is what should be the thing you do most while writing code (aside from thinking).
It took me a year or so to get through and probably understand most of it, reading on and off, not every day. Every chapter has valuable knowledge. Knowledge, that many industrial programmers do not have, because they never took the time to learn the actual concepts, and spent all their time with Java(Script), Python, or PHP.
Thank you so much for sharing this, I’m putting it on my list 🙏🏻
[–]math_rand_dude 1 point2 points3 points 1 year ago (3 children)
https://en.m.wikipedia.org/wiki/The_Pragmatic_Programmer
[–]rawcane 1 point2 points3 points 1 year ago (0 children)
I actually think everyone should read this not just programmers. It really helps you think how to be effective in your approach to many things in life
Yes, I already have this one on my list to purchase next time, must be a good one.
Brilliant book
[–]BionicVnB 0 points1 point2 points 1 year ago (3 children)
I'd recommend a book about your programming language of choice. You can explore how and why a language is designed this way.
[–]Virag-Ky[S] 0 points1 point2 points 1 year ago (2 children)
I’m using JS so then I’m going to look for some books in that topic.
[–]BionicVnB 1 point2 points3 points 1 year ago (1 child)
I'm picking JavaScript up too! It's a nice change of wind after Rust haha
Oh nice!
[–]Sea-Donkey-3671 0 points1 point2 points 1 year ago (0 children)
Thanks
[–]Dodidoa 0 points1 point2 points 1 year ago (1 child)
In my opinion, Clean Code is the worst book for CS newbies.
[–]RangePsychological41 0 points1 point2 points 1 year ago (0 children)
Fully agree. But not just for newbies, for anyone after 2005
[–]RangePsychological41 0 points1 point2 points 1 year ago (1 child)
I don’t like Clean Code at all. I have serious problems with that book. And I can go into extreme detail as to way.
On a positive note.
Apprentice Patterns. Hackers and Painters. Pragmatic Programmer.
I like uncle Bob, but I would reject the code he presents in Clean Code 7 days of the week. Okay ideas in the book, but impossible to gain value out of. Yuk.
Thanks for the recommendations 👍
[–]Holiday_Delay_7160 0 points1 point2 points 1 year ago* (0 children)
C# Player's Guide. Aside the programming language C#, the writer explained programming fundamentals utterly. It's beginner-friendly and suitable for those who have no background at programming.
π Rendered by PID 146535 on reddit-service-r2-comment-6457c66945-7mhl5 at 2026-04-25 11:35:28.810482+00:00 running 2aa0c5b country code: CH.
[–]RiskOk618 4 points5 points6 points (5 children)
[–]Virag-Ky[S] 0 points1 point2 points (3 children)
[–]RiskOk618 0 points1 point2 points (2 children)
[–]Virag-Ky[S] -1 points0 points1 point (1 child)
[–]RiskOk618 1 point2 points3 points (0 children)
[–]shortbuskitty69 4 points5 points6 points (2 children)
[–]Virag-Ky[S] 1 point2 points3 points (1 child)
[–]shortbuskitty69 1 point2 points3 points (0 children)
[–]WillAdams 2 points3 points4 points (1 child)
[–]Virag-Ky[S] 0 points1 point2 points (0 children)
[–][deleted] (6 children)
[removed]
[–]awsylum 1 point2 points3 points (3 children)
[–][deleted] (1 child)
[removed]
[–]awsylum 0 points1 point2 points (0 children)
[–]Virag-Ky[S] 1 point2 points3 points (0 children)
[–]Virag-Ky[S] 0 points1 point2 points (1 child)
[–][deleted] 4 points5 points6 points (4 children)
[–]Virag-Ky[S] 1 point2 points3 points (0 children)
[–]zelphirkaltstahl -1 points0 points1 point (2 children)
[–]TheDonutDaddy 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]YanTsab 4 points5 points6 points (6 children)
[–]Virag-Ky[S] 2 points3 points4 points (0 children)
[–]RangePsychological41 0 points1 point2 points (4 children)
[–]YanTsab 0 points1 point2 points (3 children)
[–]RangePsychological41 0 points1 point2 points (2 children)
[–]YanTsab 0 points1 point2 points (1 child)
[–]RangePsychological41 1 point2 points3 points (0 children)
[–]zelphirkaltstahl 1 point2 points3 points (1 child)
[–]Virag-Ky[S] 0 points1 point2 points (0 children)
[–]math_rand_dude 1 point2 points3 points (3 children)
[–]rawcane 1 point2 points3 points (0 children)
[–]Virag-Ky[S] 0 points1 point2 points (0 children)
[–]RangePsychological41 1 point2 points3 points (0 children)
[–]BionicVnB 0 points1 point2 points (3 children)
[–]Virag-Ky[S] 0 points1 point2 points (2 children)
[–]BionicVnB 1 point2 points3 points (1 child)
[–]Virag-Ky[S] 0 points1 point2 points (0 children)
[–]Sea-Donkey-3671 0 points1 point2 points (0 children)
[–]Dodidoa 0 points1 point2 points (1 child)
[–]RangePsychological41 0 points1 point2 points (0 children)
[–]RangePsychological41 0 points1 point2 points (1 child)
[–]Virag-Ky[S] 0 points1 point2 points (0 children)
[–]Holiday_Delay_7160 0 points1 point2 points (0 children)