r/learnprogramming • • Mar 26 '17

New? READ ME FIRST!

827 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 • • 6d ago

What have you been working on recently? [October 10, 2026]

5 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 • • 3h ago

Code Review PR Reviews

11 Upvotes

Been getting tasked with reviewing PRs more and more at work. Happy to have that responsibility and grow in that fashion. However, i'm also nervous about doing it properly.

Atm i have a process of sorts to work through things. Understand the change being made (filtering out a column value, combining datasets, manipulation etc). Approach to the change (drop nulls, join v union etc, creating an additional column from scratch or something). Execution of the change. Was it overly verbose and wasteful. Were certain downstream effects not properly accounted for etc

If it all looks good to me. Then I approve. Sometimes I might meet with the programmer to ask questions based on notes as I go through the PR. Other times I don't as it's not needed and I get things clearly.

Would like to know what approach some of you use? Why/how you it? Do you have different tactics for different situations?

Any advice/tips will be appreciated. Just looking to improve and get better at this process as I think it'll also help me get a better understanding of system design and large scale architecture which is something I want/need to get better at


r/learnprogramming • • 2h ago

Tutorial I built a free learning path from programming basics to your first GitHub contribution

4 Upvotes

I created DevStart Lab to help beginners figure out what to learn and practice next. It includes programming logic exercises, GitHub tutorials, 25 project ideas and progress tracking, with English and Portuguese support.

Free to use, with no account required. Feedback on the learning sequence and explanations is welcome.

Try it: https://brunnojob.github.io/devstart-lab/?lang=en

Source code: https://github.com/brunnojob/devstart-lab

My GitHub: https://github.com/brunnojob


r/learnprogramming • • 1h ago

Topic C# or Java?

• Upvotes

If you had to choose one class between the two, which would you select and why? I tried to Google the purpose of them; the immediate answers from Google felt very vague and like both of the languages are common. Is one course better for web development as opposed to apps or something? Looking at the courses I'm taking, down the line I will select one of the two. The only thing I know so far is C++, so I'm quite new.

Also, side question: why are there so many languages? The only logical thing I can imagine is there were problems that couldn't be solved with say for example C++ so someone created something new. But why not just build on the original language? Why did they need to reinvent the wheel? Or is it as simple as that: someone wanted to create their own thing?


r/learnprogramming • • 9h ago

Topic How did you learn C?

7 Upvotes

I've been learning C for a few days, and I've just reached pointers. I find them pretty confusing, so I wanted to ask how you guys learned C.

So far, I've been using Claude and asked it something like: "Claude, can you teach me how to program in C using a lesson-based system, with one project for each topic?"

But it's been kind of difficult. The lessons start off pretty meh, and then it suddenly throws really complicated stuff at me, even though I'm a complete beginner. The explanations aren't very good either.

I'd like to find a more effective way to learn. I'd read online that if you work on projects, you'll eventually learn, but I get stuck a lot. And honestly, it's hard to correct my own mistakes because AI doesn't always do a good job of helping me understand what I did wrong.

I really want to become a great programmer someday, but I want to learn the right way, even though I don't plan on working as a programmer professionally. I genuinely want to understand programming deeply and build a solid foundation.

To be honest, I'm starting to feel stupid because I don't feel like I'm learning properly. I know C is a difficult language, especially for beginners, but it's frustrating to put in the effort and still feel like I'm not making real progress. I really want to understand what I'm doing instead of just copying code without fully understanding it.

So, what would you recommend? How can I learn C more effectively and make sure I'm actually understanding what I'm doing instead of just following tutorials?


r/learnprogramming • • 15m ago

How to ?

• Upvotes

Hi guys, I am not understanding how to actually use the GitHub repository project-based learning , that repository with projects for each language and like how can I actually use it effectively and like these have already done projects and like I feel that I am learning nothing.

SO,

Should I see the project idea , let say like in the C/C++ section, I will choose Debugger and like using that idea, I will research and how to create my own debugger ?

Can you please help me with this


r/learnprogramming • • 14h ago

A project to get back into IT

