r/learnprogramming Mar 26 '17

New? READ ME FIRST!

822 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 2d ago

What have you been working on recently? [August 23, 2025]

2 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 5h ago

I built a free VS Code extension that turns code into pseudocode (for beginners who struggle to "read" code). What could I do to this to make it next level?

21 Upvotes

Hey everyone 👋,

When I first started learning programming, one of the hardest parts was looking at real code and trying to understand what it actually does in plain English. Pseudocode helped a lot, but writing it line by line was time-consuming. Fast forward to today, when I recently joined my internship, I had to navigate and understand a lot of complex functions in a language that I was unfamiliar with, wishing it could turn into English.

So I built a little side project: PseudoGen — a VS Code extension that instantly converts code into easy to read pseudocode.

Example:

Input:

def isAnagram(s, t):

if len(s) != len(t):

return False

Output:

Check if lengths of s and t are equal

If not, return false

Otherwise, build frequency counts...

The idea is to help beginners and experts see the logic without worrying about syntax.

It’s free on the VS Code Marketplace. I’d love feedback from this community to take this to the next level and make an impact:

  • Do you think this would help when learning?
  • What features would make it more useful for you?
  • Would you opt to run a local LLM so you don't have to use an OpenAI API key?

Thanks, and I hope this helps someone who’s struggling like I did!


r/learnprogramming 37m ago

What are the best beginner-friendly tools for learning API testing?

Upvotes

I’m currently learning how to build and interact with APIs, and I realized that half the challenge is actually testing them properly.

There are so many tools out there, and it’s a bit overwhelming to know which ones are actually worth learning when you’re starting out. I’d love to get advice from this community.

Here’s what I’ve found so far (please correct me if I’m missing something):

Postman → Probably the most popular. Great GUI, lots of tutorials.

Hoppscotch → A lightweight, open source alternative to Postman. Runs in the browser or self-hosted.

Bruno → Stores collections as plain text, easy to version control (great for teams).

Hurl → CLI-based, tests APIs using simple text files. Super clean for automation.

Yaak → Made by the original Insomnia founder. Sleek UI.

SoapUI → Bit older but strong if you need SOAP and more complex protocols.

Apidog → Similar to Postman, but I noticed it has a neat offline mode and works well for designing + mocking APIs.

Thunder Client (VS Code extension) → Really handy if you don’t want to leave your editor.

For someone still learning programming, what would you recommend focusing on first? Should I start with a GUI tool like Postman/Bruno/Hoppscotch, or dive straight into CLI stuff like Curl/Hurl to build stronger fundamentals?

Would love to hear what worked for you all when you were learning API testing.


r/learnprogramming 14h ago

Do people do resume-websites anymore? For coders I mean.

73 Upvotes

Like websites which show off projects, what services you might offer, have a blog or such?

Or is it on Github pages or other specialized services?


r/learnprogramming 2h ago

How to learn programming effectively?

7 Upvotes

Hello, I am Tomy. I am totally beginner in python programming language. For the people like me who struggle when learning a language(in the middle field), we get stuck. I read python books but I barely improved. I can understand code but can't do it properly. What to do when somebody is stuck and not improving for a long time even trying hard???


r/learnprogramming 10h ago

Topic Are some codebases really unreadable or I am dumb?

28 Upvotes

Hi! I have been working as a web developer for two years and when I am looking at the codebases of the projects I am a part of I am unable to understand what is exactly going on. I simply believe that a lot of the code that is written today is unreadable but I am not sure if that's really the case or I am simply not skilled enough.

I used to be a perfectionist and when I was working on my own projects it would take even 30 minutes or more to simply decide on naming a variable. Overthinking kept me away from creating and that's the primary reason for which I've wasted a lot of time. I tried to aim for perfection but such thing doesn't exist. I remember once I had the ocassion to talk with a popular car designer at Renault about sketching cars and getting the perfect drawing and he answered me with "Only God can be perfect.". Later now, I was able to quit this toxic and not productive mindset of "aiming at perfection".

