r/learnprogramming 22h ago

Use of AI in personal projects

0 Upvotes

I have some experience writing graphics applications with c++ and opengl/vulkan. I had not done any sideproject for almost a year now, but as I had recently started a java web developer job I wanted to explore java for games too, with lwjgl for opengl bindings.

I want to make a simple portal clone with just 1 or 2 levels, collisions and not much more, just a demo that won't require me months or years.

But I was wondering if I should use AI to skip somebof the boilerplate initial code. Graphics applications, even opengl, require you to write quite a bunch of code just to display a single thing on screen, and in really simple demos where you dont have to really think on complex architecture or optimizations is more or less the same. So i was thinking on writing the clases and its method definition by hand and letting claud fill the implementation of thing like shader, mesh or model renderer clases. At least for having something fast to begin with.

But as i want to publish it on GitHub and it is just a personal project i feel like using AI is like cheating, i mean, I do not obtaing anything about the project but experience and if I ever wanted to show it in a job interview/portfolio I'll feel bad for not having written everything by myself.

In my job I use AI a little bit, and I also use it for asking things when I do not find an answer on YouTube, but for personal things i feel quite bad for creating something open source with ai if I know how to write it by hand, almost like an impostor. I learned to code quite some time ago, way before entering university and the AI boom, and I might have some respect to writing Code at hand and learning frameworks that's just outdated. So i would like to know if there are people who use ai on their personal "toy" projects or how common it is


r/learnprogramming 8h ago

Did you know the true Deep Copy Solution?

1 Upvotes

One of the most underrated yet powerful features in modern JavaScript is structuredClone(). Many developers still rely on JSON.parse(JSON.stringify(obj)) for deep copying, but that approach has serious limitations that often lead to subtle bugs. structuredClone() is a native browser and Node.js API that performs true deep copies without those pitfalls.

Below is example:

const original = {
  name: 'JavaScript',
  date: new Date(),
  skills: new Set(['JS', 'TS']),
  nested: { arr: [1, 2, 3] }
};
// Create a circular reference
original.self = original;
const clone = structuredClone(original);
console.log(clone !== original);                // true
console.log(clone.date instanceof Date);        // true
console.log(clone.skills instanceof Set);       // true
console.log(clone.self === clone);              // true (circular reference preserved)

I hope this was helpful for your JavaScript learning.


r/learnprogramming 17h ago

Hate AI

90 Upvotes

I love coding. I truly am.

When I started, I enjoyed most programming languages . I love learning their different core concepts, execution models and things like that.

I still love that.

But now in my new job, the only thing I am supposed to do is prompt and think about business requirements.

Even though I love architecture and system design system , I don't even have a chance to have grasp on them.

Any other tech jobs where I can enjoy coding and low level things?


r/learnprogramming 21h ago

Geniune question, how do I learn programming practically?

21 Upvotes

I asked my lecturer a while back how, and he basically said to read up on the books and practice. I understand his advice, but I wish to look for a meaningful project to better facilitate my learning. Any advice on how I should proceed? I get that I can redo my coding assignments to make them better, but I really am looking to write programs that would help me instead.

Thanks in advance for the advice


r/learnprogramming 19h ago

3rd-year CS college student with zero practical coding skills. Where do I actually start with Frontend?

45 Upvotes

Hey everyone! I’d really appreciate some advice from experienced devs on how to kick off self-learning and which resources are actually worth following.

I’m a 3rd-year college student majoring in Software Engineering. College has been a huge letdown: I feel pretty demoralized because I still can't really code, struggle to focus, and don't know where to find good learning materials (clear courses, sites, or YouTube channels).

Right now, I’m leaning towards Frontend. My college teachers suggested this roadmap: HTML → C# → JavaScript → SQL.

Does this stack even make sense for starting in frontend? What proven resources would you recommend for a complete beginner? Thanks a lot!


r/learnprogramming 45m ago

Code Review An automation application to claim games from the Epic Games Store in Python. The reason I am making it is because I am just too lazy.

Upvotes

I am a student,

I build this on python for claiming the free games weakly on epic game store using patchright library.