10 Upvotes

How do you come up with a project that helps you dive into devops? I mean not just a simple to-do list or smth. I used golang like 1.5 years ago (was about middle or close,some db, rabbitmq, docker and other stuff also was in good shape) but in one day just give up this journey and Im very noob right now. So i decided comeback as devops.

main question - How did you end up with a project you can proudly show to employers or even to yourself?

I heard a phrase from Linus T. about finding something that will keep you excited for the next 2–3 weeks, so you wll be fired up about it and gradually get better and then another 2-3 weeks smth new. Im tired of watching tutorials already I want to build something. What do u think. (sry for bad eng)


r/learnprogramming • • 15h ago

Resources to better coding

14 Upvotes

Hi! Can anyone suggest interactive resources to study DSA and Object Oriented Python like that of deeplearning.ai to learn machine learning and deep learning.


r/learnprogramming • • 14h ago

Should I post every project, big or small, to GitHub?

9 Upvotes

I know this question has been asked many times and some suggested to use GitHub to store code. But I feel like my account can easily get cluttered with so many things. So, should I post every project and code whether big or small? Also, what should the primary purpose of GitHub be: to store code or showcase projects? Thanks in advance.


r/learnprogramming • • 16h ago

is stack memory manages by both os and compiler?

17 Upvotes

I'm moving from a higher-level language (Python) to Rust and getting confused about how memory is managed.

my current understanding is that each process gets its own virtual memory, which provides protection and isolation. Within that, there's the stack and the heap. The heap is managed by the programmer, while the stack is managed automatically. But who actually manages the stack?

Is stack memory just a logical abstraction, managed by the OS and the compiler (by moving stack register)?


r/learnprogramming • • 12h ago

From Graphic Design to Front End Development

6 Upvotes

Hi all. I'm in my early 30's and I've been in graphic design for 10 years. Got my bachelors in design and have worked in a range of roles, and most recently I've been trying to stay competitive by freelancing design gigs while raising my 2 year old and dealing with some medical stuff.
I've been feeling burnt out and bored by design for longer than I'd like to admit. The ai wave is a bit of an eye roll for us designers, but nonetheless has made the job market even tougher.
I took some coding classes in college and actually really enjoyed it, but at the time lacked a lot of confidence and thought I wasn't smart enough to enter the field.

Well, now that I've grown up and realized how wrong I was, I'd really like to try again.

I am seriously considering doing the Scrimba front-end development course as a way to start a career transition. I'm hoping to leverage my design background and move into Design/UX Engineering as a foot in the door, maybe product engineering down the road. From what I've read, the combination of design expertise and coding is quite rare. I am okay ish in HTML/CSS and JS from my design career. I love doing user research, and building things, and being able to explain how they work - that in particular is something I dislike about graphic design.

I haven't shared this idea with my wife, or really anyone. I wanted to hear what professionals in the field hear about Design-code hybrid roles, where to start, anything that could be helpful.

I know the Scrimba course isn't enough to land a job in 6 months, but I'm willing to put in the work.

Plan so far: start the class in Nov. use my branding and design skills to create some cool interfaces, apply to some gigs when I feel 75% ready, then apply to FT Design Engineer roles.


r/learnprogramming • • 13h ago

Debugging New backend engineer here, how would you approach optimizing a slow API?

2 Upvotes

Hey everyone!
I’m fairly new to working with production backend systems, and I’ve been given a task to look into the performance of an existing service and figure out where improvements might be possible.
The service handles a few different things, including business logic evaluation, configuration management, automated workflows, data processing, and logging. Some API requests are taking longer than expected, and I’d like to understand what’s causing the delay and what could be done to improve things.
I don’t want to jump straight into suggesting random optimizations without understanding the actual problem first, so I’d love to hear from people who’ve dealt with similar situations.

A few things I’m curious about:
-When you encounter a slow API, where do you usually start? Profiling, distributed tracing, database analysis, or something else?
-How do you figure out whether the bottleneck is in the application logic, database queries, repeated computations, or calls to other services?
-What common performance issues have you come across in systems that deal with configurable business logic?
-When does it make sense to consider caching, parallel execution, or moving certain operations to background jobs?
-How do you identify worthwhile improvements in an existing codebase without risking changes to its existing behaviour?

