Jump to content

I'm learning it too for unreal engine, I would create a google doc and write all the main lines of code you use there and have them organized

Link to post
Share on other sites

36 minutes ago, ChipsTHING101 said:

So I'm 13 years old and don't know where I can learn this language. 

What c++ are you using? I recommend to just mess around with microsoft's c++ in visual studio, as it well documented by microsoft

 

If you just come up with an idea, and then try to build that, and then i dont mean it has to be super advanced, then you can learn by doing, one of my first c++ projects were creating a console app that was ment to micmic/act like a command prompt (cmd.exe) / terminal

 

My main point is, i atleast learn best by doing, and just googling my way to making it work, it does not  have to be perfect / best pratice in the start

 

But if you do watch youtube videos (e.g to learn about pointers) i recommend this guy:

https://youtube.com/@javidx9?feature=shared

 

He thought me alot

Link to post
Share on other sites

4 minutes ago, W1ll1aming said:

What c++ are you using? I recommend to just mess around with microsoft's c++ in visual studio, as it well documented by microsoft

 

If you just come up with an idea, and then try to build that, and then i dont mean it has to be super advanced, then you can learn by doing, one of my first c++ projects were creating a console app that was ment to micmic/act like a command prompt (cmd.exe) / terminal

 

My main point is, i atleast learn best by doing, and just googling my way to making it work, it does not  have to be perfect / best pratice in the start

 

But if you do watch youtube videos (e.g to learn about pointers) i recommend this guy:

https://youtube.com/@javidx9?feature=shared

 

He taught me alot

What do you mean  "What C++ are you using?" ? Are there more versions of it??

Link to post
Share on other sites

If you're using Windows, make sure you have Visual Studio installed instead of Visual Studio Code. Visual Studio is an IDE that you can use for C++ and it comes ready to go out of the box.

 

My suggestion is to think of a project you would feel passionate about - something that would be fun or useful to have - so that you don't get bored of it halfway through. That way you'll have a reason to complete it instead of leaving it behind when you get stuck. Speaking of getting stuck, the internet is your friend when you encounter problems, though I don't recommend using LLMs to generate code for you. There's no shame in looking for answers on the internet, and every programmer does it.

 

19 minutes ago, ChipsTHING101 said:

What do you mean  "What C++ are you using?" ? Are there more versions of it??

C++ has been around for a long time, and new features have been added to it over the years. The "versions" primarily refer to the version of the C++ standard your code uses. https://unstop.com/blog/history-of-cpp

 

Since you're learning how to program, just use the default version Visual Studio sets your code to.

Computer engineering PhD student and RFML researcher

 

Daily Driver:

CPU: Ryzen 7 4800H | GPU: RTX 2060 | RAM: 32GB DDR4 3200MHz C16 | OS: Debian 13

 

Gaming PC:

CPU: Ryzen 5 5600X | GPU: EVGA RTX 2080Ti | RAM: 32GB DDR4 3200MHz C16 | OS: Windows 11

Link to post
Share on other sites

8 minutes ago, dcgreen2k said:

If you're using Windows, make sure you have Visual Studio installed instead of Visual Studio Code. Visual Studio is an IDE that you can use for C++ and it comes ready to go out of the box.

 

My suggestion is to think of a project you would feel passionate about - something that would be fun or useful to have - so that you don't get bored of it halfway through. That way you'll have a reason to complete it instead of leaving it behind when you get stuck. Speaking of getting stuck, the internet is your friend when you encounter problems, though I don't recommend using LLMs to generate code for you. There's no shame in looking for answers on the internet, and every programmer does it.

 

C++ has been around for a long time, and new features have been added to it over the years. The "versions" primarily refer to the version of the C++ standard your code uses. https://unstop.com/blog/history-of-cpp

 

Since you're learning how to program, just use the default version Visual Studio sets your code to.

Thanks.
I forgot to mention that I also use Code Blocks. We use it at school and I'm very familiar with it. 
I have Visual Studio on my PC but don't know how to use it. 
Because I still don't know a lot about C++, I'm looking for a website where I can learn the language. I was wondering if you'd know any 

Link to post
Share on other sites

18 minutes ago, ChipsTHING101 said:

Thanks.
I forgot to mention that I also use Code Blocks. We use it at school and I'm very familiar with it. 
I have Visual Studio on my PC but don't know how to use it. 
Because I still don't know a lot about C++, I'm looking for a website where I can learn the language. I was wondering if you'd know any 