I known there are some issues and its open to contribute ,can someone review and tell suggestions and feature recommendation.

repo -https://github.com/pinacus/Gamico-Claim


r/learnprogramming 5h ago

career advice Looking for feedback on my CS career roadmap

0 Upvotes

Hi everyone,

I’ve put together a roadmap for my Computer Science career and would really appreciate feedback from people working in the industry.

I’ve done some research myself, but I’m not sure if I’m prioritizing the right skills or spending too much time on certain areas.

I’ve attached my roadmap below. I’d especially appreciate feedback on:

  • What I should prioritize or remove
  • Whether the learning order makes sense
  • Any important skills/topics I’m missing
  • Whether this roadmap is realistic for becoming job-ready

I’m looking for honest, constructive feedback from people with industry experience.

                         ┌─────────────────────┐
                         │   COMPUTER SCIENCE  │
                         └──────────┬──────────┘
                                    │
                ┌───────────────────┴───────────────────┐
                │                                       │
                ▼                                       ▼
     ┌──────────────────────┐                ┌────────────────────────┐
     │  CORE CS FOUNDATION  │                │ ENGINEERING FOUNDATION │
     ├──────────────────────┤                ├────────────────────────┤
     │ Programming          │                │ Software Engineering   │
     │ DSA                  │                │ Git / GitHub           │
     │ OOP                  │                │ Linux                  │
     │ Discrete Mathematics │                │ CLI / Shell            │
     │ Computer Architecture│                │ Debugging              │
     │ Operating Systems    │                │ Testing                │
     │ Computer Networks    │                │ Documentation          │
     │ DBMS                 │                │ Clean Code             │
     │ Security Fundamentals│                │ Design Principles      │
     └──────────┬───────────┘                └───────────┬────────────┘
                │                                        │
                └──────────────────┬─────────────────────┘
                                   ▼
                    ┌──────────────────────────┐
                    │      DEVELOPMENT         │
                    │   Programming Languages  │
                    └────────────┬─────────────┘
                                 │
                 ┌───────────────┴───────────────┐
                 ▼                               ▼
        ┌─────────────────┐             ┌─────────────────────┐
        │      JAVA       │             │       PYTHON        │
        │     Backend     │             │   Data / Automation │
        └────────┬────────┘             └──────────┬──────────┘
                 │                                 │
                 └────────────────┬────────────────┘
                                  ▼
                       ┌─────────────────────┐
                       │    WEB / BACKEND    │
                       └──────────┬──────────┘
                                  │
             ┌────────────────────┼────────────────────┐
             ▼                    ▼                    ▼
      ┌──────────────┐    ┌────────────────┐   ┌──────────────────┐
      │ HTTP         │    │ REST API       │   │ Authentication   │
      │ Web          │    │ Backend        │   │ Authorization    │
      │ JSON         │    │ Frameworks     │   │ API Security     │
      └──────┬───────┘    └───────┬────────┘   └────────┬─────────┘
             │                    │                      │
             └────────────────────┼──────────────────────┘
                                  ▼
                       ┌─────────────────────┐
                       │     DATABASES       │
                       └──────────┬──────────┘
                                  │
                  ┌───────────────┼───────────────┐
                  ▼               ▼               ▼
             ┌─────────┐    ┌──────────┐    ┌──────────┐
             │   SQL   │    │  RDBMS   │    │  NoSQL   │
             └────┬────┘    └────┬─────┘    └────┬─────┘
                  │              │               │
                  └──────────────┼───────────────┘
                                 ▼
                      ┌──────────────────────┐
                      │   DATA ENGINEERING   │
                      └──────────┬───────────┘
                                 │
             ┌───────────────────┼────────────────────┐
             ▼                   ▼                    ▼
   ┌──────────────────┐  ┌──────────────────┐  ┌──────────────────┐
   │ Data Modeling    │  │ ETL / ELT         │  │ Data Pipelines  │
   │ Data Warehousing │  │ Distributed       │  │ Batch / Streaming│
   │                  │  │ Systems           │  │                  │
   └────────┬─────────┘  └────────┬─────────┘  └────────┬─────────┘
            │                     │                     │
            └─────────────────────┼─────────────────────┘
                                  ▼
                       ┌─────────────────────┐
                       │    CLOUD / DEVOPS   │
                       └──────────┬──────────┘
                                  │
              ┌───────────────────┼───────────────────┐
              ▼                   ▼                   ▼
     ┌──────────────────┐  ┌───────────────┐  ┌──────────────────┐
     │ AWS / Azure / GCP│  │ Docker / CI/CD│  │ Kubernetes       │
     │Cloud Architecture│  │               │  │ IaC / Terraform  │
     └─────────┬────────┘  └───────┬───────┘  └────────┬─────────┘
               │                   │                   │
               └───────────────────┼───────────────────┘
                                   ▼
                    ┌────────────────────────────┐
                    │     DISTRIBUTED SYSTEMS    │
                    │   Scalability / Reliability│
                    └─────────────┬──────────────┘
                                  │
                ┌─────────────────┼─────────────────┐
                ▼                 ▼                 ▼
        ┌──────────────┐   ┌──────────────┐  ┌──────────────────┐
        │ Caching      │   │ Messaging    │  │ Load Balancing   │
        │ Redis        │   │ Kafka        │  │ CDN              │
        │ Queues       │   │ Streaming    │  │ Replication      │
        └──────┬───────┘   └──────┬───────┘  └────────┬─────────┘
               │                  │                   │
               └──────────────────┼───────────────────┘
                                  ▼
                       ┌─────────────────────┐
                       │    SYSTEM DESIGN    │
                       ├─────────────────────┤
                       │ Low-Level Design    │
                       │ High-Level Design   │
                       │ Architecture        │
                       │ Scalability         │
                       │ Availability        │
                       │ Reliability         │
                       │ Performance         │
                       │ Security            │
                       └──────────┬──────────┘
                                  │
                                  ▼
                       ┌─────────────────────┐
                       │   SPECIALIZATION    │
                       └──────────┬──────────┘
                                  │
       ┌──────────────┬───────────┼───────────┬──────────────┐
       ▼              ▼           ▼           ▼              ▼
