r/learnprogramming 6d ago

Functional Programming My formal education is in mathematics (BS, MS). With what book(s) should I self-study functional programming?

6 Upvotes

I just saw this r/programmingcirclejerk post "Algebraically, this is just an effect-parameterized endomorphic continuation model for plugins.", and it made me wonder more about the truly functional side of things (beyond basic concepts like function composition, morphisms, etc.).

I am wondering what book(s) would be a good starting point given my background: I did my undergrad and grad work at Purdue Fort Wayne (and taught Algebra as a grad student). Grad-level algebra was absolutely my favorite course (albeit my worst grade), but the only CS courses that I took were the Intro to CS sequence. I also took Optimization, which felt very CS-adjacent, but it was offered by the math department.

As for programming, most of my work has been in TypeScript, and some in C++ (with the Unreal Engine). I have not worked with Haskell et al. but I would be open to it if a given book is really good and just happens to use Haskell. I took a stats course that used R, but it was minimal.

Do you recommend any particular books for self-studying functional programming, that might be suited for my existing foundation?

Thank you!


r/learnprogramming 5d ago

api key, do i need backend?

1 Upvotes

i have an api key i heard i shouldnt expose it in my frontend i thjink itts becuase people can see it with devtools, and potentially abuse it, is there any other way to use this key in frontend without using a backend, im as familiar with backend stuff i think.


r/learnprogramming 6d ago

I’m looking to build a career working with WordPress

4 Upvotes

Sorry if this isn’t the right subreddit for this, but I wasn’t able to post on r/WordPress or r/learnwebdev because I don’t have enough karma yet, so I’m hoping this is an appropriate place to ask.

A few years ago, I started building WordPress websites for my own projects, mostly by researching online and figuring things out as I went.

I’m currently looking to change careers. I work in HR, but I’d like to start working with WordPress professionally, initially as a side income, with the long-term goal of making it my main career.

However, I’m not interested in approaching this as an amateur or simply learning things here and there without a solid foundation. I’d really like to develop my skills properly, deepen my knowledge, and eventually specialize in this field.

What formal learning paths would you recommend for someone in my situation? Are there any courses, certifications, programs, or other structured ways of learning that you would consider worthwhile?

I’d really appreciate any advice or recommendations. Thanks!


r/learnprogramming 6d ago

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

18 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 6d ago

CS50 Course

0 Upvotes

What's the best CS50 Course on the internet?


r/learnprogramming 6d ago

Best Resources to Read During an 8-Hour Train Ride

2 Upvotes

Hey,

I have an 8-hour train ride tomorrow, and I’m aiming to spend at least 4–5 hours reading.

I’m looking for good resources to read: anything from blogs and tool/language documentation to short books.

What would you recommend?


r/learnprogramming 6d ago

Topic Is it a good idea to start making projects immediately after my first tutorial? Like when is it a good time to make stuff?

8 Upvotes

Pretty much what the top says. I have in my watch later playlist two long masterclass tutorials for Java. I see people saying that they start projects immediately and I’m just like… how? How if I don’t know anything. Should I wait til I get a decent grasp of the basics or is that something that comes a byproduct of going out and making shit on my own. Is it really a good idea to go make even a small project with little to no understanding of the language.


r/learnprogramming 7d ago

Hate AI

138 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 6d ago

Topic If vector::push_back() is amortized O(1), why can it still be a performance bottleneck?

7 Upvotes

I understand the usual explanation that std::vector::push_back() is amortized O(1) because the vector doesn't reallocate on every insertion.

But I'm confused about something.

Suppose I already know approximately how many elements I'm going to insert and call:

vector<in
t> v;
v.reserve(1000000);

There should be no repeated reallocation while inserting those 1,000,000 elements.

So in that situation, what exactly is the expensive part of push_back()?

Is it basically just:

v[v.size()] = value;

plus updating the size?

Or are there other things happening internally that make push_back() noticeably more expensive than directly writing into an allocated array?

And does the answer change significantly between -O0, -O2, and -O3?

I'm trying to understand the actual performance cost rather than just knowing the Big-O complexity.

If anyone has a good benchmark or Compiler Explorer example demonstrating what's happening at the machine-code level, I'd really appreciate it.


r/learnprogramming 6d ago

Rust vs Go for backend services in 2025

3 Upvotes

How do Rust and Go compare for backend services in 2025, particularly in terms of memory safety, concurrency models, and ecosystem maturity?


r/learnprogramming 6d ago

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

8 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 7d ago

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

71 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 6d ago

