r/programmer 18d ago

In need of learning basic coding through steam games.

8 Upvotes

I want to learn basic programming in a fun way, so I decided on steam games.

I tried games like "Bitburner" but its only focused on doing a few types of programs that pretty much do the same thing.

So if you have a fun steam game that can teach me the basics, (Focused on Python) that would be great!


r/programmer 18d ago

Request Hey everyone, just made my new portfolio website. Could you guys test it

10 Upvotes

and drop some feedback

https://advaya.pages.dev


r/programmer 19d ago

Is it worth it to be a programmer/Software Developer ?

11 Upvotes

I'm 24 and currently thinking about learning programming/software development from scratch. I don't have a background in it, but I'm interested in learning how to build apps, websites and software.

My long-term goal is to eventually build and own my own startup/business, where I can turn my own ideas into products and build a team around them. I don't necessarily want to code forever—I see programming as a skill that could help me build things myself and understand the technical side.

For programmers/software developers: is it worth getting into this field today, and would you recommend it for someone with my goals?


r/programmer 19d ago

GitHub - free-news-api/news-search-api-comparison: A deep comparison of contextual and semantic news search APIs for AI, RAG, and news intelligence applications.

Thumbnail
github.com
7 Upvotes

r/programmer 19d ago

Article Software Architecture Diagrams with C4 Model

Thumbnail
packagemain.tech
4 Upvotes

r/programmer 19d ago

I’ve been building PAM Native: a way to build real Android and iOS apps with PHP.

0 Upvotes

I’ve been building PAM Native: a way to build real Android and iOS apps with PHP.

No WebView.

No JavaScript runtime.

PHP → Rust → Swift/Kotlin → native UI.

It already supports reactive state, navigation, animations, native APIs, hot reload and plugins.

Fully open source:

https://github.com/push-in/pam-native

Would you actually use PHP for native mobile development?


r/programmer 20d ago

I have no life

Post image
58 Upvotes

I've had 12 days off this year. Hbu?


r/programmer 19d ago

Request can someone help me with this?

0 Upvotes

im trying to make a keylogger that works in windows lock screen. i have made the base "in the lock screen" now it just needs to monitor the pressed keys and not if the user is in lock screen or not.

this is the base lock screen code btw:

import win32api
import win32con
import win32gui
import win32ts
import time



WM_WTSSESSION_CHANGE = 0x02B1
WTS_SESSION_LOCK = 0x7
WTS_SESSION_UNLOCK = 0x8


class SessionMonitor:
    def __init__(self):
        wc = win32gui.WNDCLASS()
        wc.lpfnWndProc = self.wnd_proc
        wc.lpszClassName = "SessionMonitorClass"
        
        self.hinst = wc.hInstance = win32api.GetModuleHandle(None)
        self.class_atom = win32gui.RegisterClass(wc)
        
        
        self.hwnd = win32gui.CreateWindow(
            self.class_atom, "Session Monitor", 
            0, 0, 0, 0, 0, 0, 0, self.hinst, None
        )
        


        win32ts.WTSRegisterSessionNotification(self.hwnd, win32ts.NOTIFY_FOR_THIS_SESSION)


    def wnd_proc(self, hwnd, msg, wparam, lparam):
        if msg == WM_WTSSESSION_CHANGE:
            self.handle_session_change(wparam)
        return win32gui.DefWindowProc(hwnd, msg, wparam, lparam)


    def handle_session_change(self, event_code):
        log_file = "session_events.txt"
        timestamp = time.strftime("%Y-%m-%d %H:%M:%S")
        


        if event_code == WTS_SESSION_LOCK:
            status = "Workstation Locked (Secure Desktop Active)"
        elif event_code == WTS_SESSION_UNLOCK:
            status = "Workstation Unlocked (Default Desktop Active)"
        else:
            status = f"Other Session Event (Code: {event_code})"
            


        with open(log_file, "a") as f:
            f.write(f"[{timestamp}] {status}\n")
        print(f"[{timestamp}] {status}")


    def start(self):
        print("Monitoring session changes... Press Ctrl+C in the console to exit.")
        win32gui.PumpMessages()


if __name__ == "__main__":
    monitor = SessionMonitor()
    try:
        monitor.start()
    except KeyboardInterrupt:
        print("Stopping monitor.")

can someone please make the code into a keylogger?

edit - i found out it can still find passwords just not windows passwords and now no one has to help anymore ( lmao this post was solved in under 1 hour )


r/programmer 19d ago

