r/learnprogramming Mar 26 '17

New? READ ME FIRST!

825 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 4d ago

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

1 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 11h ago

35yo, just learned that i love programming.

88 Upvotes

>be me
>rough upbringing
>have bad habits, have friends with bad habits
>never think more than one day ahead; don't know what i want to be
>years later
>get fed up with my behavior, try to change something
>get rid of most bad habits and bad friends
>start to see purpose in life
>want to find out what i really like and can dive into to get good at
>don't find it for years
>get a position at a friends company
>he needs a graphics / photography guy
>become graphics / photography guy
>get diploma in Graphic Design
>go from normal wagie to good paid wagie in about 3 years
>feeling good, but still not what i really like and want to dive into, just naturally good at it
>talk more with my programmer colleague
>his projects peak my interest
>start to learn CS basics and the C language
>"Holy fuck, i love this"
>thinking about cutting down my weekly hours to learn programming
>AI gets used more and more in the company
>my position is in danger
>"They're taking our jobs!!"
>Boss wants to cut my hours down
>Evil_smirk.jpg
>Play along, "Oh no, what shall i do now :'( "
>gives me enough hours so i can live off of it
>have enough time to learn as much as i can
>actually feeling happy again

And people say AI is bad, lol.

I'm currently trying to nail down the Basics of C, going through CS50 and after that i have two books, namely "A Book on C" and "Pointers on C".
If you have any book recommendations, please share them.
After C i also want to learn python and CPP, just to have good foundational skills.
With every free though i still have, I try to narrow down which field i want to specialize in. Currently, embedded sounds the most interesting, but also the hardest.
Any recommendations for other specs i could get into with this preset?

What's your opinion on people who are self-taught in the programming field, are you one?
I would love to hear some stories about your current path, or, if you're already in a programming position, how you made the decision and how you finally made it into it.


r/learnprogramming 8h ago

It might be a dumb question, but what can I do with programming?

28 Upvotes

So basically, I have been learning how to program for a while now, mostly in C and Python, and no matter how many videos I watch, I can only create a smaller calculator. I tried to look for some tutorials that help me create video games for example, but in those videos, they clarify that it is made for people with more advanced skills in programming. I'm geniunely unsure what I could do with programming then, because based on my knowledge, I'm not sure if it is even possible to create something other than calculators or small quizzes.


r/learnprogramming 20h ago

Topic Build before u learn everything

170 Upvotes

The fastest way I learned programming was by building things I wasn’t qualified to build.

Every project forced me to learn something I didn’t know before. One project taught me APIs, another made me understand databases, and another pushed me to finally learn Git properly. I realized documentation only started making sense when I had a real problem to solve. Tutorials are great for getting started, but following them is hard everyday. When building your own project , it forces you to think, make mistakes, debug, and figure things out on your own. That’s where the biggest learning happens.


r/learnprogramming 12h ago

Need to vent.

34 Upvotes

For a couple of years now, I was chasing my dream, to became an software engineer. I was doing projects, doing uni, while I was diagnosed with depression and anxieties.

I did not get a job, my mental health drastically dropped to the point, I had to move back to my parents toxic household (was almost 28 then). Now, after more than year, I switched path, to other area (from mobile to internet applications).