┌──────────────┐ ┌────────────┐ ┌───────────┐ ┌──────────┐ ┌──────────────┐
│ Backend /    │ │    Data    │ │ Cloud /   │ │ ML / AI  │ │Cybersecurity │
│ SDE DEEP     │ │ Engineering│ │ DevOps    │ │ DEEP     │ │ DEEP         │
│              │ │ DEEP       │ │ DEEP      │ │          │ │              │
└──────┬───────┘ └─────┬──────┘ └────┬──────┘ └────┬─────┘ └──────┬───────┘
       │               │             │              │              │
       └───────────────┴─────────────┴──────────────┴──────────────┘
                                      ▼
                         ┌─────────────────────────┐
                         │  ENGINEERING EXCELLENCE │
                         └────────────┬────────────┘
                                      │
                    ┌─────────────────┼─────────────────┐
                    ▼                 ▼                 ▼
             ┌──────────────┐ ┌──────────────┐ ┌────────────────┐
             │ Problem      │ │ Communication│ │ Product        │
             │ Solving      │ │ Teamwork     │ │ Thinking       │
             │ Leadership   │ │              │ │ Business       │
             └──────┬───────┘ └──────┬───────┘ └───────┬────────┘
                    │                │                 │
                    └────────────────┼─────────────────┘
                                     ▼
                         ┌──────────────────────┐
                         │⭐ ELITE ENGINEER ⭐ │
                         └──────────────────────┘

r/learnprogramming 17h ago

What type of code makes someone's eyes bleed?

21 Upvotes

I saw a comment under a video where a user ranted about their coworker or employee(?), saying something along the line of "seeing his code made my eyes bleed". I have seen similar comments about bad code, shitty code, etc...

So, what exactly makes someone bleed through their eyes? what make code bad even if the output is fine? And what type of advice would you give to a newbie, for them to prevent receiving such remarks in the future?


