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 • • 3d ago

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

12 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 • • 52m ago

Help! I want to learn coding and game design but am completely clueless!

• Upvotes

I'm 19 female, and I'm interested in learning to code for game design as a career and trying to decide if I should go to college. I was homeschooled my whole life so careers/college was never a topic so now I'm completely lost. I'm interested in coding because I love the details of game design and I'm pretty sure that's a wide field but I know nothing about the business nor how to code so I'm looking for advice and some insight into what I'd be getting myself into, and mostly where I can learn coding/where to start/maybe a website to teach me or two. I am completely new to this, I don't know anything about the difference "languages" and all that so any advice/tips would be helpful! Thanks for reading.


r/learnprogramming • • 4h ago

Need help learning

5 Upvotes

Hello, I'm gonna deviate a little from the usual questions that I've seen so far on this subreddit.

I'm 34 yo and have always had a passion for coding, scripts, mods, and the like. I'm not here to switch over to programming or coding for job-related reasons, but mainly for myself and expanding on my interests. With how fast AI has been "evolving," I'm getting more and more intrigued by the idea of working with it. I would love to make smaller games at some point, or more sophisticated mods for games I like. I understand that I do not "need" AI to help me code or study, but I feel like if I don't hop into learning how to properly and safely use it, I will miss out or slow myself down unnecessarily.

What would be a good way of starting to learn, for example, C#? There isn't really a strong reason why I have chosen C# over anything else, besides the fact that I have some basic knowledge of it. I've tried, and still am trying, to go through "The C# Player Guide" book, but I would love to integrate AI somehow too so I'm not left behind, if that makes sense. I do not wanna take shortcuts or want AI to write code for me so I can cheat, but I would like to work with it if possible.

Do people recommend me to get an OpenRouter account going and start working with it to help me learn, or are there other options that I haven't explored yet?

Again, my focus is on learning it. While I do have goals as mentioned above, I understand that I can't just do it overnight.


r/learnprogramming • • 1h ago

How to level up when work is repetitive

• Upvotes

I have 2 years of experience as Java dev working as a consultant in DC area. I want to start applying for mid level roles next year but I feel like at my current role I not (and won’t) get any hands on experience for more advance issues other than fixing bugs and implementing small features here and there. My main concern is, regardless of what team I join, most of the projects are functional and it’s more maintenance. How can I gain more experience and what topics are expected for mid level devs to be efficient in.


r/learnprogramming • • 3h ago

Should I post about my language/compiler project here?

3 Upvotes

i know this is a low effort post but im just skeptical about doing it. i promised myself that i wouldnt do it until that project turns into something great. it does self host itself and it does not depend on anything as it has its own compilers and stuff. i also would not really like share my plans because if i would people would just copy them so i just try to keep my mouth shut until i officially release the language as 0.1.0. i mean i can still answer some questions if you all have any but if they do get to certain degree thats when i will keep my mouth shut

and just for your own knowledge: im not just here to make some basic language

(i came here after my post getting removed from other subreddit due to me having not enough karmas)


r/learnprogramming • • 19h ago

How you would start your learning in 2026?

12 Upvotes

Hey everyone,

I’ve always dreamed of learning how to code and landing a remote job with a decent salary. I’m 27, living in Brazil, and currently studying Electrical Engineering.

My main question is about the current state of the industry. With new AI models dropping practically every week, all I see online is people saying entry-level tech is doomed and salaries are tanking. Is that actually true, or do self-taught newcomers still stand a chance in 2026?

Also, if you were starting from scratch today, how would you approach learning?

I completed CS50, absolutely loved it, and then naturally transitioned to The Odin Project (TOP). But honestly, my progress has hit a wall. I ended up beating myself up trying to get through data structures and algorithms it’s been pretty frustrating. Is TOP still the go-to path in 2026, or are there better alternatives for full-stack/web development nowadays?

and whats the fastest way of landing a job on the industry, fullstack?

Would appreciate any honest advice or reality checks!


r/learnprogramming • • 15h ago

Would you write if-else in this example deliberately even if the for loop can handle it actually?

7 Upvotes

For example, there is a for loop to list the difference of scores at each time (in JavaScript):

for(let i = 1 ; i < scores.length ; i++){
    console.log("Score changes: " + (scores[i] - scores[i - 1]));
}

If there is no score or only have one score, the loop would not run, which meets the current requirement.

I'm curious if you would prefer add the if-else deliberately like the following:

if(scores.length >= 2){
  for(let i = 1 ; i < scores.length ; i++){
    console.log("Score changes: " + (scores[i] - scores[i - 1]));
  }
}

