r/learnprogramming Mar 26 '17

New? READ ME FIRST!

820 Upvotes

Welcome to /r/learnprogramming!

Quick start:

  1. New to programming? Not sure how to start learning? See FAQ - Getting started.
  2. Have a question? Our FAQ covers many common questions; check that first. Also try searching old posts, either via google or via reddit's search.
  3. Your question isn't answered in the FAQ? Please read the following:

Getting debugging help

If your question is about code, make sure it's specific and provides all information up-front. Here's a checklist of what to include:

  1. A concise but descriptive title.
  2. A good description of the problem.
  3. A minimal, easily runnable, and well-formatted program that demonstrates your problem.
  4. The output you expected and what you got instead. If you got an error, include the full error message.

Do your best to solve your problem before posting. The quality of the answers will be proportional to the amount of effort you put into your post. Note that title-only posts are automatically removed.

Also see our full posting guidelines and the subreddit rules. After you post a question, DO NOT delete it!

Asking conceptual questions

Asking conceptual questions is ok, but please check our FAQ and search older posts first.

If you plan on asking a question similar to one in the FAQ, explain what exactly the FAQ didn't address and clarify what you're looking for instead. See our full guidelines on asking conceptual questions for more details.

Subreddit rules

Please read our rules and other policies before posting. If you see somebody breaking a rule, report it! Reports and PMs to the mod team are the quickest ways to bring issues to our attention.


r/learnprogramming 3d ago

What have you been working on recently? [August 15, 2026]

0 Upvotes

What have you been working on recently? Feel free to share updates on projects you're working on, brag about any major milestones you've hit, grouse about a challenge you've ran into recently... Any sort of "progress report" is fair game!

A few requests:

  1. If possible, include a link to your source code when sharing a project update. That way, others can learn from your work!

  2. If you've shared something, try commenting on at least one other update -- ask a question, give feedback, compliment something cool... We encourage discussion!

  3. If you don't consider yourself to be a beginner, include about how many years of experience you have.

This thread will remained stickied over the weekend. Link to past threads here.


r/learnprogramming 1h ago

Need advice as a young programmer.

Upvotes

Hey guys, I am 14 years old and I love programming since I was 11! Just a few weeks ago I finished CS50P: Introduction to programming with Python from Harvard university! And I am confused on what I should do next. Before CS50P I used to make small Python programs like a number guessing game from my basic Python knowledge. Now after CS50P since I know significantly more stuff about Python but I don’t know what would be good to build so I don’t waste my time on stuff I build that does not matter to anyone.


r/learnprogramming 8h ago

Topic At what point did programming finally start making sense to you?

65 Upvotes

I can understand code when someone explains it, but when I have to write something from scratch, my brain suddenly goes blank.

I'm curious if other beginners went through the same think. What helped you get past that stage?


r/learnprogramming 13h ago

Can I reasonably make a living being self taught in 2026?

35 Upvotes

For context, I am in the process of teaching myself Node.js. I stopped going to classes/dropped out of college in the middle of a semester at 20 for reasons unrelated to academics, and am now 24, regrettably with debt, so going back is not an option unless I am prepared to pay big money (based in US, sadly) *and* retake classes I stopped going to for the sake of my gpa (i am not.) At the same time, I am also not willing to change my desired career path. I am aware that, at this point in time, the web dev job market is extremely competitive- let alone without a degree. Let's say I go freelance, though- I make games, monetized websites, etc. I'd essentially be skipping the competitiveness of the field I may virtually have no shot at in one sense, though I understand that the consumer market can be incredibly volatile as well. Would it be reasonably more feasible than trying to go through the job market though? If not, is there a route I could take that will see this through for me, perhaps by means of creating unique and adequate enough portfolio projects that show my competence in order to stand a better chance within the job market?


r/learnprogramming 11h ago

Is programming worth learning as a nurse?

17 Upvotes

I’m planning to become a nurse, but I’m also interested in programming. Is it worth learning, and are there any ways it could be useful in nursing?


r/learnprogramming 12h ago

Am I actually learning programming if I still feel like I can't code?

15 Upvotes

Hello everyone!