r/learnprogramming 12h ago

How much should it take to make a simple physics engine

6 Upvotes

Hey everyone, for quite a while I have been working on a simple physics engine in c++ with SFML library, I have implemented some basic translation and currently I am refining the collision system.
The thing is I have been making it for really long time and I am not any kind of comp sci student I am just a mechE student who likes coding so I also have been spending quite a lot of time studying things.
My question is how long should it actually take to make a physics engine especially for my case? I have spent over 20-22 hours trying to do things and I been feeling like a loser for spending too much time on this


r/learnprogramming 16h ago

How to actually get out of Ryder and make something that works?

1 Upvotes

I learned my programming skills in Unreal Engine using an IDE, eventually going from their blueprint system to writing C++. Because it's all integrated, I've never needed to worry about how the sausage gets made, so to speak, and have been focused on engine logic and their API stuff. Recently, I've come across a need to input large amounts of strings and organize them into an array (which would be stored in an excel spreadsheet, turned into a CSV and brought into the engine).

I know how to *actually* write the code to format the strings (at least in C++), but I want to be able to have this function as a standalone thing which I can give to other people, have them fill in the inputs, and then click a button and get the string formatted correctly.

Basically, I'm asking how to go about creating a standalone application with the ability to find inputs, parse them, and then automatically create a file (even a simple txt. file would be fine). This is wholly out of my wheelhouse, so much so that I'm not even sure if I'm asking the question properly, and was really hoping if anyone has any advice on where to get started (if not how to actually complete the task).

Also, I would prefer not to use a solution that involves AI. I understand I could probably just give chat GPT my strings and the formatting instructions, but I want to know how to do this. Thanks so much!


r/learnprogramming 18h ago

What matters more for a developer's career deep technical knowledge or the ability to solve problems effectively?

1 Upvotes

For seasoned developers, coding is only one aspect of the job other aspects of the job include having knowledge of systems, debugging problems, technical decision-making and communication of technical decisions. I would love to know what experienced developers think of all the skills that an early career developer must have which skill do you think he should concentrate on?


r/learnprogramming 16h ago

request for criticism and improvement for my language based on LLVM (MK language) a language without complexity and typed

1 Upvotes

hello guys

okay who could give me a code review and criticism on my compiler of my language (MK language written in C++ via LLVM) and how to implement bool type please :)

and can also contribute if my language project interests you, in any case it's a project that is close to my heart and together we can create this dream language

here is the link for MK-lang : https://codeberg.org/drex_vk/Mk-Lang


r/learnprogramming 23h ago

Where am I right now, or how do you survive and get into a new field?

6 Upvotes

I’m 24, currently living in Eastern Europe, and I’ve spent pretty much all my time working with people. I’m getting a little tired of it — solving other people’s problems while putting my own aside.
I decided to try programming. I’ve wanted to try it since I was a kid, but 10 years ago there wasn’t nearly as much information available, and later I just didn’t have the time — between work and sleep.

I chose a course, but honestly, I mostly needed it to keep myself on a schedule, or to ask a question when I got stuck during the learning process, since it was online. I was mostly studying on my own anyway.

I finished a Python development course and started thinking about what to do and where to go next. I already had a few small pet projects, but I decided that I needed to build something more serious so that I would definitely get an offer. I started building a marketplace backend, simply because that was the first thing that came to my mind.

So now I have several bots, an expense tracker with OCR for receipts, and a Django backend, and I’ve been looking for a job for almost 3 months.
I look at job postings — I can do everything listed in the job posting. Then I see 1–3 years of experience required for a junior position. Am I missing something? If you’re a junior with 1–3 years of experience, how long are you supposed to stay a junior? From what I understand, my applications go straight into the trash simply because I didn’t write in my CV: “Looking for a junior position with 10 years of experience.”

There is one more option left — soft skills. But that seems even more impossible to me. For almost 10 years, I haven’t really had any friends. I mostly communicate with my girlfriend, or have some small talk with people on the street, at the supermarket checkout, in a parking lot — nothing more.

I’d be interested to hear how other people looked for their first job, or maybe someone just has something to say :)