I don't have a website for you but Bjarne Stroustrup who is the creator of C++ has excellent books on the subject.

 

This one is designed for new programmers and for modern C++.

https://www.stroustrup.com/programming.html

 

Additionally, for reference material there is cppreference.com which is basically the Bible for documentation of C++ language features and the standard library.

CPU: Intel i7 - 5820k @ 4.5GHz, Cooler: Corsair H80i, Motherboard: MSI X99S Gaming 7, RAM: Corsair Vengeance LPX 32GB DDR4 2666MHz CL16,

GPU: ASUS GTX 980 Strix, Case: Corsair 900D, PSU: Corsair AX860i 860W, Keyboard: Logitech G19, Mouse: Corsair M95, Storage: Intel 730 Series 480GB SSD, WD 1.5TB Black

Display: BenQ XL2730Z 2560x1440 144Hz

Link to post
Share on other sites

Seems like you need a quick programming learning roadmap, and I will give one from my experience and perspective.

 

If you are learning C++ as your first language, stop. I recommend starting with either C or Python.

 

Listen, imagine an empty map which will be filled with a "tree", and compare that to one who is very experienced in programming in all fields. He/she will have a dense and robust connection of the main trunk and all the branches from it. You don't want to have the slimmest and crackly line from the start to your some goal. You need to also complete all the prerequisites well, some of them might be optional. You need to complete all the goals near to you, get the connections dense with them, and start expanding your tree.

 

What I mean is don't just grab a tutorial and start copying what they do. There are usually multiple ways to code the same thing. Understanding what you are doing is the key. Also, understanding the inner workings of the thing you are learning and actually understanding it helps you to master it and form clear connections.

 