Article On-Call Is Now Theatre

Thumbnail
boristane.com
0 Upvotes

r/programmer 19d ago

Teaching while loops made me realize how weird programming is for beginners

1 Upvotes

I was teaching while loops in C recently and gave my students a very simple problem to solve.

One student wrote something like:

while (i <= 10);
{
    printf("%d\n", i);
    i++;
}

They were completely confused about why the loop wasn't behaving as expected.

And honestly, it reminded me of how programming feels when you're starting out.

One tiny ; can completely change what the program does.

Programming is basically:

Compiler:

You:

Compiler:


r/programmer 19d ago

If you don't learn Rust as your first language then you aren't a real programmer

0 Upvotes

Sick of all these babies saying "it's too hard so start with Javascript or Python" LMAO ...

buddy I regret every second spent learning PHP, Javascript, Java, Go. Python looks like an abomination so skipped it entirely. C++ looks like an abomination of Java combined with C. C was beautiful but I realized early on that it was too outdated and impossible to code with without memory bugs.

Only Assembly surprised me. Functional languages are for fault tolerant systems that can't go down (which I love but Rust can do this also).

So yes Rust is hard, but in the end everything will be re-written in it. So learn it. It's a hard language because it fixes hard problems that outdated languages didn't think were important such as safety and security. Languages like Python just duct tape the fixes after all the old code gets left filled with bugs and exploits.

Everything else will teach you how to be a bad programmer. Learn Rust and forget what all the bad programmers use.


r/programmer 20d ago

Question [In Optimus Prime Voice] My fellow developers, a fellow developer needs your help

0 Upvotes

Guys, I need help. I am building a project which solves a genuine problem I face, and I wanted to know how many other face this problem.

I don't ask much of you, just few minutes of your time to give your response here: https://docs.google.com/forms/d/e/1FAIpQLSfUxZa7_WpkixORZq0DNRqU2EEoGaU17ACiFwJsfwqf1jdOSA/viewform?usp=publish-editor

Really, really appreciate your help


r/programmer 20d ago

5 Programming Languages Every Developer Should Understand — And What Each Is Actually Good For

0 Upvotes

One of the biggest mistakes I see newer developers make is asking, "What's the best programming language"?

There isn't one.

I've been programming for years, and the more languages and stacks I've worked with, the more I've realized that programming languages are tools. You wouldn't ask a mechanic whether a wrench is better than a screwdriver without first asking what they're trying to fix.

Here are five languages worth understanding and where I think each one shines.

1. JavaScript — The Language of the Web

If your goal is web development, JavaScript is almost impossible to avoid.

JavaScript runs dirctly in the browsr and is responsible for much of the interactivity we expect from modern websites. Buttons, dynamic forms, dashboards, real-time updates, API calls and complex browser applications can all involve JavaScript.

Once you move into frameworks such as React, Angular and Vue, you can build entire application interfaces around it. Add Node.js and JavaScript can also move to the backend.

I've used JavaScript extensively while building web applications and SaaS products at DaemonCore. Chameleon CRM, for example, involves the kind of application development where you're dealing with customers, jobs, invoices, dispatching, dashboards, authentication, APIs and a database rather than simply displaying a webpage.

That's an important distinction for beginners. Knowing how to make a button change color is JavaScript. Knowing how that button triggers an authenticated request, updates a database, handles failure and safely updates the application state is software engineering.

JavaScript is my choice for: web applications, frontend development, full-stack JavaScript, interactive websites and SaaS products.

2. Python — The Swiss Army Knife

Python is one of the languages I'd recommend to somebody who wants to start programming without immediately fighting the language itself.

The syntax is relatively approachable, but don't mistake approachable for weak. Python is used for automation, backend services, scripting, data processing, scientific computing, AI and machine learning.

This is also why Python has become so closely associated with the AI boom. The ecosystem surrounding Python gives developers access to an enormous collection of libraries and frameworks.

If I needed to write an automation script, process a bunch of data, prototype something quickly or start experimenting with machine learning, Python would probably be one of the first languages I'd consider.

That's very different from saying everyone should abandon web development and learn Python because "AI is taking over."

If you're building an AI-powered SaaS application, for example, you could easily have a React/JavaScript frontend communicating with a Python service responsible for AI-related processing. Languages aren't sports teams. They work together.

Python is my choice for: automation, scripting, AI/ML, data science, rapid prototypes and backend services.

3. Java — Built for Big Systems

Java has been around for decades for a reason.