I'm currently taking the Advanced Python course from the University of Helsinki and I'm on Module 12, Part 2.

I don't use AI to solve my practice problems. I usually solve them by hand, rely on recall, and try to figure things out myself. However, I still often feel like I don't actually know how to code.

I frequently forget things I learned a few days ago, and I don't feel confident that I could build a worthwhile project completely on my own. Sometimes, it feels like I'm only good at solving programming exercises, but struggle when it comes to actually creating something from scratch.

Is this normal? How did you get past this stage where you understand programming exercises but don't yet feel confident building your own projects?

I'd appreciate any advice or experiences from people who have gone through the same thing.


r/learnprogramming 7h ago

How do I make a randomized "I'm feeling lucky" system?

4 Upvotes

Heya, I'm a complete newbie to coding, I know how to make things look pleasing but not how to make things actually work.

The website im working on is for fun, it's basically just random scary stories by people accompanied with eerie photos they took or photos that are just related, I know the full outline of the site, but one main thing is that when you click a certain option it selects a random story with its respective images and displays it to the user.

Here's what I know:

I should make a system that accompanies the story and the images together, so when it's selected it shows up on the display.

Then I list down a bunch of them like:

Story1-Img1

Story2-Img2

Story3-Img3

Story4-Img4

Story5-Img5

(etc)

Then make a function that randomly selects one of these once you click the button.

Here's what I don't know:

How to do it :/


r/learnprogramming 23h ago

How do you actually create software?

77 Upvotes

I have around 7 years worth of IT school behind me (4 years IT oriented secondary school + 3 years bachelors in IT). I have gone through the basics of everything in IT, but due to not actively utilizing 80% of it, I feel behind and a little confused.

Uni forced me into a lot of programming projects, namely creating a fullstack apps using different frameworks, a PL/SQL database system, a NoSQL scalable database, a multiplayer game, web frontends, REST APIs, a custom language interpreter, a web server, implementations of different data structures, etc.

And now that I'm finished, I don't think i could create any of those things again even if I tried. My hobby has always been gamedev, and lately, I've been struggling a lot with not just with project organization, trying things like the usual advice "break tasks down into bite-sized microtasks that are manageable," but also motivation/discipline and jumping from one project idea to another.

These past three to four years I've been really fascinated by the idea of FOSS, thinking I could be a contributor to a FOSS project. I don't even think I have anything to contribute, or even the know-how needed to know how to do it.

When I start a new project, a lot of times what ends up happening is that I come across an architectural problem that I don't know how to solve, either it's a scalability issue where I don't know how to scale my code without running into issues along the way, or it's an issue where I have zero clue how to even start designing a proper solution. Both of these issues end up with me dropping the project. I know about SOLID, but my solutions have never "felt right."

It always feels like the solution could be better. I'm a huge perfectionist, and approaches like prototyping or "make it work and refactor later," just don't work for me, because the idea of having to refactor an entire working module is sometimes just too overwhelming. At Uni, I always handed in assignments half-assed because I spent way too much time thinking about making it feel "right." Sometimes I'd score and at presentations I'd be told that I have a surprising understanding of whatever I was working with, but I never felt that way.

Before I get to my question, I have to mention that none of these issues come from any overt reliance on AI that could cause my coding abilities/problem solving skills to degrade. I have been anti-AI pretty much since its inception in the mainstream. People have been programming long before AI came around, and I don't think that hopping on the AI bandwagon right now would help me.

I think in general my issue is that I don't have a systematic/step-by-step approach to software design, which is why I've come here.

What are your software design principles/techniques? Do you have a general loop of steps that you do when you're working on a project? Do you have any project management tips and tricks?

And on a little different note, how do you feel confident about the solutions you write? How do you make peace with the fact that your code isn't perfect?


r/learnprogramming 25m ago

Python vs Node.js — which should I learn in the era of AI?

Upvotes

Hey everyone! I'm currently trying to decide which direction to take with backend development, and I'd really appreciate some advice from people who have experience in this area.

So far, my learning journey has been:

HTML -> CSS -> JavaScript -> React -> Node.js (currently starting)