Since I’m still early in my career, I’d really appreciate hearing how you’d approach this in a real-world environment. If you’ve worked on something similar, I’d love to know what worked for you, what didn’t, and any tools or resources you’d recommend.
Thankyouu in advance

TL;DR: I’m a new backend engineer looking into why some API requests are slow and how to identify potential performance improvements. I’d appreciate practical advice on finding bottlenecks, choosing the right profiling tools, and deciding which optimizations are worth recommending.


r/learnprogramming • • 8h ago

NASA is calling for student tech ideas!

1 Upvotes

6th-12th grade educators & students affiliated with U.S. schools are invited to enter the NASA TechRise Student Challenge. Winning teams receive funds to build an experiment and a spot on a NASA-sponsored test flight: https://www.futureengineers.org/nasatechrise


r/learnprogramming • • 1d ago

Junior dev here: how did you get from "code that works" to senior-level Python?

162 Upvotes

I'm a junior developer at my firm, about 1–2 years in. My code works, but when I compare it to what our seniors write, theirs is cleaner, easier to follow, and holds up better when requirements change. I want to close that gap deliberately instead of hoping it happens over time.

For context, I'm comfortable with functions, loops, classes/OOP, and basic testing. I mostly work on automation and scripts, and I've noticed my scripts tend to start small and turn messy as they grow.

I'd love advice on:

What actually separates senior-level Python from junior-level? Is it mostly design, naming, testing, or something else?

How do you structure automation code so a quick script doesn't turn into an unmaintainable mess?

Books, codebases, or resources that changed how you write code. Are there open-source projects worth reading?

Habits that helped you most, like code reviews, refactoring old code, or writing tests first.

Common junior mistakes you'd tell your younger self to stop making.

Thanks in advance, I really appreciate any pointers.


r/learnprogramming • • 11h ago

Нужна идея!

1 Upvotes

Начинаю 30 работу по изучения программированию не глубоко но эффективно - в сторону ИБ, пока не точного вектора но этой темы.
Питон(возможно после и С), терминал, лИнукс + сети. это будет костяком. нужно придумать не план, а создать рутину.


r/learnprogramming • • 17h ago

What are the tradeoffs between monolithic and microservices architecture

3 Upvotes

When designing an application, one of the key decisions is whether to use a monolithic or microservices architecture. I've seen both approaches used in different projects, and each has its pros and cons. Monolithic architectures can be simpler to develop and maintain, but may become unwieldy as the application grows. Microservices architectures, on the other hand, can provide greater flexibility and scalability, but may introduce additional complexity and communication overhead. What are some factors to consider when deciding between these two approaches, and how do you determine which one is best for a given project?


r/learnprogramming • • 11h ago

Help!!

0 Upvotes

Hello. Im 2nd year betch student. Rn i know python and im learning Django and further going with python full stack. But the catch is idk wheather i should be doing or starting dsa and if yes in which language?

I dont have any main goal. But i also dont want to get into multiple things and not learn anything. So please help


r/learnprogramming • • 1d ago

When languages "just become about syntax"

35 Upvotes

I have seen a lot of post saying "once I learned C - all other languages just became about syntax"

Has that been true for you? Or did a different language give you the eureka moment - e.g. something like Assembly?

Or is it just a false premise at all to think "once I learn programming language X - then all other languages become **easy**"


r/learnprogramming • • 1d ago

how do you get faster at understanding a new codebase?

9 Upvotes

Hi all. I'm a student who recently started contributing to opensource. So far it's been small stuffs like a docs PR and a fix to a tool I was using myself. I've really enjoyed it and want to spend more time on it.

Lately I feel slower than people who use AI. It takes me longer to understand a new codebase and find where to make changes. Also I saw many projects using Ai for code reviews and making issues. Because of this, I find it really hard when I try to contribute.