in order to remind yourself or other teammates that this loop is designed for scores with 2 or more elements only (especially for maintain and requirement changes). Is it necessary?


r/learnprogramming • • 1h ago

I’m 20, living on my own, and currently working a pretty tough job just to pay the bills. In my spare time, I’m grinding backend development under the guidance of my dad (a Senior Engineer).

• Upvotes

Hey everyone,

I’m 20, living on my own, and currently working a pretty tough job just to pay the bills. In my spare time, I’m grinding backend development under the guidance of my dad (a Senior Engineer).

My current status & stack:

  • Stack: Python, Django, SQL, PostgreSQL, Docker, Git, REST APIs, JSON, OOP.
  • Learning method: I don't code purely from memory. I search for solutions, watch tutorials, use LLMs, and — most importantly — cross-check AI answers against official documentation to filter out hallucinations.
  • English level: Reading & listening comprehension is around B1–B2. I can read docs and understand native speakers easily. However, my spoken English feels like A2 — I get stuck and stumble over words. I recently started practicing with a native US speaker, but it's still tough.

Where my anxiety comes from: My brother recently landed a Junior dev role at a European company (the hiring process was in Russian because of the team structure). In my case, I'll need to pass technical interviews fully in English.

I’m constantly worried that:

  1. The EU junior market is moving too fast and I’ll be left behind despite all this effort.
  2. Relying on Google, docs, and AI means I'm "doing it wrong" or not learning properly.
  3. My weak spoken English will instantly disqualify me during behavioral/technical interviews.

My questions to the community:

  • Is my learning methodology (using AI + verifying with docs) acceptable for a Junior, or should I be memorizing more?
  • How high is the language barrier for Junior Backend roles in the EU? Is basic tech-communicative English enough to get hired?
  • Any advice on pushing through the fatigue of balancing a bad job, living alone, and studying?

TL;DR: 20yo living alone, balancing a bad job while learning Python/Django + Docker with my Senior dev dad. Reading B1-B2 English, speaking A2. Worried about EU market shifts and failing English interviews. Looking for feedback and reality checks.


r/learnprogramming • • 15h ago

Termux/Shizuku

3 Upvotes

Can termux be run with shizuku and get the same privileges and freedom as if my device was rooted??? If not what are the differences and limitations between the two? I'm just practicing on a cheap non-rooted android ran moto g 2025 phone. TIA


r/learnprogramming • • 22h ago

How to improve at reading documentation?

8 Upvotes

Hey everyone, so I know reading documentation isn't the glamorous part of programming, and I'm still learning, but reading documentation is very difficult for me. Or at least that's how it feels.

Maybe I just need to focus on the parts I find practical?

I'm doing an externship and it's not supposed to be to difficult, but one of the assignments is to read about Java Spring Boot and learn about a cloud hosting platform, then write a formal proposal and design document for creating a system to keep track of a list of employees. We'll implement it later. Honestly, I'm not sure what I'm supposed to be doing when reading. Do I need to remember key details? Maybe it's better to just focus on the question and the work I need to do, and then focus on pulling what I need for the assignment? Or, maybe I'm just bad at reading and remembering things?


r/learnprogramming • • 21h ago

Advice on developing my first Java POS application for a small grocery store

7 Upvotes

Hi everyone,

I'm a web and mobile development student. I have some programming knowledge, but this is my first time developing a complete application from start to finish.

I've received my first request to build a POS system for a small grocery store, and I'd like to do a good job while also learning from the experience.

The store has only one cashier, so the application should be simple and practical.

The main requirements are:

- Register products by scanning their barcodes and entering their names, prices, and quantities.

- Scan products during checkout and automatically display their names and prices.

- Calculate the total and save each sale.

- Automatically update stock quantities after each sale.

- Review previous sales and check current inventory.

I'd prefer a desktop application that works offline on a single computer.

I'd like to use Java and a database, including SQL if needed, since these are among the technologies I've studied and want to apply in a real project.

I'd appreciate your advice on the following:

  1. Is there an existing free and open-source Java POS application that would be suitable for a small grocery store? I'd like to study its code, understand how it works, and modify it to meet the requirements.

  2. If such a project exists, which ones would you recommend, preferably projects that are reasonably well-organized, functional, and easy to modify?

  3. If modifying an existing project isn't a good option, would building the application from scratch be better?

  4. If I build it from scratch, what technologies would you recommend for the user interface and database?

  5. Could you suggest a step-by-step development roadmap suitable for someone who knows programming basics but hasn't built a complete application before?