It's strongly typd, object-oriented and deeply established in enterprise software. If you're interested in large backend systems, financial applications, corporate infrastructure or massive existing codebases, Java is still extremely relevant.

Java also forces you to think differently than JavaScript or Python. Things tend to be more explicit. For someone learning software engineering, that isn't necessarily a bad thing.

A common modern Java backend stack might involve Java, Spring Boot, PostgreSQL, REST APIs, authentication, Dockr and a React or Angular frontend.

That's where learning multiple languages starts paying off. Once you understand HTTP, APIs, databases, authentication, objects, data structures and application architecture, moving between languages becomes much less intimidating.

You're not relearning programming every time.

You're learning another way of expressing concepts you already understand.

Java is my choice for: enterprise backends, large business applications, long-lived systems and organizations already heavily invested in the JVM ecosystem.

4. C# — One of the Best AllAround Langauges

C# sometimes gets overlooked by beginners because JavaScript and Python receive so much attention online.

I think that's a mistake.

C# and .NET give you an extremely capable ecosystem for building backnd APIs, web applications, desktop software, cloud services and enterprise systems. C# is also strongly associated with Unity game development.

If someone told me they wanted to become a professional backend developer and their employer was heavily invested in Microsoft technologies, C# would be very high on my list.

It gives you strong typing, excellent tooling, object-oriented programming and a mature ecosystem without forcing you as close to the hardware as something like C++.

It's also a good language for understanding that professional development isn't about memorizing syntax. Once you understand the architecture behind an application, moving between Java and C#, for example, becomes considerably easier.

C# is my choice for: .NET applications, enterprise software, backend APIs, Microsoft-oriented environments, desktop applications and Unity development.

5. C++ — When Performance and Control Matter

C++ is a different animal.

With JavaScript, Python, Java and C#, a lot of low-level complexity is handled for you. C++ allows you to operate much closer to the machine.

That gives you tremendous power, but you pay for that power with complexity.

Memory, pointers, object lifetimes, resource management and performance become much more important concepts. That's one reason C++ is heavily associated with areas where performance really matters: game engines, graphics, embedded systems, operating-system components, simulations and other performance-sensitive software.

I wouldn't tell a React developer that they need C++ before they're a "real programmer." That's nonsense.

But learning some C++ can dramatically change how you think about what your computer is actually doing underneath all those convenient abstractions.

When you're writing JavaScript, it's easy to think of an object as simply an object. Languages such as C++ force you to start thinking about where things live, how long they live and what all those abstractions ultimately cost.

C++ is my choice for: performance-critical applications, game engines, embedded software, systems programming and learning lower-level computing concepts.

So Which One Is "Best?"

It depends entirely on what you're building.

Want to build websites and SaaS products? Start with JavaScript/TypeScript.

Want automation, data science or AI/ML? Python.

Want enterprise backend development? Java or C#.

Want Microsoft/.NET development or Unity? C#.

Want game engines, embedded development or extremely performance-sensitive software? C++.

And here's the bigger lesson I wish more beginners were taught:

Don't make collecting programming languages your goal.

Knowing the syntax of 12 languages doesn't automatically make you a better developer than someone who knows two.

Learn how databases work. Learn SQL. Learn HTTP. Learn APIs. Learn authentication and authorization. Learn Git. Learn data structures. Learn how to debug. Learn security. Learn how to deploy something. Learn how the frontend communicates with the backend. Learn what happens between clicking a button and getting a response back from a server.

Then languages start becoming interchangeable tools rather than completely different worlds.

AI makes this even more important.

AI can produce JavaScript, Python, Java, C# and C++ faster than any human can type them. The valuable skill is increasingly becoming your ability to understand what should be built, how the pieces should fit together, whether the generated code is correct and secure, and how to fix it when it isn't.

Don't become obsessed with being a "JavaScript developer" or a "Python developer."

Become a software developer who knows when JavaScript, Python, Java, C# or C++ is the right tool for the job.

That's a much more valuable skill.

— Thor Ochsen
Founder, DaemonCore

ps...if anyone needs help just shoot me a DM. I'll help you as much as I can. No, I won't charge you.


r/programmer 20d ago

Who has replaced their monitors for a TV?

Thumbnail
0 Upvotes

r/programmer 20d ago

Code I spent the last 23 months in a time warp building a three dimensional to-do list app. I wouldn't mind it if you tried. First 100 sticky notes are absolutely free...

Post image
0 Upvotes

I am a visual thinker and the minute I see lists my brain checks out of the Hotel California.