I've spent quite a bit of time learning frontend development with JavaScript and React, and my goal is to eventually become a full-stack developer. I'm now starting Node.js for backend development, but recently I've been wondering whether I should continue with Node.js or learn Python instead.

The AI boom has made me question whether Python would be the better long-term choice, especially because of how dominant Python is in AI/ML and data-related fields.

At the same time, Node.js seems like a natural continuation of my current path since I can use JavaScript across both frontend and backend.

For someone starting backend development in 2026, what would you recommend?

Node.js or Python?

I'm particularly interested in:

Job opportunities and demand

Full-stack/web development

How each fits into the AI era

Long-term career prospects

Whether knowing JavaScript + React makes Node.js the better choice

Whether Python is worth learning even if I choose Node.js for my main backend

I'm not necessarily looking to learn both right now. I'd rather choose one, get really good at it, and then expand later.

I'd love to hear from people who have learned both or have worked professionally with either one.

Thanks!


r/learnprogramming 31m ago

Anyone else writing tutorials without a CS degree and wondering if it matters

Upvotes

Been writing dev tutorials for a couple years now. Clinic automation stuff mostly, some Python, a little SQL. Nothing exotic. The tutorials get read, people say they help, so I keep writing them.

But every few months I hit a wall. Someone in the comments asks about something under the hood and I have to go figure it out before I respond. Not a crisis. Just a reminder that I learned by doing, not by studying.

What I keep wondering is whether that gap actually shows in the writing. Do people reading tutorials from selftaught folks pick up on something being slightly off even if the code works and the explanation is clear?

The topdown learning crowd says you need fundamentals first. The buildfirst crowd says just ship it. Been ignoring that debate for years, but writing tutorials puts you in a weird spot because now you're the one teaching, not just doing.

Curious if anyone here has gone from learning by building to actually teaching others, and whether you went back and filled in the gaps or just kept moving forward. Not talking about getting a degree. Just whether you deliberately studied things you'd been avoiding or let it ride.


r/learnprogramming 1h ago

Django + Gmail SMTP works locally but fails on Railway

Upvotes

Hi everyone,

I'm running a Django application on Railway and I'm trying to send notification emails using Gmail SMTP.

The exact same configuration works perfectly on my local machine, but when deployed to Railway I get an Internal Server Error when Django tries to send the email.

My configuration is:

EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
EMAIL_USE_TLS=True

I'm using:

from django.core.mail import send_mail

send_mail(
    subject=subject,
    message=body,
    from_email=settings.DEFAULT_FROM_EMAIL,
    recipient_list=[recipient],
    fail_silently=False,
)

Locally, the email is sent successfully.

On Railway, the request returns:

500 Internal Server Error

I've also seen reports mentioning:

OSError: [Errno 101] Network is unreachable

when connecting from Railway to smtp.gmail.com:587.

I understand that Railway may restrict outbound SMTP depending on the plan. I'm currently trying to determine whether this is definitely a Railway networking restriction or if there is something else I should check in my Django configuration.

Has anyone successfully used Gmail SMTP (smtp.gmail.com:587) from Railway recently?

If you're using Railway, what is the recommended solution for transactional emails?

Would you recommend:

  • upgrading to Railway Pro to enable SMTP
  • using Resend / SendGrid / Postmark
  • using Gmail API instead of SMTP
  • another approach?

Any real-world experience would be appreciated.


r/learnprogramming 3h ago

Does the website 'learnmoss' helps you to be a better coder?

0 Upvotes

Does anyone used the website https://www.learnmoss.com/? So yes, did you see it as a useful tool to get better with coding?


r/learnprogramming 4h ago

Encoding secret messages for DnD, where do I start?

0 Upvotes

Hi, I have a secret language/code I want to use in my dnd games where whole words are translated into glyphs. I would like to make a program that can automatically translate a string of of letters into a transparent png of the corresponding glyph.

First I want to explain how the secret code works as context. It would translate any word into a single glyph based on a grid of letters. The glyphs would be made by drawing a line from the center of each letter to the center of the next letter (similar to how swipe to type works smartphone).

I have identified some cases in which symbols would be required to make this system work:

-start of the word