Since this is my first client project, I want to choose a sensible approach rather than waste time on an unsuitable codebase. My goal is to deliver a working application while understanding the code and learning how to develop a complete software project.

I'd appreciate any practical advice, project recommendations, or lessons from your experience. Thank you!


r/learnprogramming • • 56m ago

Topic Python vs Java in 2026: Which should a beginner learn first?

• Upvotes

If you're starting programming from scratch, choosing between Python and Java can feel confusing. Both are useful languages, but a lot depends on what you want to build and how you prefer to learn.

Here's how I would approach the decision.

1. Python: easier to get started

Python has relatively simple, readable syntax, so beginners can focus more on programming logic instead of writing lots of setup code.

For example:

for i in range(5):
    print(i)

Python is a reasonable first choice if you're interested in:

  • Data analysis and data science
  • AI and machine learning
  • Automation and scripting
  • General programming fundamentals

One thing to remember: Python's simple syntax doesn't mean the advanced topics are easy. Data science and machine learning still require practice, statistics, and a good understanding of the underlying concepts.

2. Java: more structure from the beginning

Java requires more explicit structure, even for a small program. That can feel a little overwhelming initially, but it also introduces concepts such as classes, types and object-oriented programming early in the learning process.

Java is worth considering if you're interested in:

  • Backend development
  • Enterprise applications
  • Object-oriented software development
  • Working with Java-based frameworks such as Spring Boot

Java isn't necessarily a bad first language. If you already know that you want to build Java applications, starting directly with Java can make sense.

3. Which one should you choose?

My practical suggestion would be:

  • Completely new to coding and unsure about your direction? Try Python first.
  • Already interested in Java-based backend development? Start with Java.
  • Want to learn both eventually? Pick one, learn the fundamentals, build a few small projects, and then move to the second.

Whichever language you choose, spend time on variables, conditions, loops, functions, data structures, debugging, and problem-solving. Being able to build and explain a small program is more valuable than simply finishing a long tutorial.

Also, don't choose a language based only on claims that it guarantees better jobs or salaries. The relevant skills, projects, role requirements, and your ability to solve problems matter a great deal.

A question for people who have already learned one or both:

If you could advise someone learning programming from scratch in 2026, would you recommend Python or Java first—and what made the biggest difference in your learning experience?

I'd especially like to hear from people who started with one language and later learned the other. What became easier, and what was harder than you expected?


r/learnprogramming • • 21h ago

Looking for a Database Study Partner

3 Upvotes

I’m a junior backend developer working with PHP and Laravel, and I want to strengthen my database fundamentals.

I’m planning to study SQL, database design, indexes, query optimization, transactions, and concurrency.

Looking for someone interested in studying these topics together, sharing resources, solving exercises, and keeping each other accountable.

Let me know if you’re interested.


r/learnprogramming • • 22h ago

How to make an object move in one direction without stopping

6 Upvotes

I have this code here and it almost works perfectly. The issue is the object then bounces back and forth from where the mouse was and where the player is.

void Bullets::Update(sf::Vector2f mousePos, float dt)
{
sf::Vector2f center = playerpos + sf::Vector2f(radius, radius);
sf::Vector2f toPointer = SetDir(sf::Vector2f(mousePos.x, mousePos.y) - center);

playerpos += toPointer.normalized() * speed * dt;
}

if more code is needed lmk.


r/learnprogramming • • 1d ago

How do you guys handle keeping up with your skills and agentic programming

74 Upvotes

Hey guys so I've been learning programming since 2015-2016 when I was around 14.

My workflow lately is mostly just prompting/agentic programming and the reason is clear for me. I am just more productive that way.

On one hand, I don't find a reason nowadays to waste a week writing code when I could prompt what i want and see the result in 30 minutes.

On the other hand, progressing through a big codebase is a little bit harder now(even tho with how ai is being developed lately, I see improvements consistently in that segment).

The biggest issue, tho is I feel like my programming skills are getting very rusty, which I honestly dont really love. And with the ways things are heading as a guy who is for the lookout for a job (just finishing my uni degree at the moment) am wondering what being a good programmer will even mean/does mean when it comes to finding a job

I'm curious how other developers are dealing with this. If you noticed the same issues and if you are actively trying to keep your coding skills sharp or you are just shifting towards fully ai assisted development.


r/learnprogramming • • 1d ago

26 y/o Male Looking To Find a Coding Buddy

36 Upvotes