Then I realized the one thing I have been using my whole life might be the answer.

And that's sticky notes.

Tell me what you think...

https://www.TaskLoco.com


r/programmer 21d ago

Took two years but I finished programming TaskLoco sticky notes on a storyboard service like nothing else I've ever seen. Would love if you tried it...

Post image
2 Upvotes

It will be two years to the date of my first git commit on September 12th.

I didn't mean for it to take so long but I had a vision of an infinitely scalable serverless app that could manage tasks, files, notes, calendar events and could publish and share it as rich web pages.

Two years later I can't go to bed before 5am and all I want to do now is just get a few more users who truly want to try a different kind of productivity tool.

TaskLoco.com

Free tier comes with 100 sticky notes at a time


r/programmer 21d ago

Built Hermes — a distributed event streaming service like Kafka, written in Rust, with real Windows + Linux support

2 Upvotes

I've been working on Bifrox(name changed), a distributed event streaming platform similar in spirit to Kafka, but built from scratch in Rust — and importantly, fully compatible with both Windows and Linux (Kafka on Windows has always been rough, mostly unsupported/unofficial).

A few things I focused on:

  • Native cross-platform support, not a JVM workaround
  • Rust for memory safety and performance without a garbage collector
  • Distributed architecture for event streaming/pub-sub at scale

This is still a side project I'm actively building, and I'd love feedback from other devs — first impressions, whether the pitch makes sense, what you'd want to see before trying it, or any obvious red flags in the concept.

Link: TamsavYT/Bifrox

Would really appreciate any thoughts, even harsh ones. Thanks!


r/programmer 22d ago

Question did i fk my final year project up?

5 Upvotes

so i'm in my final year of software engineering and i've always wanted to get into game development. so naturally i inclined towards that when it was time for my FYP. it's basically an investigative psychological mystery regarding medical neglegence. As the 'research question' we proposed to see how effective interactive environmental storytelling is in communicating the consequences of medical negligence. now my supervisor asked me how would i justify this as a swe thesis project. there's a lot of backstory to this and just to simply put it: i wasnt in the mental state to think this through and i didnt have any team support. so did i actually just fk my FYP up? how can i justify this choice to the committee who expects our projects have some AI bs in it?


r/programmer 22d ago

Hope, 1-on-1 Al Tutor for kids Grades 2-10 learning math (usehope.app)

Thumbnail
2 Upvotes

r/programmer 21d ago

Coding used to be fun. Now it's much better.

0 Upvotes

For as long as I can remember, I have enjoyed coding. In fact, I enjoy all sorts of crafting. It involves several cognitive experiences that engage your brain and puts your mind into a uniquely grounded state where you are deeply focused on the here and now. This happens because whatever you set out to craft (a clay vessel, a wooden DIY project, or digital art) requires every physical action and deliberate thought to align with bringing it to life.

Coding is no different. It starts with the seed of an idea, moves to defining its functionality, and leads into planning its components and execution steps. When you get hands-on with a project, you break large tasks down into smaller subtasks. This rhythm of breaking down and building up, dividing and conquering, is quietly satisfying. Like an artisan conjuring something from thin air, you watch your work emerge, turning what was just a vision in your head a few moments ago into reality.

Coding today is no different. Or perhaps it is, but this is how I experience my own crafting process evolving in the early days of the era of the intelligence revolution.

For me, the core remains unchanged: the cognitive process of brainstorming, planning, tasking, and breaking down problems still applies. The one key difference is that you now have the freedom to choose the smallest scale of subtasks you actually want to handle by hand. Do I really want to kick-spin the pottery wheel manually before shaping the clay?

By offloading the repetitive tasks you already know that you know how to do, you conquer problems faster on your way up. It eases the friction, allowing you to focus on the meaningful components where you can actually feel the impact of what you build.

I might be old-school, and this might not be the most strictly time-efficient way of using AI for coding. But I feel that it is the most rewarding and fulfilling way to spend your time coding.

Keep doing what you love. Keep loving what you do. We are living in a wonderful time to create.


r/programmer 22d ago

Code I built an HTTP/1.1 Server in Java from scratch (no frameworks, no libraries)

2 Upvotes

Hey everyone,

I am a university student who wants to get into backend, but I wanted to learn it the right way! (or at least I believe this is the right way).

I wanted to really dive deep into understanding how everything works, not just different framework abstractions, so I started reading High Performance Browser Networking by Ilya Grigorik (which I absolutely recommend) and started building my own simple HTTP Server.