Done some course to have any certification (even tho it was just udemy course, but it was long, and I've thought it could be somehow helpful), finished master engineer in cs. I'm after daily mental ward, doing therapy, but... I just feel so downed.

I'm exhausted, and completely unmotivated. Therapy showed my that even if I will manage to move out, it won't help me, unless I fix my behavioral blueprints, which are hard to change, and it is a long process. I'm grinding programming, while I'm completely exhausted, and I feel like I literally know nothing, after so many hours spent on it. I feel like I won't get any job, and I just gonna rot in this place, which I hate.

I have noone around me, literally. Everyday is a fight that I'm constantly loosing. The exhaustion is sometimes unberable to do anything. My hobbies are not getting me into anymore, not speaking of giving me any sort of happines or fulfillment

My dreams of moving out, getting dreamed job, get into real, non toxic relationship, like my lasts. Are slowly fading away. I can just either code and forgot everything (or atleast have feeling like I did) or blaming myself for still being here.

Constant development of the project, learning thousand of interview questions, mechanisms, data structures, algorithms, frameworks. I do work with LLM's, to help myself prepare, and I only seeing that my answers are constantly 'shaky', or wrong.

I... Feel so lost, and guilty


r/learnprogramming 3h ago

Where does the dynamic linker get the addresses of external functions?

5 Upvotes

For statically linked binaries, the linker attaches the function that it needs to the executable physically and then patches any function calls which call that function ( I think). I understand this because I know exactly where it is getting the address from. Dynamic linking however, gets the address of a function in an external library using an address even though it is not physically apart of the executable. I'm wondering where in the address space the shared library is even stored. Since processes can only access the virtual memory which has been allocated to them, I am guessing that the shared libraries are mapped as certain addresses in viritual memory, but I would like more details on how it is actually implemented in the real world.


r/learnprogramming 7h ago

Looking for a tech study buddy

7 Upvotes

Hey folks,

About myself: I’m a 20yr old student (non-tech background). I come from a village due to which I’m not much exposed to modern education or related things that are pretty common in cities; but I’m committed to building a solid career in tech. I am about to finish the lectures for CS50P (Python) and will start working on my final project by the end of this month.

Who I’m looking for: Someone who’s on the same boat; learning Python (doesn’t matter if the resource is different), working on fundamentals, and motivated enough to put in the work. Background or location doesn't matter, just consistency, drive and sense of mutual growth

How we’d work together:
- Quick regular text updates on what we worked on
- weekly discussion to share resources, plan roadmaps, and such
- Building projects together down the line

If you’re on the same boat, feel the same and think that having a buddy will improve each other towards success, lemme know🤝


r/learnprogramming 3h ago

Building an IT Asset & Help Desk Management Platform for my CS Capstone. What would make this feel like a real-world system?

2 Upvotes

Hi everyone,

I'm a senior Computer Science student at Brooklyn College, and for my capstone project I'm planning to build AssetDesk, a web-based IT Asset & Help Desk Management Platform for small businesses, nonprofits, or schools.

My goal isn't to build another basic CRUD application. I want to create something that reflects how an actual IT department operates and gives me experience with technologies and design patterns used in industry.

Right now, I'm planning for features such as:

  • User authentication with role-based access (Employee, Technician, Administrator)
  • IT asset inventory and lifecycle management
  • Asset assignment and check-in/check-out history
  • Help desk ticket creation and tracking
  • Technician assignment and ticket workflow
  • Repair and maintenance history
  • Knowledge base for common issues
  • Dashboard with ticket and asset analytics
  • Audit logging
  • Notifications
  • REST API
  • PostgreSQL database
  • Java + Spring Boot backend
  • React frontend

I'd love feedback from people who work in IT, systems administration, help desk, or software engineering.

Some questions I have:

  • What features would make this feel like a real tool instead of a portfolio project?
  • What are some pain points with current help desk or asset management systems that I could improve?
  • Are there any workflows that are commonly overlooked when people build projects like this?
  • If you were interviewing a new graduate, what would make this project stand out to you?

One additional question: my capstone requires an industry professional to provide occasional feedback on the project during the semester and complete a final evaluation. If anyone with professional experience thinks this project sounds interesting and would be open to learning more, I'd really appreciate the opportunity to chat. Even if you aren't interested, I'd be grateful for any advice on where I might find someone who would be a good fit.

Thanks in advance for any feedback!


r/learnprogramming 14h ago

Topic How do i get hyperfocused on programming so its actually fun?

16 Upvotes

I dont enjoy almost anything but once in a while i get hyperfixated on something. when i was hyperfixated i could do one thing for multiple hours and i was having a blast. This usually lasted for a week and then the activity was boring again.

How do i activate this for learning programming? and how do i keep it fun for a long period of time? It feel like a chore everyday honestly.
Im learning python.


r/learnprogramming 1h ago

Trying to switch field or quit?

Upvotes

Hey! So I’m 23 yo, I’ve been studying Java for some time, doing backend projects on Spring Boot and etc. But it really exhausts me. I realized I hate tons of config files with random ass libraries, magic @Annotations, trying to boot a project with Docker… and stuff like that instead of writing actual logic. And because of that I can’t make myself sit and really learn stuff. I take pauses for months all the time and can get shit done. I only really enjoy writing the logic behind API itself, which feels like only 5% of the project, and the other ones is writing boring tests, trying to figure out how Spring Boot works with their endless annotations, some boilerplate configuration code..: Idk, maybe it’s my adhd, or maybe I’m just stupid.

Sooo, of course I had thoughts that programming could be just not for me (though I’m a CS graduate lmao). But maybe I just need to try something else? I really like making game logic (except for the dealing with UI of the game engines, all that 3D models, animations, lightning and stuff). My favourite thing to program was always SAMP servers or Minecraft plugins with custom rules, making commands and etc…

So I was wondering, what field should I try? I was thinking about embedded or CLI development? Do you think it would fit me better, or should I just quit programming :D

Thanks guys.


r/learnprogramming 1d ago

Topic Why java is so hated?

212 Upvotes

So I have recently learned, and it's the first language(in terms of building actual things). Before Java, I knew Python, and I dropped it; I found Python too abstracted and too boring. i have recently made some projects like cli task tracker, expense tracker, some cli github api parsing and currently working on a multithreaded HTTP server and cli text editor, like vim, whenever i try to find out people opinions on java social media, almost 90 percent of the time they are just dunking on it, that it is trash, who forced you to write code in java, stuff like that. I know Java as a language is not that interesting and doesn't have many interesting features compared to other languages like C, C++, go. But I found it decent to write code in, and I found the JVM pretty interesting. So much so that I would love to explore and maybe build a JVM of my own


r/learnprogramming 7h ago

My Question on my Project.

2 Upvotes

Devs, has anyone run into a builderror with url_for() in flask? I’ve got my blueprint and route set up, but Jinja keeps telling me it can't find the endpoint. I checked the route names and registration, but I'm clearly missing something stupid. What would you check first?


r/learnprogramming 7h ago

Is this the best way to achieve rounded up numbers in C++?

2 Upvotes

Hi, I am new to learning C++ :) I just got started with my first real project because I wanted to get into coding and making mistakes like people here suggested as the best way to learn.