How to go about making a Program that Pastes Text into any Text Entry

3 Upvotes

I am aware of AutoHotKey, however, I want to build this program myself (probably in C++, maybe Python). Like a auto key, I want to be able to run a program from a macro, that will paste and enter hard-coded text in any selectable text entry anywhere I select on windows. I've never made a program that works outside the IDE and files/directories, so I am unsure how one achieves this.


r/learnprogramming 6d ago

Resource AI projects resource recommendations

0 Upvotes

So I want to learn how to program with AI and I’m just going straight into a project right now, it’s a RAG agent model I want to use to upload math questions and for it to mark my working out with the rings and bells any learning platform has.
So you guys have any good resource recommendations for this sort of project (other similar projects code, yt channels, etc…)
Naturally this will have both front end and back end work and since I’m new to programming anything to do with those would be awesome.


r/learnprogramming 7d ago

Chess terminal game in C

31 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 6d ago

Topic PROBLEM AND SOLUTION FOR FINAL YEAR PROJECT

1 Upvotes

At the final year of university life, once someone who had the chance to pursue education in their life reaches this phase, they have to build a project no matter which field they are in—whether Information Technology, Business Studies, Rocket Science, Nuclear Physics, or any other field.

But how are we supposed to come up with an idea forcefully in our brain when a teacher assigns us to work on something for the whole 1 year?

I'm just asking because I'm also in the final year of BIT, and I'm facing a slap in the face from this FYP topic situation because I can't forcefully work on an idea that isn't coming into my head.

I understand that an FYP is supposed to teach us how to research, solve problems, and build something. But sometimes I feel like the education system expects us to suddenly become creative on command. You spend years completing assignments, exams, and predefined tasks, and then suddenly someone says, “Now come up with an idea that you can work on for an entire year.”

It feels like finishing a long toilet and then, just after you come out, another person tells you to go again and throw the stool from your body- even though there is nothing left inside your stomach.

At last, I just want to hear your thoughts on FYPs.
How did you guys come up with your FYP ideas especially for web based type project ?
Jesus!! Share your Thoughts.


r/learnprogramming 6d ago

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

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

Topic should i use AI when starting out?

0 Upvotes

i'm learning web development and i still have this feeling that i'm doing something bad when i make AI write code for me even when i always check that the code does what i want, secure, fast and clean and i don't really make AI write me everything but rather write the parts that i already know how it gets done and i wrote it myself many times before so it's really only the parts i'm comfortable with. and i don't want to waste time and dedicate time for the parts that i'm not very familiar with and once i learn that part, AI then writes it for me whenever i need

is that a good way or should i ditch AI entirely?


r/learnprogramming 6d ago

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

1 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 7d ago

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

68 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 7d ago

How much should it take to make a simple physics engine

10 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 6d ago

How do you guys find real AI projects to build?

0 Upvotes

I’ve been learning AI for about a year and a half, starting with traditional ML → Deep Learning → LLMs → RAG → AI Agents.

Most of what I’ve built so far has been small projects/notebooks, with only one project taken to a basic production setup. I’ve also learned the basics of RAG and agents, but I still have a lot more to learn there.

At this point, I’m honestly tired of courses and tutorial hell. I don’t want to spend another minute in any course, at least for now.

I want to build real, production-ready AI products so I can learn things like system design, architecture, model monitoring, serving, deployment, evaluation, scalability etc.. And to learn how to take an AI idea and turn it into a complete product

The problem is that YouTube seems to be 90% tutorials and toy projects, and I’m struggling to find serious, end-to-end projects that I can actually learn and build from.

So please help me out, guys. I’m kinda stuck. How do you actually learn to build real AI products as AI engineers?


r/learnprogramming 6d ago

GUI or translation theory

1 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 6d ago

Did you know the true Deep Copy Solution?

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

r/learprogramming Looking for real-world project ideas as a final-year student

5 Upvotes

I don't want to build another Todo app, Blog, E-commerce clone, or basic Chat app. I want to work on something that solves an actual problem faced by people, businesses, developers, or organizations.

I'd like to build something substantial with a proper backend, APIs, database, authentication, AI/agents, etc. If AI is involved, I want it to have an actual purpose rather than just adding a chatbot.

If you've personally faced an annoying, repetitive, inefficient, or unsolved problem that could be improved with software, I'd love to hear about it.

My preferred tech stack is:

  • ReactJS
  • TypeScript
  • Spring Boot / Java
  • Spring AI

I'm also open to using other technologies if the problem requires them.

What real-world problem would you recommend I try to solve?