@@Foodran It's a site where you can post coding questions and read answers on questions other people asked. It's pretty much always going to be the top few results of any coding question you put to Google.
"... if you are interested only in writing you will never be a writer, because you will have nothing to write about . . .)" -C.S. Lewis You can't just purely "write code". The code must actually do something. You need to be writing/reading code that actually accomplishes something beyond academic exercises. Being able to create a linked list is all fine and dandy, but why did you need a linked list to begin with?
The answer is the same as it's always been in programming: find something you want to build but currently have no idea how, build it, then find another project that's different enough to push your skills more.
Your advice is actually on spot, a lot of beginner programmers (including me) struggle with what to do next after learning a language and frankly no one ever feels to even address this problem. Great Content, Great tutor keep it up The Cherno !
This is amazing advice! I've been doing this subconsciously for other languages and always wondered why my skill in them overtook the first language I ever learnt. I'm definitely doing this for C++
Rather than starting with Hello World, I started learning C++ by jumping into open source stuff, before I even knew how to code it. I chose open source games and simulators that I actually played/used. It's easy to decipher and learn code when you know how the end product works. Then it was just a matter of adding the syntax. Functions are functions, variables are variables. Jumping into the deep end revealed how much I could figure out on my own, and what I needed to look up and learn more about. Starting with the basics doesn't challenge you to learn, it only teaches you to recite progressively complex code. Cheers!
The one piece of advice no one ever gave me, I had to discover it on my own. The only advice I would ever receive from people is: start coding, it's the only way to learn a programming language. And I would simply find myself asking myself, how do I f*** do that! In any case, the point being made is that only when I began reading real life source code did I truly transition from simply knowing the syntax of a programming language to actually using the language. This is good advice.
Can agree, made a game engine, better coder now. K, I know I made that look meme-y, but like actually I did it, and it was very not planned out, and so much spaghetti code, and oh god I need to refactor again it's only been a year since the last refactor send help pls
@@sangramjitchakraborty7845 by looking up what others did to solve the same problem. Each time you do that, you try to both optimize the process and start thinking "is that really the best way to solve this?" Started from not being able to understand what a server is, to writing APIs and web services for banks.
Awesome! I was in the middle of watching your c++ series and you uploaded this while I was watching it. I have wanted to apply my c++ skills outside of the text book, but found it frustrating because I never knew where to start. Thank you!
In simpler terms, you have to actually USE it to become fluent with it. I got through my OOP class at my university without too much problem, but I didn't come out of there actually knowing how to program. I learned that a semester or two later when I actually had to design and implement my own systems and class hierarchy for a project.
I think we need an objective when learning programming... I first touched c++ when i was 13, but i don't knew what to do with it on my life activities (i regret not continuing, anyway, i learned other things)... After i began to mess with music, i learned that "music is math", so i decided to learn programming, and when i was learning i really WANTED to do music out of it... That is when it really began to flow from me... When you have an objective in your mind, that your really really want, YOU DO IT! Don't just program for the "sake of it", program because you WANT IT... Then, chasing your dreams will naturally make you find solutions to your problems... And it being a dream, it is something you won't surrender (at least, that is what i hope from you)...
The book" Ultra learning" by scott young. This guy completed the whole mit computer science degree in a year.math programming everything on his own. The book is amazing and has helped me tremendously. He has also used his technique to learn to speak fluent in other language's in a matter of months.
Went into C# knowing nothing on a friday and then spent the whole weekend (objectively was supposed to be C++ but didnt turn out so) to work on a "launcher" that i've wanted to make for some time, incredibly hard as i knew nothing what arguments i were supposed to use and what not. I took up a incredibly challenging task and ended up doing what i wanted to do and i ended up learning a big portion of C#. It all leans to doing something you find interesting thats challenging at the same time, best way to learn and then being in a small chat with a few people who love to just code stuff where we talk about coding and add ideas to what we could do better or how u could code it easier. By far best way of learning for me. Obviously if i were to go into basics it would be far more easier and it would save me time and would be the way to go. But thats the fun part TLDR work on something u want to do and find people u can talk about coding who's also encaustic
If you want to read source code (just text) on your smartphone just rename the file and modify the extension to txt or something that can be opened by your phone "some_code.cpp" --> "some_code.cpp.txt"
Maybe I’m biased because C++ was the first language I learned but... I feel like C++ is one of a rare OG language that you can “read” as a language... it focuses on programming through explicitly governing the logical operations within the computer. I can look at a C++ file and understand exactly what logic the computer is being programmed to perform. It’s verbose but it’s precise.
what other languages are you comparing c++ to? In higher languages, the logic is much more clearer as it hides more unimportant implementation details. The c++ language tells you nothing about how the electric signals are moving in cpu during execution and you probably do not care about such details. Python vs C++ is basically the same thing only at different level of abstraction. It is only your preference which level of abstraction you deem "precise" communication. At the end, the only precise language (to the best of out knowledge) which could tell you what the computer is really doing would be in terms of quantum field theory. And that would be infeasable, not to mention completely idiotic.
@@michalmaixner3318 I didn’t compare C++ to any language specifically. And you’re reading too much into it, no one said anything about electrical signals. Read again, I said about the logical operations that the computer’s assumed to be doing... which is right above Assembly’s abstraction level. It’s the lowest you can be while maintaining a fair amount of confidence, given you know C++. Python is waaay above, even above JAVA... to the point where it’s basically pseudo code, where it tells you what the programmer wants to do. Not what’s happening in the logical realm (not electronic). So this isn’t subjective preference, it’s pretty objective that when working on code... you wanna know what’s happening in the computer realm not what the programmer wants to happen, hence lower abstraction of C++ is more preferable
@@alphamineron sorry, i read the sentence "I can look at a C++ file and understand exactly what logic the computer is being programmed to perform." and thought you are actually talking about logic, instead it seems you are talking only about instructions. I do not know why do you care about them so much though. Important thing is first and foremost the logic, implementation comes only as a second and only once efficiency of the implementation is not sufficient for your needs. The logic itself is best described in higher level languages and most programs are implemented sufficiently enough. So unless you are working on resource-heavy software, the instruction level is just useless burden.
@@michalmaixner3318 True instruction level that you talk of would be Assembly. C++ is at the optimal balance between abstraction level and overall code readability. The differences i mentioned in the prior comment is important because it makes debugging code much easier and improves the quality of the codebase without seeking online help which is a bad practice when abused by inexperienced devs who simply “copy paste” high level code which simply just works and it’s also unreliable in the long run. Back to your comment, After using “logic” for electronic logic as it seems from your last comment... you are switching to “logic” as in, human logic? By saying that high level language show that best...? I don’t see what’s your point is... By the way, you can follow those instructions and get an understanding of what’s happening under the hood. When you have all the pieces of the picture, it’s easy to pull back and look at the whole picture. It’s definitely challenging though, and other constraints make it unfeasible which is kinda obvious why everything isn’t coded in one language... each have their roles Simply put, high level is like buying one of those ready-to-bake cake packets, where you just add a bit of ingredients like eggs and stuff and you get your cake. Low level is like buying all the ingredients and making the cake yourself.
@@alphamineron I started by saying "In higher languages, the logic is much more clearer as it hides more unimportant implementation details", meaning I was always talking about logic as logic. And then went on (unsuccessfully) trying to explain that implementation of the logic can be described in many levels of abstraction and C++ is just at one of those levels. And which level you pick as the "holy" one is just your preference (or nature of your work). By itself, it is no more special than any other abstraction level. Objectively there are only two really special ones - quantum field theory being at the bottom, pure math being at the top. Everything in between is distinguished only by your practical needs and this sentence "C++ is at the optimal balance between abstraction level and overall code readability." cannot stand on its own. Might be true for your line of work, but in general it is BS.
What tips do you have when first looking at a new Open Source project that you're unfamiliar with? Should we start by reading the docs / wiki? Open issues? Dependencies? Preprocessor statements? Main function? What's your general approach to familiarizing yourself with a new code base?
I've been learning c++ for the last few months. I have never programmed before....... I kept following tutorial after tutorial. The repetition of the tutorials didn't teach me much. Instead I started to write down some simple ideas I would like to do and started coding it myself. If I was stuck I'd do a quick google to point myself in the right direction. The tutorials are great to 'point you in the right direction' but you will never learn this way. I mean 'really' learn. Who knows how many years it will be until I have a solid grasp on c++.. but I have learned more just doing something myself with a help from google here and there then a tutorial telling me something. You only really understand and learn when applying the knowledge yourself. Keep typing, keep hitting the compile button..make a sh*t ton of mistakes and you will learn.
Hey , i am a beginner , i really don't know anything about coding!! I did some research and decided to learn C++. Can you tell me where should I learn it from? Should I learn it youtube or udemy or any other website!!
interesting, i've also been learning c++. however, i'm just stuck at doing the same code over and over again, recalling the concepts learning a new thing but not really even applying it practically. the resources (learncpp, geeksforgeeks, books, etc.) im using arent enough because im not really a genius, i need some practice and some tutorials to teach me. luckily, i know how to choose which tutorials are bad and good for learning. goodluck to you and your journey, and mine!
I think I have an invisible Cherno fairy by my side. This is exactly what I was wondering nowadays after watched your 90+ C++ tutorials! Thank you so much!
I'm not c++ dev I only code python and at a really novice level but IMO a good way to improve at coding or learning things in general is to learn through personal projects which really motivates you ! I 1st learned python during my IT technician course and I was a total trash at it because it was explained through mathematical / algorithmical concepts and it honestly was boring / felt hard to learn. then ... a few years after I needed to upgrade some python coded 3d modeling software's plugins of one of my favorite games of my childhood. I then took the scripts and relearn python through upgrading those tools and managed to upgrade the whole shit and make it display something on screen. This made me learn A REAL LOT of things about Python programming / hexadecimal files formatting / reverse engineering / 3d models concepts such as vertex positions vertex textcoords ...etc and I'd say python is probably my favorite programming (scripting :) ) language today ! Learn through your own projects ! You'll get more motivation / self reward by doing so
Yes same here, used my interest in football to create a football scores quiz using python/flask and a json file of football results for an entire premiership year, learned a lot.
I have become over the years a professional c# coder and I never EVER needed to be "Tough how" so to say I was only set off with the basics. These are like variables classes... but. After that I was left pretty much alone in the topic. As it turns out it is only ever going to benefit you coding if the first programming language you do you are really only nudged along but defiantly not though. There is a much more of a beauty to it because your mind feels more compelled to do it if you set off on mini projects. It takes away the stress of it being homework or you must do it. If you can' t keep this constant interest up then coding is not for you. Though after a while it becomes addicting. I personally started on a calculator. Now lets talk about why would these tutorials actually help. It is because if you seen one language you seen it all. After you are in that coder mindset It is just learning the syntax and a little more depending on the langue but with one of these 4 hour courses after your first language these are worth it to learn one in whole. So to sum up the title above says it all "really learn c++".
A great video, I think. Uh as a c plus plus beginner, I didn't know how to learn C plus plus before watching your video. But now I understand how to learn C plus plus in a better way. Thank you.
You should update / post a new video with this same advice! I had to dig to find it, and it was one of the best advice for C++, that put me on a path of learning! Taking on learning C++!
Keep up creating great learning content! If someone is really interested in a topic, they will learn through daily practice. In the end, this is the only way. Nobody CAN TEACH you anything, but you CAN LEARN from all possible sources.
Old follower here (before your C++ series started).. when I first started programming I wanted to dive into C++ and build my own physics engine. Yeah... maybe a wee bit too ambitious! I ended up going into web development instead because it's a lower barrier to entry (Much easier to learn and much faster to start getting paid for). Anyway, I still learned a tremendous amount from your C++ series, and it made learning Web Development/Other languages WAY easier, and I'm eternally grateful. Second point is, I will hopefully soon be getting back into the C++ game soon.. and watching this brought back so many awesome memories. Your content is simply priceless. Such clear explanations and great emphasis on what really matters when it comes to programming. You're definitely one of the best programming educators out there. Thank you so much! I'll be sure to become a Patron ASAP! P.S. I'm extremely proud of what you've done with your youtube channel beginning with the start your C++ series. It's really impressive/inspiring!!!
I learned game programming in the 90's and early 2k's. Your first 90 seconds haven't existed in like 15 years. They really DO ask you how to implement vectors and stuff. You must be lucky and have contracting or otherwise people who know you can code. I have 10 years of code owned by major companies that I can't transfer anywhere, so outside of the few friends that needed my skills, I'm CONSTANTLY asked to know everything and implement algorithms. I get along better with retired coders since they're the last generation that seemed to learn how to code without importing thousands of dependencies. Side note, I'm a mobile dev. I've worked on Bejeweled, Xbox, as well as enterprise meeting room stuff. I'm not a systems programmer, and my last time using C++ on-the-job was Cocos2d. I actually created the code they use for the scroll view in the C++ version (after converting it from paging). Seriously who makes a "scroll view" that's just paging... I learned to organize code by a combo of LaMothe and Multiplayer game philosophy, while rewriting map editors.
That's a really good advice. At one point I thought I could write a small fluid simulation in C++ ... and then I saw OpenFOAM and how crazy the code was. Due to my studies I went towards Python and didn't have time to come back to C++ , but it definitely was a humbling experience.
I found out that the best way to learn a language is to first learn to code. The syntax and the nick nacks of the language are something you can learn while writing the code. So for me, I'm just starting to learn C++, I'll spend a few days studying the basics and the syntax. Then I have a project in mind that is going to be quite big. I think I will end up with atleast 10 000 lines of code in the end. It won't be the most elegant thing to exist, but it will have a lot of different problems that need to be answered with a good solution. When I'm done, I will recode the worst parts of it and maybe do some restructuring. When I'm finally finished in 6-8 weeks, I'll know how to code in C++. There's always something new to learn, sure, but I'll be confident enough that I can start using the language in my other projects.
That is great advice, but I'd like to point a thing out for aspiring C++ developers: Keep in mind that if you're going to work professionally with C++ at some company, the vast majority of projects are horrible legacy codebases that may be frustrating to work with. I'd say go for C++ if you are interested in and want to work with efficient resource usage, such as embedded systems or video games.
Maybe i'm naive, but that can be a good thing. I mean, C++ evolved so much in the last decade or so. If you have the opportunity to refactor a codebase from a big pile of goo to a better system your colleagues are definitely going to notice (hopefully your bosses too), it's an opportunity for growth.
This may be weird, but what really helped me was a desire to hack games. It helped me better understand assembly and C++ and the underpinnings of DLLs. I learned crazy techniques with pointers and manipulating data and it was fun because you get to cheat in some games. Obviously I encourage doing it on singleplayer games where you aren't affecting other people if you do it. But for me that was a big help and taught me a lot of new things with C++.
Just transferred to a school where I have to lean C++ and I have 5 hours a week. All of my classmates have been doing this for 2 years or more already and I feel so behind because I am. Just found this channel and you seem like a good teacher, hope this will help me become better at it.
100% right. learn the basics, and start using it. for me, I am an advanced C++ user, so I know most of it. but to use it, you do not need that. just learn the basics, and then google the topic you need and read that topic.
Brilliant advice. This is exactly how I learn as well. BTW, I'm literally learning Japanese. I'm currently the only person left in my house who doesn't speak it fluently. 😅
I'm 26 and want to get back into coding. Life took over some years ago and it fell to the wayside. Not sure if it's ridiculous to do. It's the only thing I've ever had a passion for since I was 12 years old. I'm not crazy experienced, but I always have it in the back of my head - it never goes away. It's the only thing I've ever felt happy doing. I don't care about making lots of money, just being self-sufficient.
Today, actually, I've done a small homework for a class at uni, no big deal, but it was about litterly googling a sorting algorithm and then writing it in pseudocode, extremely basic stuff right, but the site I found it on I didn't understand the written description at all, but then I read the c++ code and was like "ohh, that's it? Ok that makes sense"... on the class itself tho, we're supposed to start learning c and c++ in a few weeks so that's exciting... will have to go watch some tutorials tho so I could go to those classes like ducks through water haha
I just got a C in introduction to programming in C++.My professor didn’t teach us really well, she doesn’t have a good teaching style, she just read the PowerPoint the entire semester. So this entire semester I was looking to learn by my own. I needed to do my little project with help because I couldn’t do it by my own, so it was frustrating because I couldn’t understand. During this vacation, I will dedicate to learn C++ and practice more. It is really shitty that you are paying for classes, but the college hires mediocres professors that shouldn’t be teaching.
I learned C++ by using Frameworks. I also learned similar languages like Java, Javascript, C#, and PHP. And thus, when I got to C++ it was literally all the SAME THING!! In working with C++, it felt like I was still working in Java, etc.
I agree with this 100% In college, I took C++ and I bombed(our compiler was bad and it didn’t show EXACTLY where you forgot a semicolon or bracket so it was a nightmare) and also basics in code is all math and all outputting to the console. Thing is, you need both of these things no doubt, but a beginner starts to get lost as to why. After the basics, you need to start importing or including(based on the language its terminology is different) an API like for example I’m doing C# in Unity right now so any code I want to now include the Unity engine(which it does by default of course) Now when I look up how to make a game and how to move, I understand what the addition and math is all used for. It’s still useful as well to just google code like you say for your specific needs because why reinvent the wheel when someone probably understands what ur doing and has done it ALREADY? Also another thing ironically I struggled with in college was functions and classes. I had no idea about calling and about why they were separate. In class, they use arbitrary examples like a function is a car and inside is the instructions to make it work. Since this wasn’t programmer related, I never fully connected it. But through unity, I learned that you can have a function for player health that has all the instructions for how to subtract and add health to the player, a class for a weapon which has a function for things like the shooting input, etc etc. TLDR: until you understand ACTUAL programming context, it may be tough for you to connect all of the other dots because you won’t know how it applies.
Watching the shows and media in ur target language is called language immersion and it’s how a lot of foreigners learn English without school. You can do this with computer languages too. If all you’re reading and hearing is c++ then you’re brain is going to have a very hard time not learning it.
I really like the part where you said to immerse yourself into the language. I'm trying to learn spanish and I changed all me devices over to spanish a week ago
For me, it makes sense to do what he said but later. First, learn some data structures. Then learn the abstract data types that the structures are suppose to be, implementations off of ADTs. Find out why each implementation is chosen. Then move on to learn different paradigms. I've learned Object Oriented programming first and now I'm studying functional programming. Next up is concurrency and parallelism that functional programming excels at. Then move on to procedural programming with data bases. Boom, I have all of my go to tools for my skill set. Now it's time to for open source projects along with some of my projects. This with some free lance jobs, you'll be right on track for a proper career change.
5:41 - I have a small advice for all who want to just clone and build the latest commit - just add the "--depth 1" parameter. That will download just the last commit instead of all the history. Try it ;-)
Best way to learn any programming is to get your hands dirty. Just write programs, games whatever interests you, if you get stuck, search up stuff. Need inspiration, check out open source projects in that field.
And finally here I am at the end of the course. Well i know there is a new video with binary operators ¡great!. I think it's been the first time in my life that i've ended a youtube course completely!!! From now on the journey is on my own. Thank you "The Cherno" but this is probably the best course on internet.
Didn't knew this till now: Even though a function in c++ is created with some return type, no need to use/store the return value !! Just neglect it and go on!! I was expecting a compiler error !!
I couldn't agree more. The pitfall of following of tutorials is that you get spoon fed and while this is a good thing for a beginner, it will come back to haunt you later on. You really have to understand the structure of programming in order to advance to the next level.
thanks it really helped widen my perspective now i might be able to learn cpp in a better way i m starting today with first lecture (as a beginner) wish me luck!!
I already have learned the basics and can read the fundamentals of any code I see, though when adding things such as other libraries and going past iostream and cmath, I didn’t have a clue, thanks for the advice and I will be sure to try it to expand my knowledge more into the field of c++ I want to take a closer look into!
hi bro i have exposure to cpp to decent extent i can write functions and basic stuff should i focus more on learning a bit more advance concepts and logic building or learn different libraries ?
Step 1: Learn the syntax and basic coding principles. Step 2: Learn about Object Oriented Programming (OOP) Step 3: Learn about Data Structures and Algorithms. Step 4: Learn the concepts of the field you're interested in. (Software Engineering, Data Science, Cybersecurity, etc.) Step 5: Accept the fact that you don't know everything. Learn new things everyday.
I just started diving into ROS Nav2, which is used for robot navigation. I am going really really slow. But I am glad that Cherno approves of this method.
5:37 "First let's quickly obtain it [OpenCV] and actually build it on our computer." oh man, you have no idea of my past struggles of building OpenCV q.q "quickly" I wish. To be fair, I was trying to build under Ubuntu in a VM, which at some point just ran out of storage (who knew, OpenCV would generate 15+ GB of intermediates just to build it
I really don’t understand when many people say “do projects, something simple like a Mario game.” I feel this type of advice is more for people who have a almost intermediate knowledge in c++. You can’t expect someone who knows nothing about c++ or programming in general to know exactly where to start just by doing projects. If I do a project like that to learn, I’ll feel as if I’m just copying and pasting and not really learning anything that way and wasting a lot of time. I’m not sure. This is coming from someone who has no clue where to start and only has the most basic stuff down on c++.
Having a project is motivating and even though you copy a lot, you also adapt a lot of code and things slowly sink in. You will feel a bit more comfortable on your second project and so on
That's because this video is for people, who have some knowledge. Instead of mindlessly copying you should copy thoughtfully. Meaning that not only you just copy someone's solution and change names, but you try to figure out why something's done the way it is done. And if you cant' figure something out - try to break it into pieces and google each piece. That's a generic approach that works almost everywhere. You learn music by playing others' songs before you can actually write your own album. But as soon as you can play, say, Teen Spirit - you may try to write «your own» Nirvana riff. As soon as you copied some cool looking girl from a comic book cover - you can try to draw something similar. You also first learn real language by just trying to mimic whatever you hear from parents/relatives/tv/radio etc, but very soon you find out how to ask for food or a toy for example.
Cherno I'm studying at Monash Uni in Melb and really enjoying it but you've gotten me into C++ and have allowed me to understand lower level stuff, so thank you!
It's easy, code, fail, stack overflow - repeat. Remember to keep code/failing and learn to like it. We never stop code/failing, it's called learning.
you can't code if you can't learn tho
@@AlexandrBorschchev you learn through coding. You wont learn if you sit down and read a book about coding.
what do you mean by stack overflow?
@@Foodran It's a site where you can post coding questions and read answers on questions other people asked. It's pretty much always going to be the top few results of any coding question you put to Google.
what if u dont know what to code
Man I didn’t know Ed Sheeran knew C++
He is similar to Mr beast.
:)))))))
More like Chernobyl mutated ed sheeren
If ed sheeran and mr. Beast had a child
🤣🤣
"If you want to be a writer, you must do two things above all others: read a lot and write a lot." Stephen King
I wanna be a writer
"... if you are interested only in writing you will never be a writer, because you will have nothing to write about . . .)"
-C.S. Lewis
You can't just purely "write code". The code must actually do something. You need to be writing/reading code that actually accomplishes something beyond academic exercises.
Being able to create a linked list is all fine and dandy, but why did you need a linked list to begin with?
The answer is the same as it's always been in programming: find something you want to build but currently have no idea how, build it, then find another project that's different enough to push your skills more.
Your advice is actually on spot, a lot of beginner programmers (including me) struggle with what to do next after learning a language and frankly no one ever feels to even address this problem. Great Content, Great tutor keep it up The Cherno !
Dude, you are the best programming content creator I've ever watched on RUclips. Keep up the awesome work!
What was your project
@@ktarunreddy7882 unreal engine 4
I have to agree. Certainly the best beginner/intermediate programmer learning channel on RUclips.
@Kael Hanaman Dani is more entertaining, Cherno is the best teacher
I'd say cherno and chilitomatoenoodle
in a nutshell: Use С++, don't just learn it
Ronald Alexander you code
@Ronald Alexander You ask a stupid question, you get a stupid answer.
Avoid C++
It is the worst designed language to ever be invented that wasn't done so deliberately as a joke.
RPM GFX i was just going to write this lol
@@____uncompetative what?
This is amazing advice! I've been doing this subconsciously for other languages and always wondered why my skill in them overtook the first language I ever learnt. I'm definitely doing this for C++
Rather than starting with Hello World, I started learning C++ by jumping into open source stuff, before I even knew how to code it. I chose open source games and simulators that I actually played/used. It's easy to decipher and learn code when you know how the end product works. Then it was just a matter of adding the syntax. Functions are functions, variables are variables. Jumping into the deep end revealed how much I could figure out on my own, and what I needed to look up and learn more about. Starting with the basics doesn't challenge you to learn, it only teaches you to recite progressively complex code. Cheers!
how much C++ have u learnt?, Like is percentage from 0-100%
i have learnt as of now like 55.7% of C++.
@@TheSpekeyMan You know more than me. But I'm just learning to learn so I don't care how long it takes lol
The one piece of advice no one ever gave me, I had to discover it on my own. The only advice I would ever receive from people is: start coding, it's the only way to learn a programming language. And I would simply find myself asking myself, how do I f*** do that! In any case, the point being made is that only when I began reading real life source code did I truly transition from simply knowing the syntax of a programming language to actually using the language. This is good advice.
Alternative title: How to learn basically anything
something that helped me was just doing it. I just went all in and did something way out of my league and learned a lot.
What did you do?
Can agree, made a game engine, better coder now.
K, I know I made that look meme-y, but like actually I did it, and it was very not planned out, and so much spaghetti code, and oh god I need to refactor again it's only been a year since the last refactor send help pls
Would you mind sharing what you got involved in?
@@arianheight750 how do you even start with something like that?
@@sangramjitchakraborty7845 by looking up what others did to solve the same problem. Each time you do that, you try to both optimize the process and start thinking "is that really the best way to solve this?"
Started from not being able to understand what a server is, to writing APIs and web services for banks.
Awesome! I was in the middle of watching your c++ series and you uploaded this while I was watching it. I have wanted to apply my c++ skills outside of the text book, but found it frustrating because I never knew where to start. Thank you!
How is it going so far ?
@@Isaac-eh6uu really bad
In simpler terms, you have to actually USE it to become fluent with it. I got through my OOP class at my university without too much problem, but I didn't come out of there actually knowing how to program. I learned that a semester or two later when I actually had to design and implement my own systems and class hierarchy for a project.
I think we need an objective when learning programming...
I first touched c++ when i was 13, but i don't knew what to do with it on my life activities (i regret not continuing, anyway, i learned other things)...
After i began to mess with music, i learned that "music is math", so i decided to learn programming, and when i was learning i really WANTED to do music out of it...
That is when it really began to flow from me... When you have an objective in your mind, that your really really want, YOU DO IT!
Don't just program for the "sake of it", program because you WANT IT... Then, chasing your dreams will naturally make you find solutions to your problems... And it being a dream, it is something you won't surrender (at least, that is what i hope from you)...
The book" Ultra learning" by scott young. This guy completed the whole mit computer science degree in a year.math programming everything on his own. The book is amazing and has helped me tremendously. He has also used his technique to learn to speak fluent in other language's in a matter of months.
Went into C# knowing nothing on a friday and then spent the whole weekend (objectively was supposed to be C++ but didnt turn out so) to work on a "launcher" that i've wanted to make for some time, incredibly hard as i knew nothing what arguments i were supposed to use and what not.
I took up a incredibly challenging task and ended up doing what i wanted to do and i ended up learning a big portion of C#.
It all leans to doing something you find interesting thats challenging at the same time, best way to learn and then being in a small chat with a few people who love to just code stuff where we talk about coding and add ideas to what we could do better or how u could code it easier.
By far best way of learning for me. Obviously if i were to go into basics it would be far more easier and it would save me time and would be the way to go. But thats the fun part
TLDR work on something u want to do and find people u can talk about coding who's also encaustic
my phone doesn't have an option for displaying language "C++"
haha it reminds me of a Tinder screenshot where you could set C++ as a language you speak. 100% success guaranteed!!
There are phone code editors to view c++ code
If you want to read source code (just text) on your smartphone just rename the file and modify the extension to txt or something that can be opened by your phone
"some_code.cpp" --> "some_code.cpp.txt"
Lol you can use online c++ compilers loads of then not sure an app exists
You guys are soo stupid. He means he cant change his phones language to c++ like he said in the intro with the german example
Maybe I’m biased because C++ was the first language I learned but...
I feel like C++ is one of a rare OG language that you can “read” as a language... it focuses on programming through explicitly governing the logical operations within the computer. I can look at a C++ file and understand exactly what logic the computer is being programmed to perform. It’s verbose but it’s precise.
what other languages are you comparing c++ to? In higher languages, the logic is much more clearer as it hides more unimportant implementation details. The c++ language tells you nothing about how the electric signals are moving in cpu during execution and you probably do not care about such details. Python vs C++ is basically the same thing only at different level of abstraction. It is only your preference which level of abstraction you deem "precise" communication. At the end, the only precise language (to the best of out knowledge) which could tell you what the computer is really doing would be in terms of quantum field theory. And that would be infeasable, not to mention completely idiotic.
@@michalmaixner3318 I didn’t compare C++ to any language specifically.
And you’re reading too much into it, no one said anything about electrical signals. Read again, I said about the logical operations that the computer’s assumed to be doing... which is right above Assembly’s abstraction level. It’s the lowest you can be while maintaining a fair amount of confidence, given you know C++.
Python is waaay above, even above JAVA... to the point where it’s basically pseudo code, where it tells you what the programmer wants to do. Not what’s happening in the logical realm (not electronic).
So this isn’t subjective preference, it’s pretty objective that when working on code... you wanna know what’s happening in the computer realm not what the programmer wants to happen, hence lower abstraction of C++ is more preferable
@@alphamineron
sorry, i read the sentence
"I can look at a C++ file and understand exactly what logic the computer is being programmed to perform."
and thought you are actually talking about logic, instead it seems you are talking only about instructions.
I do not know why do you care about them so much though. Important thing is first and foremost the logic, implementation comes only as a second and only once efficiency of the implementation is not sufficient for your needs. The logic itself is best described in higher level languages and most programs are implemented sufficiently enough. So unless you are working on resource-heavy software, the instruction level is just useless burden.
@@michalmaixner3318 True instruction level that you talk of would be Assembly.
C++ is at the optimal balance between abstraction level and overall code readability.
The differences i mentioned in the prior comment is important because it makes debugging code much easier and improves the quality of the codebase without seeking online help which is a bad practice when abused by inexperienced devs who simply “copy paste” high level code which simply just works and it’s also unreliable in the long run.
Back to your comment, After using “logic” for electronic logic as it seems from your last comment... you are switching to “logic” as in, human logic? By saying that high level language show that best...? I don’t see what’s your point is...
By the way, you can follow those instructions and get an understanding of what’s happening under the hood. When you have all the pieces of the picture, it’s easy to pull back and look at the whole picture. It’s definitely challenging though, and other constraints make it unfeasible which is kinda obvious why everything isn’t coded in one language... each have their roles
Simply put, high level is like buying one of those ready-to-bake cake packets, where you just add a bit of ingredients like eggs and stuff and you get your cake.
Low level is like buying all the ingredients and making the cake yourself.
@@alphamineron I started by saying "In higher languages, the logic is much more clearer as it hides more unimportant implementation details", meaning I was always talking about logic as logic. And then went on (unsuccessfully) trying to explain that implementation of the logic can be described in many levels of abstraction and C++ is just at one of those levels. And which level you pick as the "holy" one is just your preference (or nature of your work). By itself, it is no more special than any other abstraction level. Objectively there are only two really special ones - quantum field theory being at the bottom, pure math being at the top. Everything in between is distinguished only by your practical needs and this sentence "C++ is at the optimal balance between abstraction level and overall code readability." cannot stand on its own. Might be true for your line of work, but in general it is BS.
So, it definitely helps having an experienced professional C++ developer friend nearby.
This is truly an underrated channel. Finding it makes me feel fortunate.
What tips do you have when first looking at a new Open Source project that you're unfamiliar with? Should we start by reading the docs / wiki? Open issues? Dependencies? Preprocessor statements? Main function?
What's your general approach to familiarizing yourself with a new code base?
He still continuing this series after 3 years
Thanx
This might be just the thing I wanted to hear Today to get me motivated and have a new approach to learning C++ and Java. Thank you :)
I've been learning c++ for the last few months. I have never programmed before....... I kept following tutorial after tutorial. The repetition of the tutorials didn't teach me much. Instead I started to write down some simple ideas I would like to do and started coding it myself. If I was stuck I'd do a quick google to point myself in the right direction. The tutorials are great to 'point you in the right direction' but you will never learn this way. I mean 'really' learn. Who knows how many years it will be until I have a solid grasp on c++.. but I have learned more just doing something myself with a help from google here and there then a tutorial telling me something. You only really understand and learn when applying the knowledge yourself. Keep typing, keep hitting the compile button..make a sh*t ton of mistakes and you will learn.
Hey , i am a beginner , i really don't know anything about coding!!
I did some research and decided to learn C++.
Can you tell me where should I learn it from?
Should I learn it youtube or udemy or any other website!!
interesting, i've also been learning c++. however, i'm just stuck at doing the same code over and over again, recalling the concepts learning a new thing but not really even applying it practically. the resources (learncpp, geeksforgeeks, books, etc.) im using arent enough because im not really a genius, i need some practice and some tutorials to teach me. luckily, i know how to choose which tutorials are bad and good for learning. goodluck to you and your journey, and mine!
I think I have an invisible Cherno fairy by my side. This is exactly what I was wondering nowadays after watched your 90+ C++ tutorials! Thank you so much!
Leaving your comfort zone is the hardest thing to do. This applies not only to learning.
New viewer here! This video instantly gave me lots of hope. You earned yourself a subscriber.
Cherno : "whtever level tht is"
Me : Legendary
Professional or industry level
*God
Cherno VS John Carmack :-)
this advice of looking at other people's codes was so needed!!!! i wanted to see more of the language but didn't now how or where. thankssss
This is the first time you've come up in my feed since your old game dev tutorials. Glad you're looking healthy. Thanks for the videos.
I just passed my C++ exam with a very good result! Thank you for this great series :)
I'm not c++ dev I only code python and at a really novice level but IMO a good way to improve at coding or learning things in general is to learn through personal projects which really motivates you !
I 1st learned python during my IT technician course and I was a total trash at it because it was explained through mathematical / algorithmical concepts and it honestly was boring / felt hard to learn.
then ...
a few years after I needed to upgrade some python coded 3d modeling software's plugins of one of my favorite games of my childhood.
I then took the scripts and relearn python through upgrading those tools and managed to upgrade the whole shit and make it display something on screen.
This made me learn A REAL LOT of things about Python programming / hexadecimal files formatting / reverse engineering / 3d models concepts such as vertex positions vertex textcoords ...etc
and I'd say python is probably my favorite programming (scripting :) ) language today !
Learn through your own projects ! You'll get more motivation / self reward by doing so
Yes same here, used my interest in football to create a football scores quiz using python/flask and a json file of football results for an entire premiership year, learned a lot.
Thank you man, I have been struggling with this for quite a while now. It's good to know what my next step should be.
All your videos are good and helpful but this is one of the most important ones.🎉 Thank you for this.
I was looking for something like that and RUclips recommended this precious information. Thank you for help our dev community evaluates!
I have become over the years a professional c# coder and I never EVER needed to be "Tough how" so to say I was only set off with the basics. These are like variables classes... but. After that I was left pretty much alone in the topic. As it turns out it is only ever going to benefit you coding if the first programming language you do you are really only nudged along but defiantly not though. There is a much more of a beauty to it because your mind feels more compelled to do it if you set off on mini projects. It takes away the stress of it being homework or you must do it. If you can' t keep this constant interest up then coding is not for you. Though after a while it becomes addicting. I personally started on a calculator. Now lets talk about why would these tutorials actually help. It is because if you seen one language you seen it all. After you are in that coder mindset It is just learning the syntax and a little more depending on the langue but with one of these 4 hour courses after your first language these are worth it to learn one in whole. So to sum up the title above says it all "really learn c++".
I was watching your older videos to revise some basics of C++, you've put on some weight.
you're the best, please keep the videos coming!!
A great video, I think. Uh as a c plus plus beginner, I didn't know how to learn C plus plus before watching your video. But now I understand how to learn C plus plus in a better way. Thank you.
You should update / post a new video with this same advice! I had to dig to find it, and it was one of the best advice for C++, that put me on a path of learning! Taking on learning C++!
Great advice, no matter what language you're interested in.
Too many people descend into tutorial/courses purgatory and
never make it out.
Keep up creating great learning content! If someone is really interested in a topic, they will learn through daily practice. In the end, this is the only way. Nobody CAN TEACH you anything, but you CAN LEARN from all possible sources.
Old follower here (before your C++ series started).. when I first started programming I wanted to dive into C++ and build my own physics engine. Yeah... maybe a wee bit too ambitious!
I ended up going into web development instead because it's a lower barrier to entry (Much easier to learn and much faster to start getting paid for).
Anyway, I still learned a tremendous amount from your C++ series, and it made learning Web Development/Other languages WAY easier, and I'm eternally grateful.
Second point is, I will hopefully soon be getting back into the C++ game soon.. and watching this brought back so many awesome memories. Your content is simply priceless. Such clear explanations and great emphasis on what really matters when it comes to programming. You're definitely one of the best programming educators out there.
Thank you so much! I'll be sure to become a Patron ASAP!
P.S. I'm extremely proud of what you've done with your youtube channel beginning with the start your C++ series. It's really impressive/inspiring!!!
If you hang around the barber shop long enough, sooner or later, you are going to get a hair cut.
this makes no sense
@@dionyzus2909 maybe if haircut is included in his funeral package
@@vytasffbismarck7001 I just realized it probably was a joke about his hair size. I was overthinking the comment as if related to C++ learning lol
I learned game programming in the 90's and early 2k's. Your first 90 seconds haven't existed in like 15 years. They really DO ask you how to implement vectors and stuff. You must be lucky and have contracting or otherwise people who know you can code. I have 10 years of code owned by major companies that I can't transfer anywhere, so outside of the few friends that needed my skills, I'm CONSTANTLY asked to know everything and implement algorithms. I get along better with retired coders since they're the last generation that seemed to learn how to code without importing thousands of dependencies.
Side note, I'm a mobile dev. I've worked on Bejeweled, Xbox, as well as enterprise meeting room stuff. I'm not a systems programmer, and my last time using C++ on-the-job was Cocos2d. I actually created the code they use for the scroll view in the C++ version (after converting it from paging). Seriously who makes a "scroll view" that's just paging...
I learned to organize code by a combo of LaMothe and Multiplayer game philosophy, while rewriting map editors.
"you are not expected to know everything upon being hired" - oh boy
That's a really good advice. At one point I thought I could write a small fluid simulation in C++ ... and then I saw OpenFOAM and how crazy the code was. Due to my studies I went towards Python and didn't have time to come back to C++ , but it definitely was a humbling experience.
What programming language is better in computational physics or math python or c++?
this makes Soo much sense. i am almost ashamed i didnt think of doing this. thanks for bringing up this topic
I found out that the best way to learn a language is to first learn to code. The syntax and the nick nacks of the language are something you can learn while writing the code. So for me, I'm just starting to learn C++, I'll spend a few days studying the basics and the syntax. Then I have a project in mind that is going to be quite big. I think I will end up with atleast 10 000 lines of code in the end. It won't be the most elegant thing to exist, but it will have a lot of different problems that need to be answered with a good solution. When I'm done, I will recode the worst parts of it and maybe do some restructuring. When I'm finally finished in 6-8 weeks, I'll know how to code in C++. There's always something new to learn, sure, but I'll be confident enough that I can start using the language in my other projects.
That is great advice, but I'd like to point a thing out for aspiring C++ developers:
Keep in mind that if you're going to work professionally with C++ at some company, the vast majority of projects are horrible legacy codebases that may be frustrating to work with.
I'd say go for C++ if you are interested in and want to work with efficient resource usage, such as embedded systems or video games.
Maybe i'm naive, but that can be a good thing. I mean, C++ evolved so much in the last decade or so. If you have the opportunity to refactor a codebase from a big pile of goo to a better system your colleagues are definitely going to notice (hopefully your bosses too), it's an opportunity for growth.
As someone who is learning both C++ and Japanese I'll take your advice to heart
That is literally me!
This may be weird, but what really helped me was a desire to hack games. It helped me better understand assembly and C++ and the underpinnings of DLLs. I learned crazy techniques with pointers and manipulating data and it was fun because you get to cheat in some games. Obviously I encourage doing it on singleplayer games where you aren't affecting other people if you do it. But for me that was a big help and taught me a lot of new things with C++.
Just transferred to a school where I have to lean C++ and I have 5 hours a week. All of my classmates have been doing this for 2 years or more already and I feel so behind because I am. Just found this channel and you seem like a good teacher, hope this will help me become better at it.
How are things going dude ? Hope you're doing okay
How did things turn out?
I’m learning Python and this is an amazing advice. Thanks
100% right. learn the basics, and start using it. for me, I am an advanced C++ user, so I know most of it. but to use it, you do not need that. just learn the basics, and then google the topic you need and read that topic.
The Cherno is such a good resource to anyone on the coding journey, so much valuable information
Brilliant advice. This is exactly how I learn as well.
BTW, I'm literally learning Japanese. I'm currently the only person left in my house who doesn't speak it fluently. 😅
I'm 26 and want to get back into coding. Life took over some years ago and it fell to the wayside. Not sure if it's ridiculous to do. It's the only thing I've ever had a passion for since I was 12 years old. I'm not crazy experienced, but I always have it in the back of my head - it never goes away. It's the only thing I've ever felt happy doing. I don't care about making lots of money, just being self-sufficient.
Today, actually, I've done a small homework for a class at uni, no big deal, but it was about litterly googling a sorting algorithm and then writing it in pseudocode, extremely basic stuff right, but the site I found it on I didn't understand the written description at all, but then I read the c++ code and was like "ohh, that's it? Ok that makes sense"... on the class itself tho, we're supposed to start learning c and c++ in a few weeks so that's exciting... will have to go watch some tutorials tho so I could go to those classes like ducks through water haha
I needed to hear this. Thank you!
You gave me direction to move towards, thanks.
Thank you, needed this
_Summary_
- Open source contributions
- Bug bounty
- pvs studio for finding errors/bugs in the open source code
I just got a C in introduction to programming in C++.My professor didn’t teach us really well, she doesn’t have a good teaching style, she just read the PowerPoint the entire semester. So this entire semester I was looking to learn by my own. I needed to do my little project with help because I couldn’t do it by my own, so it was frustrating because I couldn’t understand. During this vacation, I will dedicate to learn C++ and practice more. It is really shitty that you are paying for classes, but the college hires mediocres professors that shouldn’t be teaching.
Thank you, you helped me a lot, finally I find out the right path of my journey.
first time visiting the channel and found my solution . again wanna say thanks. keep doing the good work bro... :) _____________from Bangladesh
It reminds me of a quote from Stephen King: "If you don't have time to read, you don't have the time (or the tools) to write. Simple as that."
I learned C++ by using Frameworks. I also learned similar languages like Java, Javascript, C#, and PHP. And thus, when I got to C++ it was literally all the SAME THING!! In working with C++, it felt like I was still working in Java, etc.
Great video! I love how you related natural languages (German, Japanese) to programming. Really cool.
I agree with this 100%
In college, I took C++ and I bombed(our compiler was bad and it didn’t show EXACTLY where you forgot a semicolon or bracket so it was a nightmare) and also basics in code is all math and all outputting to the console.
Thing is, you need both of these things no doubt, but a beginner starts to get lost as to why. After the basics, you need to start importing or including(based on the language its terminology is different) an API like for example I’m doing C# in Unity right now so any code I want to now include the Unity engine(which it does by default of course)
Now when I look up how to make a game and how to move, I understand what the addition and math is all used for. It’s still useful as well to just google code like you say for your specific needs because why reinvent the wheel when someone probably understands what ur doing and has done it ALREADY?
Also another thing ironically I struggled with in college was functions and classes. I had no idea about calling and about why they were separate. In class, they use arbitrary examples like a function is a car and inside is the instructions to make it work. Since this wasn’t programmer related, I never fully connected it.
But through unity, I learned that you can have a function for player health that has all the instructions for how to subtract and add health to the player, a class for a weapon which has a function for things like the shooting input, etc etc.
TLDR: until you understand ACTUAL programming context, it may be tough for you to connect all of the other dots because you won’t know how it applies.
Watching the shows and media in ur target language is called language immersion and it’s how a lot of foreigners learn English without school. You can do this with computer languages too. If all you’re reading and hearing is c++ then you’re brain is going to have a very hard time not learning it.
I really like the part where you said to immerse yourself into the language. I'm trying to learn spanish and I changed all me devices over to spanish a week ago
you are my mentor sir!!!! Not my boring professor's
For me, it makes sense to do what he said but later. First, learn some data structures. Then learn the abstract data types that the structures are suppose to be, implementations off of ADTs. Find out why each implementation is chosen. Then move on to learn different paradigms. I've learned Object Oriented programming first and now I'm studying functional programming. Next up is concurrency and parallelism that functional programming excels at. Then move on to procedural programming with data bases. Boom, I have all of my go to tools for my skill set. Now it's time to for open source projects along with some of my projects. This with some free lance jobs, you'll be right on track for a proper career change.
5:41 - I have a small advice for all who want to just clone and build the latest commit - just add the "--depth 1" parameter.
That will download just the last commit instead of all the history. Try it ;-)
Best way to learn any programming is to get your hands dirty. Just write programs, games whatever interests you, if you get stuck, search up stuff. Need inspiration, check out open source projects in that field.
The most important video you've ever made. Well done!
And finally here I am at the end of the course. Well i know there is a new video with binary operators ¡great!. I think it's been the first time in my life that i've ended a youtube course completely!!! From now on the journey is on my own. Thank you "The Cherno" but this is probably the best course on internet.
Didn't knew this till now: Even though a function in c++ is created with some return type, no need to use/store the return value !! Just neglect it and go on!! I was expecting a compiler error !!
It's not an error, but generally the compiler will give you a warning about it, if showing those warnings is enabled.
Trying to learn both C++ and English watching your videos, thank you
C++ projects spans a wide range of categories, can u guide us which should I specifically look for, game engine? Embedded ? Drivers?
I couldn't agree more.
The pitfall of following of tutorials is that you get spoon fed and while this is a good thing for a beginner, it will come back to haunt you later on. You really have to understand the structure of programming in order to advance to the next level.
thanks it really helped widen my perspective
now i might be able to learn cpp in a better way
i m starting today with first lecture (as a beginner)
wish me luck!!
I already have learned the basics and can read the fundamentals of any code I see, though when adding things such as other libraries and going past iostream and cmath, I didn’t have a clue, thanks for the advice and I will be sure to try it to expand my knowledge more into the field of c++ I want to take a closer look into!
hi bro i have exposure to cpp to decent extent i can write functions and basic stuff should i focus more on learning a bit more advance concepts and logic building or learn different libraries ?
that was so beautifully explained!
Step 1: Learn the syntax and basic coding principles.
Step 2: Learn about Object Oriented Programming (OOP)
Step 3: Learn about Data Structures and Algorithms.
Step 4: Learn the concepts of the field you're interested in. (Software Engineering, Data Science, Cybersecurity, etc.)
Step 5: Accept the fact that you don't know everything. Learn new things everyday.
An old man appears in my dreams often and teaches me C++
Give me that old man's contact 😂
I just started diving into ROS Nav2, which is used for robot navigation. I am going really really slow. But I am glad that Cherno approves of this method.
It's the God one, The Cherno. You're on the God level of C++ 🙂
Superb, just like always.
Thanks Cherno, You' re the best at giving examples
I love playing sudoku.
Looking at c++ algorithms(of many versions)to solve sudoku makes me interest to learn about programming.
5:37 "First let's quickly obtain it [OpenCV] and actually build it on our computer."
oh man, you have no idea of my past struggles of building OpenCV q.q "quickly" I wish. To be fair, I was trying to build under Ubuntu in a VM, which at some point just ran out of storage (who knew, OpenCV would generate 15+ GB of intermediates just to build it
Very informative video. Thanks!!
I really don’t understand when many people say “do projects, something simple like a Mario game.” I feel this type of advice is more for people who have a almost intermediate knowledge in c++. You can’t expect someone who knows nothing about c++ or programming in general to know exactly where to start just by doing projects. If I do a project like that to learn, I’ll feel as if I’m just copying and pasting and not really learning anything that way and wasting a lot of time.
I’m not sure. This is coming from someone who has no clue where to start and only has the most basic stuff down on c++.
Having a project is motivating and even though you copy a lot, you also adapt a lot of code and things slowly sink in. You will feel a bit more comfortable on your second project and so on
That's because this video is for people, who have some knowledge.
Instead of mindlessly copying you should copy thoughtfully. Meaning that not only you just copy someone's solution and change names, but you try to figure out why something's done the way it is done. And if you cant' figure something out - try to break it into pieces and google each piece.
That's a generic approach that works almost everywhere. You learn music by playing others' songs before you can actually write your own album. But as soon as you can play, say, Teen Spirit - you may try to write «your own» Nirvana riff. As soon as you copied some cool looking girl from a comic book cover - you can try to draw something similar.
You also first learn real language by just trying to mimic whatever you hear from parents/relatives/tv/radio etc, but very soon you find out how to ask for food or a toy for example.
Such a nice piece of advice dude. have always been learning that way too. Immersion is a key to learn anything.
Cherno I'm studying at Monash Uni in Melb and really enjoying it but you've gotten me into C++ and have allowed me to understand lower level stuff, so thank you!
1. Learn C++.
2. Learn Design Patterns.
3. Learn software architecture design.
4. Profit!
I feel pretty confident in Java, and I mostly learned from reading other's code
So I guess it's the same in C++
Jacoco_ omg same
In Indonesia the answer would be: "Same, same but different." ;-)
1. man you remind me of TED, himym
2. C++ is every competitive coder's love
3. you are the best, definitely trying open source projects this time