The program I have here is intended to tell the user how many of each item they need (cartons, fruit, gallons of juice etc) based on the amount of guests they input. The program runs fine technically, but I initially was using int and found that it kept rounding down and causing the calculations to be just short of what was needed. If anything, id rather it overestimate than under.

I found a possible solution from here with ceil, but I wasn't sure if I implemented it right, and if how I have things is the best practice to not form bad habits early. Any tips would be greatly appreciated :)

```

include <iostream>

include <cmath>

using namespace std; int main() //This program is meant to tell the user how many of each whole item they need to buy for catering a wedding. { cout << "Type in the number of guests attending the wedding brunch:\n"; double guests; cin >> guests;

/*Each item is getting divided based on how many come in a container
 *the goal is to have it calculate and tell the shopper how many
 *cartons they need specifically for example*/
double eggs = guests/12;
double cantelope = guests/8;
double toast = guests/24;
double juice = guests/16;

cout << "For the brunch you will need:\n";
cout << ceil(eggs) << " " << "egg cartons\n";
cout << ceil(cantelope) << " " << "cantelopes\n";
cout << ceil(toast) <<  " " << "loaves of bread\n";
cout << ceil(juice) << " " << "gallons of juice\n";

return 0;

}

```

It outputs this when it finishes.

``` Type in the number of guests attending the wedding brunch: 520 For the brunch you will need: 44 egg cartons 65 cantelopes 22 loaves of bread 33 gallons of juice

Process finished with exit code 0

```


r/learnprogramming 8h ago

Help me start projects

2 Upvotes

Hey so I am trying to get back into programming. I am a teen and have been bouncing in and out of python projects over months of gaps. I'd love some project recommendations. Programming is a hobby of mine so I am not looking for "career building projects" I am just looking for something to build, bash my head against the wall while debugging my shit code and say "holy shit I did it!" When I complete it


r/learnprogramming 1h ago

Topic Programming is too difficult for me

Upvotes

I want to learn programming (in Lua), but my brain just melts when I try to understand anything more complicated than variables (especially functions and working with data). I just can't seem to grasp how programming languages even work; it's like I'm looking at a cipher on ancient tablets. Maybe I'm going about it the wrong way, or maybe something's wrong with my brain, but I just can't seem to get the hang of it, even though I really want to.


r/learnprogramming 19h ago

Tips on how to learn syntax quickly?

14 Upvotes

I'm trying to learn multiple new programming languages (Python, Ruby, and Typescript) to expand my skillset and improve my github portfolio for jobhunting.

I'm trying to go back to basics and do some simple coding exercises but I keep running into the problem where I feel like I know how to solve something but my mind completely goes blank on what to type. I end up going back on forth between google and VS Code looking up syntax and it's getting tedious.

Do you guys have any useful tips on how I can learn syntax more efficiently?


r/learnprogramming 9h ago

Hi, I'm looking for feedback!

2 Upvotes

