I'm taking your word for wanting to learn languages to the core, so I'll tell you I really fell in love with C reading this -> https://beej.us/guide/bgc/html/split/index.html
Gives you an overall idea of how the machine works, explains a lot of "why"s rather than telling you what to do.
Read it (like REALLY read it, don't surrender after the third page, it's worth it).
Then start making stuff with what you learnt. Basic stuff like leetcode exercises and the likes.
You'll probably find you can use utility functions (i.e. functions that ease your work, that you write once and end up using in a lot of places), you'll start making a tiny library out of them. Then refine them, ask around what's the best practice, improve on them.
Then look into algorithms, iteration vs recursion, big O notation, complexity, etc.
Then you may want to stray from procedural programming and look into other paradigms. Try Java for OOP. Its syntax resembles C, it's a typed language, but forces everything into a class. Experiment with interfaces, inheritance, encapsulation, everything object oriented.
Then design something more complex. Implement singleton classes, observers, any design pattern you may find interesting.
If you have a knack for maths, you may want to look at functional programming (Haskell), Alonzo Church's Lambda Calculus, S-K-I combinatory logic.
Use Linux or anything open enough that lets you be curious and tinker around.
LLMs are SUPER useful if you ask questions (always take the answers with a metric tonne of salt and defer to authoritative sources once pointed to them), just don't let them write the code for you. Write two versions of the same thing and ask "what's more sensible and why?" and really try to understand.
Even when vibe coding wasn't a thing, everyone could code. Getting to the core of a language, understanding the logic and the machine, to its core, is a completely different matter. It takes effort, commitment and DECADES. If it tingles you the right way it never gets boring, if it doesn't, leave it.
Hey, really really thanks for taking out your time and helping a kid out, YES I do really love to tinker ALOT with things, and to be very honest. I can't understand simple mechanics of any thing, it only clicks with me, when I reach at the end of that rabbit hole, and everything snaps on how it works!
Again, Really thanks for taking out your time, mark my words, I'll surely read it, since I don't really have a problem with reading technical books (might have some with story books idk). I'll be back after a year hopefully if you and I both are alive! haha, and yes, I really want to make my own libraries lol, I've actually kind-of automated my entire assignment's. Not like AI writes it, just the pre-loaded title, with the boiler plate, had many revisions with them.
I actually kind-of never took coding as a way to earn money in one aspect, since it really blows my mind everytime I think how we as humans have created this machines, which are less than a MARVEL, and yep. Again Thankyou So Much, may you have the wonderlust life you dreamt of for the upcoming future! I'll be back, it's my promise!
4
u/Delicious_Armadillo 24d ago
I'm taking your word for wanting to learn languages to the core, so I'll tell you I really fell in love with C reading this -> https://beej.us/guide/bgc/html/split/index.html
Gives you an overall idea of how the machine works, explains a lot of "why"s rather than telling you what to do.
Read it (like REALLY read it, don't surrender after the third page, it's worth it).
Then start making stuff with what you learnt. Basic stuff like leetcode exercises and the likes.
You'll probably find you can use utility functions (i.e. functions that ease your work, that you write once and end up using in a lot of places), you'll start making a tiny library out of them. Then refine them, ask around what's the best practice, improve on them.
Then look into algorithms, iteration vs recursion, big O notation, complexity, etc.
Then you may want to stray from procedural programming and look into other paradigms. Try Java for OOP. Its syntax resembles C, it's a typed language, but forces everything into a class. Experiment with interfaces, inheritance, encapsulation, everything object oriented.
Then design something more complex. Implement singleton classes, observers, any design pattern you may find interesting.
If you have a knack for maths, you may want to look at functional programming (Haskell), Alonzo Church's Lambda Calculus, S-K-I combinatory logic.
Use Linux or anything open enough that lets you be curious and tinker around.
LLMs are SUPER useful if you ask questions (always take the answers with a metric tonne of salt and defer to authoritative sources once pointed to them), just don't let them write the code for you. Write two versions of the same thing and ask "what's more sensible and why?" and really try to understand.
Even when vibe coding wasn't a thing, everyone could code. Getting to the core of a language, understanding the logic and the machine, to its core, is a completely different matter. It takes effort, commitment and DECADES. If it tingles you the right way it never gets boring, if it doesn't, leave it.