Still, that doesn't mean I don't have a sense for order and beauty (I think?). Yes, nothing can be perfect but there are worse or better ways of doing something. When it comes to code, I am a big fan or consistency. What do I mean by that? Be consistent in naming conventions, in programming paradigms and in the location of the created and used modules. I admire simplicity and I dislike complexity.

For example, one of the most recallable thing is that in the place where I work, when there is an request to update the CSS on a page, we overwrite the element rules. Instead of trying to locate and modify a class on a HTML tag they would write new rules using that tag's ID, would add style directly in HTML or use the !important rule specifier.

When it comes to what is JS, code is split around everywhere, hard to trace or reason about. That's something I noticed studying other online smaller projects. I am studying game development on my own at home and when I am reading the source code of some indies... code is literally a weird combination betweeing polling and event driven. I respect both paradigms but combining them, especailly with no comments or no consistency, turns into a nightmare to track. I prefer those 10000 lines of ifs in GameMaker than this weird combination of callbacks and procedural.

More than anything, I admire code that is consistent and ordered. If a module is chaotic, then that chaos is the module's chaos and trapped in there. If the module has proper wiring between input, outputs and isn't tangled with the main application as a complete monolith, that specific part can be much more easily refactored or replaced in case of need (for later optimization or other stuff).

Also, tutorials. Everytime and then when I want to start learning a new library or framework or whatever, tutorials simply get into unnecessary specifics. For example, I want a 2 minute tutorial to teach me about creating an endpoint. But most tutorials start to delve inside unrelated stuff like ORMs or authentification. Yes, these are important, but right now we were talking about url endpoints, right? That's like learning the piano and out of nowhere "yo, check out these guitar strings" when trying to become a musician.

I hope I didn't write too much BS but to end this post gracefully I will leave here my question (which is also present in the title) : Are some codebases really unredable or am I simply dumb? Is reading codebases a skill in itself? Then how do you become better at it? Has it ever occured to you to find a codebase where your first impression was "that's pure art!" ?
Thanks for reading.


r/learnprogramming 5h ago

Starting to take coding seriously, what should I look into learning?

8 Upvotes

Hi, a few months ago I made a website for a final project. I learned how to make the website by watching a tutorial on how to make a website using Flask. I ended up really enjoying the process and have found an interest in programming. I am really interested in making websites/ understanding how to make media platforms. I also have a strong interest in learning programming for robotics or even understanding how to make a basic ai chatbot. I'm not really sure where to start so, what are some programming languages I can look into or some videos I can watch to start learning??


r/learnprogramming 6h ago

Any LEGAL issues of adding a job scraper straight on my website ?

7 Upvotes

My vision is to help job seekers not just with resumes, but with relevant job postings in one place, almost like Skyscanner for jobs.

To do this, I’m exploring scraping job data from large sites to display curated postings. But as I dig deeper, I realize this is a legal and ethical minefield.

Has anyone here tried navigating this? What practices (if any) make scraping jobs less risky, or should I look at partnerships/APIs instead? Would love honest thoughts from other founders, solo makers, or anyone with firsthand legal/tech experience.

I have skimmed through some github projects which scrape job postings and I really loved this project: https://github.com/speedyapply/JobSpy, I have integrated it and works pretty neat.. Any suggestions are apprecitated.


r/learnprogramming 13h ago

Best place to learn how to code SaaS products?

27 Upvotes

Hey everyone, I'm currently a few months into my coding journey and I'd like to take the next step into building more advanced websites. I've been working through freecodecamp modules related to javascript and web dev, but applying these concepts to building real live products still seems super overwhelming to me.

Id like to find a more focused resource that will help me with things like integrating payments, analytics, and other practical things into my websites. Are there any youtube channels, platforms, or courses that might help put me on a more focused path?