So I'm curious about a few things:

  • How do you use AI when you contribute code, and for which parts?
  • If you don't use AI, what would you recommend for a beginner like me?

I'm not asking whether AI is good or bad. I just want to hear about your experience.

English isn't my first language, so sorry if anything sounds a bit off.

Thanks.


r/learnprogramming • • 1d ago

How to become a Full Stack Developer

75 Upvotes

Can you guys suggest a solid platform or a YouTuber where I can learn to become a full-stack developer?


r/learnprogramming • • 19h ago

Tutorial Qt Quick + QML GUI App Tutorial Series Suggestions?

1 Upvotes

I am a freshly minted C++ Qt developer in that I just completed an online course for C++ and the basics of the Qt framework within the past few days.

I am looking for video tutorials on how to build a GUI application using the Qt framework using Qt Quick and QML. For reference, I am not completely new to programming. I am a full-stack mobile and web developer who has been developing both types of applications for years. My tech stack in React (Next.js)/React Native on the front-end and pure Django or Django REST Framework + Django Channels on the backend.

What originally got me into web development was Corey Schafer's Django tutorial series which guided me through developing a web application using Django assuming I already knew HTML, CSS, and Python. That is when I learned that I learn best with YouTube video series I can follow along while the instructor explains what I'm coding. Is there any such series for Qt Quick and QML like building a notepad app? YouTube search results only turn up outdated tutorial series using Qt Widgets which IS NOT what I'm using and am avoiding because I want to construct the UI using QML files, not the widget picker.

Thanks in advance for your help!


r/learnprogramming • • 1d ago

Debugging Python code takes 10-20 seconds to start

11 Upvotes

Hello, I started learning python recently I dowloaded it, also vs code and python extension for it.

The poblem is, when I start a programm (even a simple one, whick only takes an input fron the user and prits it) takes 10 or more seconds to start or just dosen't work at all then i clic soething and it kindof crashes itself, but thats my fault for mesinf with it, when I leave it, it just takes really lng dose somone know how to fix it and/or how to make folders proporly and where to keep them (could be the problem)?


r/learnprogramming • • 1d ago

Slow at problem solving and stuck for too long - missing eye for detail

5 Upvotes

Hey devs

I am a developer with 4.5 years of experience, mostly backend ( java with AEM ) and some frontend but not crazy animation stuff. I have a few problems and need help to fix that from propele who have faced it.

  • I am slow with my tasks, I stare and overthink too much. I feel like my archiotect does the job in 2 hours that I take a whole day ( like 10-12 hours ) to even finish to an extent. It is not that I use social media or anything in between, i sit down and stay literally glues to my laptop try my best except for the lunch and evening break. But my productivity is very low.
  • 2nd I have a very bad eye for detail. i build things and miss the basics which are always visible to my archietct at just a glance. Certain scenarios, certain edge cases and even a lot of basic obvious things I miss. I am almost at the level of mid senior dev as I am hitting 5Y of experience, I cannot be like this
  • I cannot think like an architect;
  • I cannot rcommend a good solution approach. I cannot even think of the big system which to an extent I am supposed to be able to as per my role .
  • I am afraid of new things ( when a problem comes I become anxious instead of excieted ). My juniors say I am doing good, and I am a good mentor and I have good capability but I do not even feel that way. My thoughts feel limited and I cannot think beyond the small component ( cannot think in terms of systems and integrations).
  • And I am afraid to lead things, to take the role where I am supposed to own my decisons and the whole project.

Anyone with some experience or someone who has overcome this please share your story or how you did it and how I can do things. I need this very badly, cannot talk about these with my seniors exactly but I need a roadmap to actually become more cpable, more competent and a lot better engineer ( not a coopy paste guy or a guy who just does what his architect and manager tells him to do. I do not always want to wait for the instructions )


r/learnprogramming • • 1d ago

Topic Where to start coding games

3 Upvotes

I'm wanting to start learning game dev, and am using python (open to better recommendations), what is the best game engine I should use? Im thinking about making a clicker game as my first project, or just a text based game.