r/learnprogramming 23h ago

Topic What system did you massively over-engineer early in your career?

57 Upvotes

I keep noticing how easy it is to build a techncally 'elegant' system for a problem that probably only needed 50 lines of code. It seems especially common when you’re trying to make everything reusable or future-proof before you actually know what the project needs. For developers who have shipped a few projects, what’s the stupidiest thing you remember over-engineering? I’d also be interested in what rules you use now to decide whether something genuinely needs abstraction versus just solving the immediate problem.


r/learnprogramming 15h ago

Chess terminal game in C

20 Upvotes

As a first-year computer engineering student, I decided to tackle building chess in C. I've just wrapped up the first module with local multiplayer support. Next up is module two, where attempt to build a custom chess engine so users can play against a bot. I'd love to get your feedback on whether this is a solid learning exercise and what you think of the program overall!

Source: https://github.com/Ectarus/ChessTerminalC

~Ectarus


r/learnprogramming 13h ago

Tutorial I think I finally understand why I was stuck in tutorial hell.

75 Upvotes

I kept telling myself I needed to learn one more thing before starting a project because I didn't feel ready. So I'd watch another tutorial, feel like I understood everything, and then have no idea what to do when I tried something on my own.

Starting small projects and actually getting stuck has taught me way more. When I don't know how to do something, I have a reason to figure it out instead of just watching someone else do it.

I'm still pretty new to programming, but I wish I'd started building stuff sooner instead of waiting until I felt “ready


r/learnprogramming 16h ago

Resource prerequisites for DDIA

2 Upvotes

hi, so i’m a cs student planning on reading DDIA to start with system design and I was wondering on what subjects to brush up on before getting into it. I’m revising database management systems, computer networks and os currently. Anything further I need to know before diving into this book?


r/learnprogramming 16h ago

Struggling with programming

3 Upvotes

I'm going into my 2nd year of a aoftware engineering degree and I still understand nothing about programming, i've tried to create projects like people say to practice but as soon as I have to make something on my own I don't know what to do, right now im trying to focus on python and I just have to keep relying on tutorials to get anything done, I guess I just need advice on what to do next


r/learnprogramming 4h ago

I need a roadmap for C programming to learn real programming through projects (like ondin project).

4 Upvotes

Hi everyone I am a starting to learn C programming but can't do it because I get stuck in logic.

I know the fundamentals or the theory but can't implement them when I start to code something.

I recently stumble upon full stack like the odin project which has a roadmap and I kinda love it the way it has projects to learn well I want something like that for C programming too to learn low level language please can somebody recommend me a free resources (YouTube or a website) to learn.


r/learnprogramming 4h ago

GUI or translation theory

2 Upvotes

I have a serious question. I can pick only one of these two. What will be more beneficial if I want to become a software engineer. I already know C++ and I’m learning python rn and will start ML in December. But I have to chose today what I want from these two. The translation theory is about compilers and how they work.


r/learnprogramming 4h ago

I am learning different programming languages because nothing is feeling good to me. Can anyone give me some advice on this matter?

11 Upvotes

I have been self teaching programming languages for a few months. And I learned the basics of C, Python, HTML & CSS, and some parts of NodeJS, and a little bit of Java. None of these are feeling good to me.

Has anyone else gone through this feeling where no language feels satisfying early on?

If you have gone through this, can you give me any suggestions to get out of this loop and stick to one language? As you know I need to stick to one language in the future.

And for no reason I am feeling like I need to continue Python and start to learn C++. What do you think about this too? i am so frustrated.


r/learnprogramming 3h ago

I want to make a small app as a project but I don't know where to start

2 Upvotes

So i am a game developer and studied game development in university and all that but I have been thinking about expanding my skills into software development but unlike game development where we have a programs dedicated to making games (unreal, unity, godot, etc.) I dont really know how to do the same for software and non game apps.

Learning a new programming language isn't hard for me but when I look at job applications for software devlopment I mostly see them asking for things like Rust, Node Js, Python, java script or C++ (i did one semester of c++ so I guess i am fine with that) but considering the multiple programming lanaguages out there I dont really know which would be the best to learn to get my foot in the door.