r/learnprogramming 3h ago

Resource Who made this

3 Upvotes

Does anyone know who made this? Or what kinda of art exactly this is, or where to look for this sort of art. Any info would be appreciated

( https://vt.tiktok.com/ZSAUrs1eU/ )


r/learnprogramming 1h ago

What are the benefits to learning Rust?

Upvotes

So I’m almost done with my masters and I’ve basically only used Java. I have also learned C# by myself and made a few CLIs and a server to host my website backend. Currently I’m working towards either getting my Azure AZ-204 certification or continue learning Rust (I am on chapter 7 of the rust book currently). I’m just wondering if fully reading the rust book online would be better before starting the certification or not?


r/learnprogramming 10m ago

LED Alarm Help

Upvotes

I’m considering getting a Raspberry Pi Zero 2W to run a simple program that controls the USB slot at a specific time. I’ll also hook up an LED strip to use as an alarm.

My plan is to set up Flask so I can manage it from my phone. Eventually, I’d like to add more stuff like a speaker, screen, IR remote or if possible enable Alexa connectivity.

I know this might be a bit much 😂, but any tips or better suggestions would be awesome!


r/learnprogramming 12h ago

Why do I Learn Math Better When Programming Than When I'm in School?

10 Upvotes

I'm not sure if I'm the only person this applies to, but it's certainly very weird for me. For context, I am a sophomore, and in my two math classes Honors Algebra 2 and Honors Geometry, the concepts in there are not exactly impossible to understand, but a bit more difficult to grasp. However, when I learn mathematics for programming, it's much easier compared to math inside school. For more context, I am an ML Engineer, and I've learned much harder topics such as matrices, partial derivatives, derivatives, vectors, and overall just a good amount of calculus and linear algebra for programming. Although it's obvious that I'm not going into incredible depth with those topics, and it's only a basic understanding for what I need, I have created an entire AI from scratch before, and I'm creating another one with a shitty Scratch ripoff called MIT App Inventor, and for any AI nerds out there, that is not an easy task. You must be proficient in your understanding of programming & math, so how the hell can I do that but I can't learn what a domain and range is??

I'm not exactly sure why this happens to me, but it certainly is weird. I should also mention that I learn much better when watching YouTube videos on math compared to learning math in school, so maybe it's just the way I learn. I have an Honors Algebra 2 test on domain and range and a bunch of other things tomorrow such as like increasing intervals and stuff like that, so I'm going to try and figure out a way that I can implement those concepts into programming somehow. If anyone wants an update, I'll post it here.


r/learnprogramming 21h ago

Topic What’s a weirdly good way to learn coding basics (esp in Java)

43 Upvotes

Hello! I just started leaning CS and I feel lost haha! I need to learn how to code efficiently in Java in 4 months, do y’all have some tips? Other than the basic ones Thanks!


r/learnprogramming 43m ago

Solved How do you manage leftover files from old software when testing programs?

Upvotes

I’ve been trying out a lot of different IDEs and libraries recently, and I keep ending up with leftover folders and registry entries even after uninstalling. It clutters my PC and sometimes causes weird behavior when reinstalling new versions.
I’ve tried manually cleaning things up, but it’s time-consuming. Are there any safe and reliable ways you handle leftover software traces without breaking Windows?
(I came across some utilities like uninstaller.ipcmaster curious if anyone has experience with these for dev machines.)


r/learnprogramming 45m ago

Do interactive visualizations really help in understanding DSA?

Upvotes

I’ve noticed that most tutorials and books for Data Structures & Algorithms explain concepts with static diagrams or code snippets. But in practice, many learners (including me) find it hard to follow what’s actually happening step by step.

Imagine a tool that lets you:

  • Highlight each line of code as it executes
  • Watch arrays, stacks, trees, and graphs update in real time
  • Follow a problem from input → every intermediate state → final output

Do you think this approach genuinely helps in learning/interview prep, or is it just a flashy extra?


r/learnprogramming 45m ago

02 AI App Dev Log:Tech stack selection

Upvotes

This is a journey through technology, persistence, and collaboration. We're sharing every detail, from our tech stack choices to the real-world challenges we faced—an authentic account of our growth. We hope to connect with others who love to create, meeting you in code and conversation.

1. UI Design: Our Figma Workflow

For our project's UI design, we relied on Figma, a powerful online design tool. Figma isn't just about drawing screens; it’s a hub for real-time collaboration with a wealth of resources and features that make remote work highly efficient. For our team, the benefits of using Figma for UI design were obvious: it allows multiple people to edit simultaneously, dramatically boosting our workflow.

Because we worked remotely, our process involved scheduling evening meetings with all stakeholders to review new designs as soon as our UI designer completed them. The designer would explain the thinking behind each design choice and patiently help everyone understand the product's complex interaction logic. This open, transparent, and interactive communication style was crucial in optimizing our development process.

2. Client-Side Tech Stack

Choosing the right client-side development technology is a critical decision that directly impacts development efficiency, user experience, and long-term maintenance costs. Among many options, we ultimately chose Flutter as our cross-platform development framework for several key reasons.

Our initial goal was to launch our product on both the Google Play Store and the Apple App Store to reach the widest possible audience. Using Flutter allowed us to develop for both iOS and Android with a single codebase, significantly shortening our development cycle and reducing future maintenance work. This is especially important for a startup or a project that needs to quickly test market feedback. This doesn't mean other technologies are worthless; the best choice is always the one that fits your specific needs and target market. But for an app like ours, aimed at quickly responding to market demands and delivering an exceptional user experience, Flutter was the most suitable choice.

① Technical Architecture Comparison

|| || |Dimension|Flutter|Native Development| |Implementation Principle|Self-developed Skia rendering engine directly draws the UI, doesn't rely on platform widgets, compiles to native code via the Dart language|Uses platform native widgets (Android View/iOS UIKit), and directly calls system APIs| |Cross-platform Capability|codebase supports iOS/Android/Web/desktop, with high UI consistency|Requires separate development for Android (Kotlin/Java) and iOS (Swift/Objective-C/SwiftUI) versions| |Flexibility|Weak flexibility (AOT compilation), requires reliance on a DSL or server-side configuration|Can be updated via hotfixes or App Store review, but dynamic capabilities are limited|

② Performance Comparison

|| || |Dimension|Flutter|Native Development| |Rendering Performance|Near native (60fps), but complex animations or high-frequency interactions may have slight delays|Optimal performance, directly calls the GPU and system APIs, suitable for high-performance graphics/AR applications| |Memory Usage|includes the rendering engine and framework), app size is typically 20-30% larger than native|Lower memory usage, no extra runtime burden| |Startup Speed|Slightly slower than native (needs to initialize the Dart VM)|Instantaneous startup, directly runs machine code|