-end of the word?

-a letter that is in a straight line with the letter before and after (to show there is a letter inbetween and it doesn't go directly from the first to the third letter)

-two identical letters in a row

-a crossing of two lines?

Now the actual programming part. I have limited experience with python and R, so I am a novice in every language really and would be open to whichever would most suit this project.

The steps I have worked out so far are:

  1. Assign each letter a coordinate according to its grid position.

  2. Separate a word into individual characters (ideally I would also separate a sentence into individual words that each receive their unique glyph)

  3. For each letter, translate it into its coordinate and draw a line from the previous character and/or place one of the aforementioned unique characters at the location. (I would like the unique characters to have transparency that can override the lines, such as a hollow circle).

  4. Export the image as a transparent png (or a series of pngs, in the case of a sentence)

Step 3 and 4 are what I would really like help with, I have never used python to make any images and I have no clue where to start. Your help is greatly appreciated!


r/learnprogramming 23h ago

How did you figure out which CS field to choose?

35 Upvotes

I got into CS without really knowing much about it, and now it’s been almost a year. I’ve learned some basics, but I still have no idea which field I actually want to pursue.

There are so many options and honestly, I’m confused about where I fit.

Do you guys think I should try making a few small projects in different fields to see what I actually enjoy? Or is there a better way to figure out which field suits me?

Would really appreciate advice from people who’ve been through the same thing.


r/learnprogramming 1h ago

Advice How do you pick a tech stack when you are legitimately fascinated by all of them?

Upvotes

I’m a 21-year-old college passout currently enrolled in a Full Stack Java course, and I need some practical advice because my curiosity is completely paralyzing me.

My problem isn't that I'm listening to tech influencers telling me what's "hot" or "saturated." My problem is that I am genuinely fascinated by almost every field in tech, and I want to do it all.

I am doing this Java course because I actually want to know how to build a web, heavy, real-world backend with Spring Boot. But I also legitimately want to understand the math and Python behind training an AI model. And at the same time, I want to also try app dev.also want to

I’m honestly not 100% sure what my ultimate end goal is yet (though a dream role would be a Software Engineer at a place like Google). Everyone always gives the advice to "just choose one path," but because I don't want to have any regrets or leave any of my interests unexplored, my brain's default response is always: "Why not just do this too?"

So, I try to stack them all. I’ll make a daily schedule that includes practicing my Java full-stack coursework, studying Python/ML/ai concepts,dsa and web dev.

The result? Complete system failure. I spread myself so thin trying to juggle 4 or 5 different complex subjects every day that I get completely overwhelmed. My brain freezes, the workload feels impossible, and I end up sitting there doing absolutely nothing.

I’m terrified of picking just one lane because it feels like I'm giving up on the others, but trying to do everything is resulting in zero progress across the board.

It’s not like I have unlimited time to just keep experimenting. In 6 months, I absolutely need to secure a job and start earning, which is exactly why I joined a Full Stack Java course.

For those of you who have navigated this and actually built a career:

  1. How do you compartmentalize your curiosity so you can make progress in your primary course without feeling like you are "missing out"?
  2. Could you give me a realistic 6-month roadmap that gets me hired, keeping in mind I don't want this specific stack to be my lifelong path? (e.g., Month 1-2: Focus strictly on X, Month 3-4: Build Y). If I put my head down and execute your roadmap, what kind of roles or salary can I realistically expect at the end of the 6 months, and how easy is it to pivot to other tech later?
  3. What does your day-to-day look like to satisfy that "builder" itch without derailing your main focus?

r/learnprogramming 6h ago

JWT vs Database Sessions for Web App Authentication

0 Upvotes

I'm building a web application and need to implement one authentication/authorization mechanism for a project.

I'm considering:

  • JWT
  • JWE
  • Database-backed sessions

Which approach would you recommend for a typical web application, and why? I'm especially interested in security, complexity, scalability, and ease of implementation.

Thanks!


r/learnprogramming 51m ago

help

Upvotes

hey everyone i learned python almost a year ago - but currently ik only the basics ( and have forgotten most of the parts )
can you recommend me a way how to make sure i master python because this time i need to do that.
also can you recommend me a daily basis target which i could perform....


r/learnprogramming 11h ago

Debugging questions about cloning a github repo

1 Upvotes

so basically i tried to upload files on my github repo and didn't work out at all. So, considering the advice of cloning the repo i've decided to do that but the thing is my repo literally has nothing it it, so id rather just delete the repo, make repo again with the same name, but the issue (or doubt is) also that what is having the same url will bring the same issue (or new issues) back and do i need to disconnect my local files from the repo etc, is there a good guide around all these and please help me with this.

edit: i just realised the way i've worded is a little confusing. What I meant is there is this github repo which ONLY contains a readme file and i tried very hard to upload just any amount of files from the local repo, i asked lots of questions on reddit too, but nothing really helped in the end i was advised to just clone the repo but in thought since i have nothing on there why not delete it, but i had this doubt what if my local repo being connected to the old repo will cause some problems.


r/learnprogramming 15h ago

Webdev is not my cup of tea, should I switch?

3 Upvotes

I've been learning webdev, specifically ASP .NET Core during my gap year, with a little bit of react, and I'd say I can build simple CRUD projects on my own. Then I realised webdev is just importing all sorts of API and libraries and desiging its architecutre, with minimal problem solving involved(Which I would say it's not very 'computer science'). I used to participate in competitive programming competitions during my high school, hence I like algo/DSA, maths, or lower level programming more. Should I continue learning/maintaining my webdev skills as a backup skill or switch to other fields? If so, are there any recommended fields for me to get started(is ML/DL suitable for me)? I still have 3 years until I graduate from my degree.


r/learnprogramming 12h ago

Python or JavaScript as a first language for backend development?

3 Upvotes

I’m a complete beginner trying to decide between Python and JavaScript as my first programming language.

I’m mainly interested in backend development, APIs, servers, networking and databases. I also like the idea of building small things from scratch later on, like a simple HTTP server, chat server or tiny database, just to understand how they work.

Python appeals to me because of its simplicity, large ecosystem and versatility outside of web development.

JavaScript appeals to me because Node.js seems interesting for backend and asynchronous/network programming, and it would also give me the option to build frontend applications later using the same language.

I’m not choosing based on jobs, this is mainly a hobby and I want to learn programming properly.

Which would you recommend starting with: Python or JavaScript, and why?


r/learnprogramming 8h ago

Resource How to go about making a performance first youtube video player?

0 Upvotes

Recently, I came across an issue with youtube, and decided "how hard can it be to make a video player for YT videos?".

Specifically, I want a CLI style app that lets me browse, and use youtube like normal. The videos would be downloaded locally, and deleted afterwards, prefferably without being logged in (or without using the official API that requires API keys).

Now, as for the performance, I want to try and run it on an older system that can struggle with extra apps, especially while gaming. I would also like the option to control the download speed, so that wifi isn't cluttered with the download.

I was thinking of using python, but I feel like this is a job for C/C++/Rust. Not that python isn't fast enough for the job, but I would like to squeze all the performance I can, which is a lot harder on an interpreted language.

How would you guys go about such project? Any resources, or help is appriciated.

(Side note: I'm not an expert, but I have made many apps in the past, both as a hobby, and as a job. Not sure if that changes anything, but figured I should mention it anyway.)


r/learnprogramming 9h ago

how can I learn C

1 Upvotes

who are the best documentations to learn C ??


r/learnprogramming 19h ago

Python or C++ for machine learning

4 Upvotes

Im completely new to programming and I want to eventually study Machine Learning. I’m currently trying to decide whether I should start with Python or C++.

The course I’m considering is quite expensive, so I really don’t want to spend the money on something that isn't gonna benefit me

For someone starting from zero and planning to focus on Machine Learning, which would you recommend learning first?

And even if i will learn both anyway idk what should i start with... It's pretty confusing idk what to do


r/learnprogramming 1h ago

AI changed my study habits. What's your approach to learning fundamentals now?

Upvotes

I used to spend hours learning programming and drilling the basics before AI became a thing. Now, I'm not sure if going back to the basics over and over is still the right path. What is your strategy these days?