Just as the title states, I'm looking for a coding buddy. Recently decided to do a career switch. I left the Navy last April as an IT guy. Got a job in June as an Operations Analyst and got a taste for coding/programming. Is anybody interested in mentoring and/or learning alongside me? Really just need an accountability partner. I'm essentially going to be teaching myself to become a software developer. Cheers!


r/learnprogramming • • 1d ago

Beginning C++ through game programming, fourth edition.

5 Upvotes

I purchased this book a few years ago. And I was wondering how viable it is for learning, and if anyone has used this book, what are your thoughts on it. I'm turning forty in november, and i'm ready to pick up a new skill i hope this book can put me on the path to that.


r/learnprogramming • • 1d ago

How thoroughly should I check arguments to a function

13 Upvotes

Below is a function that takes in an array of objects and averages their `count` properties:

function computeAverageCount (group) {
  let n = 0
  let sum = 0
  group.forEach(curr => {
    const count = curr.count
    sum = sum + count
    n++
  })
  return n > 0 ? sum / n : 0
}

Let's say that these objects containing count properties were retrieved from a server, which documents that the `counts` are a number greater than or equal to zero. Also, this function is used as an internal helper in an application.

To what extent should I check the data coming in to the function? I could add checks in the function to ensure that the `count` is an integer that is greater than or equal to zero. But if I expect the server to only send those kinds of values, are these checks overkill? I suppose it's possible for something to go wrong server-side that would cause unexpected counts to be sent.

I appreciate the feedback.


r/learnprogramming • • 1d ago

Topic Python beginner

10 Upvotes

I’m a 1st year computer science student. I have no coding experience and my classmates can finished it like under 20 mins.

How do you code a word problem? I’m stuck of what I should code. I can somehow visualize it but I can’t put it code and I have upcoming midterm. Most of my midterm is word problem then create a function and return statement.


r/learnprogramming • • 1d ago

Topic Jetpack Compose vs XML for a beginner in 2026: what would you pick and why?

2 Upvotes

I just started learning Kotlin for Android and I’m confused about where to begin with UI. Half the tutorials I find use XML but everyone online says Compose is the future. If you were starting from zero today which would you learn first? Is XML still worth the time or is it mostly just old projects at this point?


r/learnprogramming • • 1d ago

Tutorial Fsd

1 Upvotes

I have started my journey with my own to learn full stack without playlist, but if i want to learn fast , I have to watch sm tutorials/ playlists, can smone can suggest the best worth playlist on YouTube

Note! Don't suggest apna clg/ code with Harry/..etc, no offence but II don't like personally!

Plsss suggest me sm worth playlist over thr


r/learnprogramming • • 1d ago

Confused on what to learn next !

2 Upvotes

Am a Pega Lead system with 19 years exp .. almost all in Pega. But off late Pega is being seen as a legacy app and not getting enough large scale projects. Just confused on what to learn next .. Salesforce or service now or something else .. to make a career in this AI era .. any suggestions..


r/learnprogramming • • 1d ago

Topic Looking for programming courses with independent projects to explore different fields

5 Upvotes

Hi everyone!

I'm a CS student, or rather, I recently dropped out of university because I realized that I didn't really enjoy the amount of theory involved in the Italian university system. I'd prefer a more hands-on approach to learning programming.

Thanks to my previous education, I already have some experience with programming languages such as Go (Golang), Java, C, and SQL.

A while ago, I found freeCodeCamp and completed its Responsive Web Design certification. I learned HTML and some CSS, but I never finished the CSS section because, to be honest, freeCodeCamp's learning method started getting on my nerves a bit. I found it too guided and repetitive.

I'd rather learn the basics of a technology and then work on projects independently, with minimal guidance, instead of following step-by-step instructions.

I'm not particularly attached to any specific area of programming, so I'd like to explore as many fields as possible, including web development, app development, backend development, game development, machine learning, and anything else that might be interesting.

I'm mainly looking for free courses or learning resources, preferably with plenty of projects that I can work on independently. Certificates would be a nice bonus, but they're not a requirement.

What courses or resources would you recommend based on your own experience? I'd especially appreciate suggestions that helped you learn by actually building things and solving problems on your own.

Thanks in advance!


r/learnprogramming • • 2d ago

What to make as a beginner web dev?

18 Upvotes

I currently know HTML, CSS and basic Javascript.

I want to expand my knowledge, but not learn other stacks, like react.js etc, right now.

I'm a beginner, so don't give me big projects. I worked to some projects, but couldn't contribute much.

I have also made a small portfolio website for a client (my first and last T-T, till now)