③ Development Efficiency & Cost

|| || |Dimension|Flutter|Native Development| |Development Speed|Hot reload (millisecond previews), single codebase, shortening the development cycle by 30-50%|Requires developing two separate codebases, with high debugging and integration costs| |Learning Curve|Requires learning the Dart language, but the syntax is similar to Java/JavaScript, making it easy for frontend developers to pick up|Requires mastering platform-specific languages (Swift/Kotlin) and toolchains, with a steep learning curve| |Team Setup|One Flutter team can cover both platforms, with lower personnel costs|Requires separate iOS and Android teams, with high hiring and maintenance costs|

④ Functionality & Ecosystem

|| || |Dimension|Flutter|Native Development| |Platform Features|Some low-level features (e.g., background services, Bluetooth) require calling native code via platform channels|Full access to all system APIs and hardware functions (e.g., sensors, secure modules)| |Third-party Ecosystem|Fewer plugins are available, but the community is growing fast (e.g., Firebase plugins are robust)|The most mature ecosystem (e.g., Android Jetpack/iOS CocoaPods)| |Maintenance Difficulty|A single codebase simplifies maintenance, but requires handling platform compatibility issues|Multiple codebases increase maintenance complexity, but platform feature adaptation is more stable|

3. Server-Side Tech Stack