At least for your age and that you are just starting, yes you can go and learn a language. But you will start to get better understanding when you grow the other branches of your knowledge tree, such us learning how computers and their architectures work fundamentally. Learning how operating systems work. Installing and using a Linux operating system by yourself. Get to know and use the command line. Get to know compilers, and build systems. Learn various and helpful technicalities of Windows itself. Like idk, if you know how to set the virtual memory size in Windows, that counts as a progress. Just keep wiggling around and learn how computers work. Keep questioning yourself and experimenting. Go see what happens when you try to delete System32 (don't. Do it in a virtual machine), or see what happens if you divide by zero in C/C++ or call a function recursively infinitely. Doing these things will start to form a broader understanding in the computer field.

 

And when we come to just programming. I recommend to start with C or Python. Why C? Because initially it is pretty basic, but when you dig a bit deeper, it is also very complex and tricky at the same time. It has deeper meaning in it, try to see if you can find them. For example, an array is just a pointer with contiguous memory. C is a relatively lower level language, which means you can do whatever you want and have full control. You need to manage the memory yourself and have good control over manual optimization. This helps you understand how computers work better. It is also advisable to learn assembly language, which is just below C and higher than binary language. Understanding a bit of assembly will help you debug C/C++ for sure.

 

On the other hand, Python is a very high level language. It has very easy syntax, and designed for ease for developers to write code. You could start with Python to understand the fundamentals of programming such as loops, conditions, functions, etc.

 

So you might ask, why not use Python if it is this easy to code in? Well, every language has their own use. C is designed for low level programming like operating systems or where performance and less resource overhead is required. C++ is similar, but due to many features it provides, it is more suited towards desktop development, video games, databases, back end of a server, etc. It is a really powerful language, which gives you really fast performance just like C, but with high level abstractions with minimal overhead.

 

Python is very easy to code in, but due to this, it is also one of the slowest languages to run. You could use Python to solve coding problems where you would need worry less about stuff like memory management and all when using C/C++. It makes coding for the developer more efficient. Python is also used more in scripting.

 

Then there are other languages such as Java, which is known for it being very cross platform. C# which is basically a Java clone made by Microsoft (used in game development, and GUI Windows desktop apps using .NET). And then your web technologies such as HTML, CSS, Javascript, and all the popular frameworks around these.

 

So when you start learning C, try to understand the inner workings of C, and then your mind will be blown when you get to know how this thing that you have been using for a while now actually works. For example that a string is just a character array. Learn how function calls and call stack works. Learn how stack and heap memory work. Learn how pointers and memory addresses work.

 

I had done a C/C++ course years ago, and oh boy did I ever knew to JUST use it rather than understanding it. So it's just a bit recently that I have been digging my nose in into C, and it always amazes me that what I have been learning for so long actually means completely different when I know the inner workings. Let me tell you, after all this time in C, my eyes glanced on a simple "std::cout << "Hello" << std::endl;" in C++, and I got very confused now that I learned C at such a low level. What does cout actually mean? And is that a bitwise left shift operator? Then I got to know that cout is just an object of type std::ostream, and it's not left shift operator, it means operating overloading here.

 

And beyond programming languages, there is another very important topic. It's called data structures and algorithms. Look up and side by side, learn about these. These are the ones which you will require to solve logical problems. And aside from purely focused DSA, you should also solve some normal logical problems as well. Go try if you can print the Flyod's triangle on your own, it should be easy.

PLEASE MARK COMMENTS AS SOLUTION IF SATISFIED!!

bigger number better, makes me look cooler.

Link to post
Share on other sites

On 3/6/2025 at 10:52 PM, Haswellx86 said:

Seems like you need a quick programming learning roadmap, and I will give one from my experience and perspective.

 

If you are learning C++ as your first language, stop. I recommend starting with either C or Python.

 

Listen, imagine an empty map which will be filled with a "tree", and compare that to one who is very experienced in programming in all fields. He/she will have a dense and robust connection of the main trunk and all the branches from it. You don't want to have the slimmest and crackly line from the start to your some goal. You need to also complete all the prerequisites well, some of them might be optional. You need to complete all the goals near to you, get the connections dense with them, and start expanding your tree.

 

What I mean is don't just grab a tutorial and start copying what they do. There are usually multiple ways to code the same thing. Understanding what you are doing is the key. Also, understanding the inner workings of the thing you are learning and actually understanding it helps you to master it and form clear connections.

 

At least for your age and that you are just starting, yes you can go and learn a language. But you will start to get better understanding when you grow the other branches of your knowledge tree, such us learning how computers and their architectures work fundamentally. Learning how operating systems work. Installing and using a Linux operating system by yourself. Get to know and use the command line. Get to know compilers, and build systems. Learn various and helpful technicalities of Windows itself. Like idk, if you know how to set the virtual memory size in Windows, that counts as a progress. Just keep wiggling around and learn how computers work. Keep questioning yourself and experimenting. Go see what happens when you try to delete System32 (don't. Do it in a virtual machine), or see what happens if you divide by zero in C/C++ or call a function recursively infinitely. Doing these things will start to form a broader understanding in the computer field.

 

And when we come to just programming. I recommend to start with C or Python. Why C? Because initially it is pretty basic, but when you dig a bit deeper, it is also very complex and tricky at the same time. It has deeper meaning in it, try to see if you can find them. For example, an array is just a pointer with contiguous memory. C is a relatively lower level language, which means you can do whatever you want and have full control. You need to manage the memory yourself and have good control over manual optimization. This helps you understand how computers work better. It is also advisable to learn assembly language, which is just below C and higher than binary language. Understanding a bit of assembly will help you debug C/C++ for sure.

 

On the other hand, Python is a very high level language. It has very easy syntax, and designed for ease for developers to write code. You could start with Python to understand the fundamentals of programming such as loops, conditions, functions, etc.

 

So you might ask, why not use Python if it is this easy to code in? Well, every language has their own use. C is designed for low level programming like operating systems or where performance and less resource overhead is required. C++ is similar, but due to many features it provides, it is more suited towards desktop development, video games, databases, back end of a server, etc. It is a really powerful language, which gives you really fast performance just like C, but with high level abstractions with minimal overhead.

 

Python is very easy to code in, but due to this, it is also one of the slowest languages to run. You could use Python to solve coding problems where you would need worry less about stuff like memory management and all when using C/C++. It makes coding for the developer more efficient. Python is also used more in scripting.

 

Then there are other languages such as Java, which is known for it being very cross platform. C# which is basically a Java clone made by Microsoft (used in game development, and GUI Windows desktop apps using .NET). And then your web technologies such as HTML, CSS, Javascript, and all the popular frameworks around these.

 

So when you start learning C, try to understand the inner workings of C, and then your mind will be blown when you get to know how this thing that you have been using for a while now actually works. For example that a string is just a character array. Learn how function calls and call stack works. Learn how stack and heap memory work. Learn how pointers and memory addresses work.

 

I had done a C/C++ course years ago, and oh boy did I ever knew to JUST use it rather than understanding it. So it's just a bit recently that I have been digging my nose in into C, and it always amazes me that what I have been learning for so long actually means completely different when I know the inner workings. Let me tell you, after all this time in C, my eyes glanced on a simple "std::cout << "Hello" << std::endl;" in C++, and I got very confused now that I learned C at such a low level. What does cout actually mean? And is that a bitwise left shift operator? Then I got to know that cout is just an object of type std::ostream, and it's not left shift operator, it means operating overloading here.

 

And beyond programming languages, there is another very important topic. It's called data structures and algorithms. Look up and side by side, learn about these. These are the ones which you will require to solve logical problems. And aside from purely focused DSA, you should also solve some normal logical problems as well. Go try if you can print the Flyod's triangle on your own, it should be easy.

Wow.

Thank you so much.
I wanted to start by saying that I know about PCs (like a lot). 

I know how to install Linux on any device. I have Linux Mint freshly installed on a random second-hand pc I've found (they gave me the PC for free lol).

Motherboards, GPUs, CPUs, storage devices, etc. I know a lot about them. I don't have problems with them. I understand how each of them works and their purpose.

Now, about the actual topic:

I'll start learning C. BUT, I'll still be "forced" to learn C++ because at school that's the language we're learning. Weirdly enough, our teacher doesn't want to explain what simple stuff does. He makes us copy and not learn. WTF?

Anyway -- I'll still be doing C and experimenting with different codes and stuff. But only in my free time *sad*

 

 

Thank you so much (again) for sharing your perspective on programming and telling me what to do! This helped me out a ton.

Also, sorry for the late reply. | Reason: school 🫠

Link to post
Share on other sites

9 hours ago, ChipsTHING101 said:

I wanted to start by saying that I know about PCs (like a lot). 

I know how to install Linux on any device. I have Linux Mint freshly installed on a random second-hand pc I've found (they gave me the PC for free lol).

Motherboards, GPUs, CPUs, storage devices, etc. I know a lot about them. I don't have problems with them. I understand how each of them works and their purpose.

That's really great. You seem to at least have a nice general broader technical understanding about computers. Aside from programming, I would suggest to keep tinkering and learning. Run an OS in a VM and try to break it. Try to touch inside a PC, like disassemble it and clean it (carefully). Know more about Linux, and how it works, create notes. These are just optional quests but they will improve your technical skill in computers and knowledge. You could get a job in IT as well if so.

9 hours ago, ChipsTHING101 said:

I'll start learning C. BUT, I'll still be "forced" to learn C++ because at school that's the language we're learning. Weirdly enough, our teacher doesn't want to explain what simple stuff does. He makes us copy and not learn. WTF?

Yeah, if they are making you start with C++, and too realistically with your age (like really, they teaching you C++ at 13 years old?), that will be some basic C++, and they would try not to go too deep or technical in it. At the most you would learn to how to "use" C++, not understand the fundamentals and the inner workings, which is not exactly needed, but it definitely helps to make you a better programming. 

 

This thing is a problem even till a degree as well. My sister is studying for a bachelor's degree, and they only really teach you how to use something, not dive deeper and learn how it works. Their main focus is on web development and not lower level languages like C/C++.

 

Recently, I appeared for a C coding competition. The first round was an MCQ round. We were given 40 questions. For me, I honestly liked the exam. It was not based on broader content of C like file handling or stuff like that, just basic C with printf() and scanf(), but the questions were meant to be tricky. This could have only been solvable if you understood C a bit deeper and how stuff actually works, and because I knew it, it was actually very easy for me. Sadly I didn't pass in the second round. I need to work on my problem solving.

 

9 hours ago, ChipsTHING101 said:

Anyway -- I'll still be doing C and experimenting with different codes and stuff. But only in my free time *sad*

Don't worry though, you could learn C++ as well. If you learn any programming language, it is very easy to learn any other programming language. I haven't touched Python at all, just because I am lazy I never had a need to. If I want to, I could learn Python in just a couple of hours. And because I had learned C/C++ before, Java went really easy for me in school, except problem solving and algorithms which I went easy on.

 

I was recommending C because it is very low level and so you can do interesting stuff, but remember that C++ is just a superset of C. There is almost nothing that you can't do in C++ that you can do in C. So you totally could spend time with C++ and learn all the inner workings and low level stuff. It's just that because it is so advanced and powerful, you will spend more time learning about all the real contents of the language itself than the low level or inner workings.

PLEASE MARK COMMENTS AS SOLUTION IF SATISFIED!!

bigger number better, makes me look cooler.

Link to post
Share on other sites

34 minutes ago, Haswellx86 said:

Don't worry though, you could learn C++ as well. If you learn any programming language, it is very easy to learn any other programming language. I haven't touched Python at all, just because I am lazy I never had a need to. If I want to, I could learn Python in just a couple of hours. And because I had learned C/C++ before, Java went really easy for me in school, except problem solving and algorithms which I went easy on.

 

I was recommending C because it is very low level and so you can do interesting stuff, but remember that C++ is just a superset of C. There is almost nothing that you can't do in C++ that you can do in C. So you totally could spend time with C++ and learn all the inner workings and low level stuff. It's just that because it is so advanced and powerful, you will spend more time learning about all the real contents of the language itself than the low level or inner workings

I'll still be doing C because I really don't have a reason to learn more C++ (at least for now). Even though we do it at school, the teacher lets us with our notebooks open when we have to write a script/logical scheme (BEST WAY TO LEARN C++!  Just kidding).

 

What would you recommend for me to learn C? It could be a site or a video (But just like I've said earlier, every time I want to watch a video on how to program, I keep forgetting important stuff. It's probably because I didn't find the video I needed or smh).

 

I also forgot to mention this: I know a bit of Lua. But for Roblox Studios. I tried to make a game this Summer, but because I didn't have time, I abandoned the project. And because I haven't touched Lua since, I forgot some stuff. Should I continue in Lua, or should I start C? (I'm sorry for not saying this at the beginning).

 

Link to post
Share on other sites

34 minutes ago, ChipsTHING101 said:

What would you recommend for me to learn C? It could be a site or a video (But just like I've said earlier, every time I want to watch a video on how to program, I keep forgetting important stuff. It's probably because I didn't find the video I needed or smh).

As a starter, I would recommend just usual C Tutorial videos like this one. Then there are websites like w3schools for basic C tutorials. I usually used to neglect websites where you would read the pages, because they still teach you only basics, and videos exist so why would you read on your own? But then GeeksforGeeks is actually an awesome website and in their C course (free) they cover a bit deeper and a bit wider content and well understandable tutorial. You could start with that but I hope you can understand well in text rather than a video or else you can watch the tutorial video I mentioned. Videos do make it better to understand and remember.

 

44 minutes ago, ChipsTHING101 said:

I also forgot to mention this: I know a bit of Lua. But for Roblox Studios. I tried to make a game this Summer, but because I didn't have time, I abandoned the project. And because I haven't touched Lua since, I forgot some stuff. Should I continue in Lua, or should I start C? (I'm sorry for not saying this at the beginning).

Learning Lua? Okay. Learning for Roblox? GET OUT.

 

Lua is a scripting language. You learning Lua is not exactly that helpful to build your base of programming. Lua will be needed a bit far in your journey when you create a program yourself and could utilize Lua or something. Being an only Lua programmer is a niche thing. You need to learn proper programming languages first.

PLEASE MARK COMMENTS AS SOLUTION IF SATISFIED!!

bigger number better, makes me look cooler.

Link to post
Share on other sites

43 minutes ago, Haswellx86 said:

As a starter, I would recommend just usual C Tutorial videos like this one. Then there are websites like w3schools for basic C tutorials. I usually used to neglect websites where you would read the pages, because they still teach you only basics, and videos exist so why would you read on your own? But then GeeksforGeeks is actually an awesome website and in their C course (free) they cover a bit deeper and a bit wider content and well understandable tutorial. You could start with that but I hope you can understand well in text rather than a video or else you can watch the tutorial video I mentioned. Videos do make it better to understand and remember.

I'll maybe start using w3schools just because at the end of each lesson, there is a small revision section (exercises).

 

48 minutes ago, Haswellx86 said:

Learning Lua? Okay. Learning for Roblox? GET OUT.

The only 2 reasons I started Lua are that I play Roblox and because I wanted to make money (yummy money)

 

 

Anyway, I wanted to thank you (yes, again) because you sacrificed time from your life to help me. This helped me A LOTTT (like a lot.).

Link to post
Share on other sites

  • 2 weeks later...

onlinegdb.com and projecteuler.com

also w3schools and geeksforgeeks

I know it might not be secure, yeah vibecoding is cool but we shouldnt do smt unless we understand it and etc. thx but these disclaimers get old quick. maybe we shall be reminded frequently for we are stupid but i dont work at a nuclear powerplant.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×