So the project that I want to do and work on to achieve this is basically making an app for character creation for DnD similar to DnD Beyond. I play alot of DnD and I really hate DnD Beyond and any other app just has limits to how much stuff I can do with it or how many charactes I can create with it. So I want to just make a basic character sheet maker that displays stats, race features, abilities, classes, standard RPG stuff etc. And I dont know see where it grows from there and possibly add mobile support later down the line.

Where would I begin to start with something like this? Even if its just the basic stuff framework of it.


r/learnprogramming 3h ago

Making a 'Noita' + 'Binding of Isaac' style game, how would you script it?

3 Upvotes

Near complete beginner programmer here, challenging myself to make a roguelike game;

a 2-D top-down game in Unity similar to the binding of isaac, but based around customizable bullet firing patterns. I would like each item to affect at least 1 out of every 8 bullets fired on pattern, giving it a unique ability (i.e homing, explosive, elemental dmg, spreadshot etc.) with potential to layer affects atop eachother (i.e Noita) creating unique bullets. I've designed an inventory system with 8 slots (each one pertaining to a shot on a 1-8 firing round) with 8 additional slots above for layering.

...hopefully that made sense lol

Keeping in mind that I'm a beginner, what would be the best way to structure this with my scripting? I've heard some say its rule of thumb to give each item (bullet modifier) its own separate .cs script, others say it's easier to make a scriptableobject + ItemData + modular projectile effects.

If you're a c#/Unity veteran, walk me through how you would go about making this type of item/inventory system from scratch?

It would be super helpful to have an ongoing consultant figure, I would be happy to show more of my project if anyone would like to add me on discord :)


r/learnprogramming 2h ago

Topic Can I actually learn development by following end to end projects online?

15 Upvotes

Hey everyone, as the title says, can I actually learn development by following end to end projects online?
I’m a computer engineering graduate who just landed my first job ever. I have some basic knowledge of Python and C. I understand loops, functions, and have a very basic understanding of data structures, but that’s pretty much where I’m at.

I’ve been looking for a job for about a year and a half and I honestly don’t know why it took me this long to actually start developing my skills. Now that I finally got a job, I really don’t want to disappoint them or get fired.

They told me they aren’t expecting me to know much programming and that they’ll teach me, but I still want to be prepared. I just don’t want to be the person who slows everyone down because I don’t know anything.
My biggest problem is that I know the basics of programming, but I have absolutely no idea how to actually build something.

I’ve watched so many programming tutorials, but they always seem to go over the same things like variables, integers, loops, functions, etc. I already understand that stuff. What I don’t understand is how you go from knowing those things to actually building a website, an application, or any kind of real project.

I’ve tried following along with projects online, but then I start wondering if I’m actually learning or if I’m just copying what the person in the video is doing. If someone told me to build something from scratch, I honestly wouldn’t even know where to start.
One of my coworkers told me I should use AI to help me, but I really don’t want to become dependent on it. I want to actually learn how to solve problems and build things myself.

I feel pretty lost right now and I’m getting frustrated. I know I’m probably starting later than I should have, but I really want to improve and become good at this.
So what would you guys recommend for someone in my position? Is following end to end projects a good way to learn? If so, how do I follow them in a way where I’m actually learning instead of just copying?
I’d really appreciate any advice on what I should focus on or how I should go about learning from here.


r/learnprogramming 2h ago

I finally realized why following tutorials felt so easy

3 Upvotes

I used to think I was getting better at programming because I could follow along with tutorials pretty easily.

Then I tried building something without the tutorial open.

Completely different experience.

I’d know roughly what I wanted to do, but suddenly I didn’t know what to Google, what the error actually meant, or even what the first step should be.

I’ve started spending more time building small things from scratch, even when they turn out ugly. It’s frustrating, but I think I’m learning more from being stuck than I was from watching another 2-hour tutorial.

For people who’ve been learning for a while, what helped you make that jump from “I can follow this” to “I can figure this out myself”?