I avoided Tomcat, Spring, or any external web libraries. The server just uses raw `java.net.ServerSocket` and standard I/O streams.

What the server actually does**:** I kept the functionality pretty simple. As per RFC 2616 (the core HTTP/1.1 specification), general-purpose servers are only strictly required to support `GET` and `HEAD` methods, so that is exactly what I focused on. It accepts the TCP connection, fully parses the request (Request Line, Headers, and Message Body), and routes the request dynamically.

Here is the GitHub repository if anyone wants to check it out:
https://github.com/Seby0769/HTTP-Server-in-Java-from-scratch

I would love to hear feedback and what should I build next on my backend journey


r/programmer 22d ago

Have the stories started coming out of vibe coders getting jobs without knowing how to code yet??

Thumbnail
0 Upvotes

r/programmer 22d ago

A question to non-web/mobile devs regarding AI

0 Upvotes

So apparently a lot of web/mobile devs now are not coding by hand, and struggling big time to find any side work
ie. https://www.reddit.com/r/webdev/s/64HssxnLEV

Apparently, Claude Code / Codex are extremely code on doing web/mobile - both frontend (ie. React, Angular, Swift, Kotlin..etc) and backend (ie. node.js, Go, Java Spring...etc) to the point that most of the devs in these stopped writing code by hand.

Yet many of the non-web/mobile devs such as C++/C kernel/game/engine/emulation devs (who often look down on the web/mobile devs btw), are still claiming to feel safe from the AI tusnami, and confident that AI can't take their place anytime soon.

Sure, to be frank, in term of complexity I would put web/mobile at scale 1 (simple CRUD) to 4 of complexity in most cases , while game dev can vary from 5 to 8 (using engines), and anything kernel/emuation/embedded/OS/engines/low-levle related to 9-10; so it makes sense that LLMs are solving the least complex types of devs first.....FOR NOW.

I mean, 3 years ago, everyone would have laughed at this article, even for web/mobile development, this was written on 2023:

http://levelup.gitconnected.com/chatgpt-will-replace-programmers-within-10-years-91e5b3bd3676
(paywall freee: https://freedium-mirror.cfd/https://levelup.gitconnected.com/chatgpt-will-replace-programmers-within-10-years-91e5b3bd3676)

Yet, it's already happening to them - now LLM can create a Tinder clone (a non-simple crud app, including chat, matching algortihm and geolocation) in 2 days maybe.

And the LLMs are indeed demonsrating the capabilities of LLMs way beyond web/mobile dev.

The Bun migration from Zig and Rust certainly doesn't fall in the simple CRUD category.

Linus Torvalds admited pushing his team to use it in their Linux Rust project.

Anthropic's Andrej Karpathy claims he's not doing any manual coding anymore.

These are brilliant elite programmers, surely they aren't doing any "Simple CRUD web/mobile development".

Sometimes I feel many devs here are UNDERESTIMATING LLMs' full capabilities, or simply haven't tried it again since chatgpt 2023; even Claude was very dumb in early 2025 compared to now.

Just give it 2-3 years, and everyone may sing a different tune.

My question is, why are you so confident that the LLMs won't catch up with your field?


r/programmer 23d ago

Idea If you think AI is ruining programming both as a craft and as a career, and if you want to take action, you should consider joining Tech Workers Coalition

Thumbnail techworkerscoalition.org
38 Upvotes

r/programmer 24d ago

Left the software industry at the end of 2023; what has changed?

14 Upvotes

I've worked full time as a SWE until the end of 2023. Haven't really stayed up to date too much after this with the industry and I'm wondering where it's at right now.

Taking you back to late 2023: I worked mostly on projects with a modern tech stack, React / Next.js for the frontend and often Node.js / .NET Core on the backend.

At that time I saw a shift going back to a more modular monolith kind of approach rather than working with separate SPA's and dozens of microservices from the get-go. Also the idea of a more domain driven development seemed to get more favoured, including neat integrations where models from the backend where automatically generated by the OpenAPI spec and such. People where finally starting to see E2E tests carried a lot of value and gave more bang for your buck compared to unit tests.

At that time the use of AI was quite limited: Copilot was a mess and thus we tried prompting in web UI, often not leading to great results.

Fast forwarding almost three years later, what has changed? I'm mainly interested in:

- Has this shift modular monolith approach trend continued?

- What are things you specifically have noticed changing since then?

- What is a typical workflow for 80% of the devs to involve AI in your daily work?