Since our target market is overseas, primarily foreign users, we decided to use an overseas server to ensure a better service experience and faster data transfer speeds. After a series of investigations and considerations, we chose Google Firebase as our backend platform. Firebase offers a rich set of easy-to-integrate solutions, including cloud storage, multiple user authentication methods (e.g., email and password, third-party accounts), a real-time database, and detailed in-app behavior analytics. What's more, Firebase's pay-as-you-go model allowed us to flexibly adjust costs based on our actual usage.

For our tech stack, we chose Node.js as the main development language. It has a massive community and integrates well with all of Firebase's features. Additionally, for team members who are more familiar with Python, Firebase also provides excellent support. This means developers can choose the most suitable programming language based on their preference or the project's specific needs. Regardless of the choice, the most important thing is to make a comprehensive decision based on your own situation, such as budget constraints and team skills.

4. Payment Methods

When developing and operating an application that supports in-app purchases, choosing the right payment method is a crucial step. We adopted Google Pay and Apple Pay as our payment methods. However, during our actual testing, we encountered many problems, the biggest of which was unstable network connections. To ensure the subscription process can be completed smoothly during testing, we strongly recommend using a stable and reliable method for internet access.

5. Analytics

Once an application is developed and launched, analytics become unavoidable. Regardless of the user base size, effective data analysis is essential for understanding your app's operational status and user behavior. By collecting and analyzing data, developers can gain deeper insights into how users interact with their app, including key metrics such as user activity, frequency of use, and most popular features. These insights not only help optimize the user experience but also guide future feature development and service improvements.

Among the many available data analytics tools, we chose Google Analytics for Firebase as our backend service. This tool provides comprehensive and intuitive data reports, helping developers easily track every important step of the user's journey from installation to uninstallation. It supports various types of event tracking and automatically collects basic but very valuable information, such as session counts and screen views. Furthermore, by setting up custom events, we can monitor specific behaviors or conversion paths based on our needs.


r/learnprogramming 1h ago

¿Qué cursos recomiendan más para realmente APRENDER y aplicar a puestos de trabajo: Midudev o la academia de HolaMundo?

Upvotes

Hola a todos, Estoy por terminar la carrera de Ingeniería en Computación, y necesito conseguir trabajo lo antes posible para liberar mis "prácticas profesionales", que son requisito de titulación. Sé de todo un poco, pero siento que aun no estoy preparado para aplicar a los puestos de trabajo como programador.

Quiero invertir en una membresía de cursos. Las dos opciones que tengo son muy similares en precio:

HolaMundo - Nicolás Schurmann (https://academia.holamundo.io): Me gusta mucho su forma pedagógica, siento que explica de manera muy clara y ordenada.

Midudev - Miguel Ángel (https://midu.dev): Sé que está mucho más involucrado con el mundo laboral, entrevistas, reclutadores, y lo que realmente se pide en las empresas.

Mi duda es:

👉 ¿Alguien que haya comprado alguna de estas membresías (o las dos) me puede dar su opinión sincera?

👉 ¿Cuál les ayudó más a APRENDER (no solo teoría, sino realmente adquirir las habilidades para trabajar)?

👉 Si su objetivo fuera entrar a trabajar lo más pronto posible, ¿cuál de los dos elegirían?

Cualquier experiencia u opinión me serviría muchísimo. 🙏 Gracias de antemano.


r/learnprogramming 1h ago

Taking an intermediate level course after gap year

Upvotes

I’m about to start an intermediate level course for programming and I’m dreading it because my skills are rusty. I only took a beginner programming class last year and remember the concepts, but I’m so out of practice I don’t know if I’d be able to write anything. Will it be possible to get through this class with a weak foundation? I know its not smart to jump into this class unprepared, but I really need to take this class to get myself back in school. I expect to struggle, but im wondering if its still feasible to take this class


r/learnprogramming 1h ago

Mipmap Files

Upvotes

They have a cute name and the app launcher icons live there Don't delete them just because they're mipmap


r/learnprogramming 1h ago

Mipmap Files

Upvotes

Don't delete those just because you don't know what they are They have the cutest name and it's where app launcher icons live


r/learnprogramming 2h ago

best certification course for python

0 Upvotes

I am a PhD mathematics scholar from India, submitted my thesis and looking for assistant professor jobs here, but every institute i apply for is asking whether you will take python course for ug students. So i need your help for choosing the best python course with certification (also to mention, i am a beginner in python). Thank you all.


r/learnprogramming 2h ago

i need help please

0 Upvotes

i need help on this my pseudocode to flowchart


r/learnprogramming 2h ago

Debugging Flex Children don't align after I set max-width on them so that they don't grow after a certain point

1 Upvotes

I am creating a simple finance tracker and adding stuff to it as I learn. Recently I learnt about flexbox and added it to the site. When I set flex:auto; the tables grow to fill the space as expected, but for some reason they align to the left even though I have justify-content:center;.

From what I saw in the inspect tools, the right side of the table is being taken as a margin for some reason.

```

.output_table{
    /* margin-left: auto;
    margin-right: auto;  */
    font-size: 1.2rem; 
    flex: 1 1 auto;
    max-width: 600px;

}
#out {
    display: flex;
    flex-direction: row;
    justify-content: center;
    /* align-items: center;  */
    gap: 8px;
    flex-wrap: wrap;
}

```

Here is the link to the github: https://github.com/RahulVasudeva/Finance_tracker

On the github the max-width is not set but here is how it looks when its set.

And here it is when I set it to max-width: https://www.dropbox.com/scl/fi/0bqyxpsz88aljkoaos64l/Untitled.png?rlkey=bm6w4hrzmpzswjorpv0elzvn0&st=izllnmi4&dl=0

As you can see its not centered as I want it to.

Any other suggestions are encouraged as I am pretty new to this so if I write something less efficiently or something is wrong please do tell.

Edit: Here is the code pen link: https://codepen.io/rahulvasudeva/pen/gbaKKRw


r/learnprogramming 2h ago

Cerco tester per la mia app

1 Upvotes

Sono alla ricerca di persone disposte a fare da tester per la app che vorrei pubblicare sul play store. E' una applicazione per gli autisti che consegnano le merci per conto delle aziende. Fa parte di una procedura più ampia di gestione delle consegne che si integra con l'ERP aziendale. La app consente di avere la lista dei clienti da servire e di poter scattare fotografie, raccogliere la firma del cliente e inserire note. Per l'uso reale è necessaria l'integrazione con l'applicativo gestionale completo. E' riservata ad aziende. E' possibile effettuarne i test con apposite credenziali che non memorizzano nulla e presentano sempre le stesse fatture fittizie. Ringrazio sin da ora chi si rende disponibile.


r/learnprogramming 3h ago

Should I start HTML or Python to be a Software developer?

0 Upvotes

Hey everyone!

I’m a content writer looking to upskill and transition into software development. I’m a self-learner and have already started with HTML. Right now, I have a few resources lined up, including a web designing course on Coursera, a full stack developer course on freeCodeCamp.org, and several YouTube tutorials to strengthen my understanding.

The only challenge is I’m a bit confused. Should I keep moving forward with the way I’m currently learning, or should I start fresh with Python?

My ultimate goal has always been to become a software developer. Any guidance, advice, or suggestions from you all would mean a lot!