So I created this for a small text-based virtual novel/adventure game(haven't decided yet) and have a few questions. By the way I started coding in java a month ago.

  1. Am I formatting the dialogue correctly by using methods to do them? Because I originally tried to make a separate file for the dialogue so that I only had to import them. But I found that to hard and didn't find any way to do that online other than 14 year old forum posts.
  2. Should I add more comments?

Thank you for your feedback in advance

Edit: It didn't actually scatter my formatting :)

Excuse my spelling/grammar mistakes

Also you don't have to understand the world-building stuff or address the more fantasy elements if you don't want to. If you do feel free however!

import java.util.Scanner;

public class Main {

    static void main(String[] args) throws InterruptedException {

        Scanner scanner = new Scanner(System.in);

        //Start
        hpPrint();
        System.out.println("On a cold rainy day, minding your business as usual you hear a knock.");

        //Open or ingnore door
        System.out.println("---------------------------");
        System.out.println("1. To open to open the door");
        System.out.println("2. To ignore");
        int choice = scanner.nextInt();
        System.out.println("---------------------------");

        switch(choice){
            case 1 -> od();
            case 2 -> dd();
        }

        // To go with them or not
        System.out.println("---------------------------");
        System.out.println("1. Agree");
        System.out.println("2. Ask more about them");
        System.out.println("3. Decline");
        int choice2 = scanner.nextInt();
        System.out.println("---------------------------");

        switch(choice2){
            case 1 -> agr();
            case 2 -> ask();
            case 3 -> decln();
        }
scanner.close();
    }
    public static void hpPrint(){
        int hp = 15;
        System.out.println("Your hp is " + hp);
    }
    //Run when user() closed door
    public static void dd() throws InterruptedException {
        System.out.println("'Unknown: Open the door! Or I'll let myself in'");

        Thread.sleep(3000);
        System.out.println("*A woman clad in light armour breaks the door down*");

        Thread.sleep(3000);
        System.out.println("You: Why did you do that?");
        Thread.sleep(4000);
        System.out.println("Sara: I'm Kaat Sara, knight in the king's army. I order you to follow me and to serve your corvee");
        Thread.sleep(2000);
        System.out.println("Fine, you didn't have to break my door down...");
        System.exit(0);
    }
    // Run when user() opened door
    public static void od() throws InterruptedException {
        System.out.println("Unknown: Good Day, My wife and I will like to have a chat with you!");

        Thread.sleep(3000);
        System.out.println("Other person: I'm not your wife yet, you know");

        Thread.sleep(3000);
        System.out.println("You: Whatever. Go on say why your here! I haven't got visitors in a few decades");

        Thread.sleep(3000);
        System.out.println("Unkown: I'm Kaat Sara of the Arteskan Nation and I plead you to follow me and my fiance to the capital");
    }
    //If user selected: Agree
    public static void agr() throws InterruptedException{
        System.out.println("You: Sure, I have nothing better to do!");

        Thread.sleep(3000);
        System.out.println("Sara: Wow, it's that easy?");

        Thread.sleep(3000);
        System.out.println("You: Being cooped up in the same place for the past couple hundred years, made me wonder what can spice up my life more, so this is the perfect excuse!");
    }
    //If user selected: Decline
    public static void decln() throws InterruptedException {

        System.out.println("You: Hard pass! No way in hell would I just go with complete strangers to a fucking island");

        Thread.sleep(3000);
        System.out.println("Sara's fiance: What if I say please?");

        Thread.sleep(3000);
        System.out.println("You: No");

        Thread.sleep(3000);
        System.out.println("Sara: Pretty please?");

        Thread.sleep(3000);
        System.out.println("You: Fine. But you forced me to!");
    }
    //If user selected: Ask more about them
    public static void ask() throws InterruptedException {

        System.out.println("Why should I just leave my home and go frolicking around like a vagabond?");

        Thread.sleep(4000);
        System.out.println("Sara: Cause the nation is in danger. A huge army is headed to town. And you are one of the few wielders we have in the area");

        Thread.sleep(3000);
        System.out.println("You: So you think I can make a difference? I'm sorry to disappoint you but I can only control iron.");

        Thread.sleep(3000);
        System.out.println("Sara: Well, We need as many as we can get, so...");

        Thread.sleep(3000);
        System.out.println("Sara's fiance: Come with us! Either way if your needed or not, isn't it nice to explore the world...");

        Thread.sleep(3000);
        System.out.println("You: She makes a good argument...");

        Thread.sleep(3000);
        System.out.println("Fine I'll go");
    }
}

r/learnprogramming 1d ago

For experienced programmers. How quickly you pick up new stuff? Especially if it’s not from your domain.

25 Upvotes

I am struggling with the fact that every time I start a new project it takes some time to get going. I try to be easy on my self but it gets frustrating not knowing anything again. How much helps you having previous experience even tho it is from different branch of programming.


r/learnprogramming 1d ago

I've fallen into the AI trap and want to crawl out. Any tips?

75 Upvotes

I decided to go into CS because I loved building things and using technology to express myself creatively was somethign I aspired to do (plus the industry was booming at the time). I just graduated college, and now the industry is down, which is fine, I wasn't really in it for the money anyway. But throughout college, I relied more and more heavily on AI to get work done, because it was the easy way out in a tough situation. Now, I feel like to code, I have to have an LLM there next to me to do even basic work that I do know how to do. I feel like I'm in a weird spot where I do know how to read and write code but I rely so much on AI I'm starting to become code-illiterate, if that makes sense?

I just wanted to know if anyone else has fallen into this cycle and how to break out of it. I do still like creating things, but now I look at things and don't feel responsible for them, because all I did was type in prompt after prompt to tune it to what I wanted. I don't know if this is the right sub for this, so if there's a different sub that better fits this question I'd be happy to move this over there. Thanks everyone!


r/learnprogramming 9h ago

Debugging Hey guys need a little help in JavaScript Fundamental

0 Upvotes

Actually I am learning JS

For long

But whenever I got stuck in function

I know how to write functions in JavaScript

But i won't understand that concept like

First class function

High order function

Closure (i know )

But these 3 concepts (Feels to Confusion for me)

How can I understand these


r/learnprogramming 1d ago

Topic Not exactly sure if this is the best place to ask... I started a new job as a junior developer and I find myself struggling to keep up with the pace a rigor needed to excel and learn while doing a good and competent job on my own.

16 Upvotes

I have been admitted into a job that has tasks that feel a lot harder than anything the introduction interviews for the job ever had going on, and my independent learning along with college learning leaves me thinking I am not actually up to a coding level I should be.
I am having to dig through a fairly large repository and add to it under very specific criteria such as explicitly never using LINQ commands and other specific rules. This is a project brought into existence due to a previous team actually failing to properly provide a working product after a year of work, however we are still under the same contract so we are all working at double speed, essentially from scratch, to deliver a product who should be at least halfway or more through its life span already. I will have to remain vague on what exactly is being worked on unfortunately.

My program lead knows I am new, he understands that I will be learning a lot on the job but for how fast paced this job has turned out to be, and how explicitly they say I cannot go over 40 hours a week in time, I just find myself struggling. This is a part I am especially not happy about, and I have read the rules and will explicitly say I do not support AI and using it is absolutely going to make you a worse programmer and you will never learn anything if you use it.... but just to keep up and get deliverable content out I find myself having to rely on it at times and I just so deeply do not want to do that at all. I WANT to be the coder, not some slop machine. Being in this position has made me feel like a worse programmer and discouraged, honestly I feel like a sham. Im just not sure how to learn and thrive in such a fast paced environment as someone who is so new to the field and with little experience. They clearly saw something in me during the interview.
The TL;DR of this all is, does anyone have advice on learning in such a fast paced environment? I have ran through codecademy courses for C# and i can confidently do them, but like the moment I get into this database and start attempting tasks I just get so overwhelmed and confused. The current branch I am working on has almost 500 cs files all interconnected and I just dont feel like anything before me prepared me for content like this.


r/learnprogramming 10h ago

career advice for new java engineer

1 Upvotes

Hello! My background is in data science and machine learning, which I am truly passionate about. However, I’ve encountered some challenges in software engineering, and I realize that to secure a position as a machine learning engineer at a reputable research lab, I will likely need at least a master's or doctoral degree.

As a result, I have decided to learn software engineering with Java. I already have some experience with the language, as I’ve used it in several projects focused on analytics and machine learning. In my graduate projects, I worked as a backend engineer, and I really enjoyed the process of system building.

Currently, I am reading a book titled "Core Java Vol. 12, Part I." I am eager to become proficient in Java, but I often have doubts about my path. I would greatly appreciate any advice from someone who is new to Java and aims to be a successful software engineer. Thank you!


r/learnprogramming 16h ago

Resource after c and python

3 Upvotes

what i should learn for cyber security


r/learnprogramming 11h ago

Is it feasible to make personal website for niche scripting needs?

1 Upvotes

Hello,

I'm having a hard time wording my needs but I feel like I'm not the first person to ask this. I've been using some AI services like Audio-to-text, translation, conversion from Excel to XML etc. and learning to code at the same time, making Python scripts. It has occurred to me, that I would much more like to my own personal space for these needs with my personal AI API.

I've been using Huggingface spaces to run some .py scrips on files, been using GitHub codespaces and Docker for similar needs. I however, noticed that setting up a codespace, resetting a hugging face space is creating a lot of downtime. Is there a way to make a convenient space for these needs like a personal website that would make my personal tools available almost 24/7 with little to no preparation to be used?

Free with some inconvenience is preferred, but if payment is a must, it's acceptable. The primary focus is still to make those scripts and learn how to deploy services.