This man is remarkable. He woke up one day, realized its been 15 years, and reflected on his time. He was so passionate about the conclusion he drew, he decided to get on camera for the first time on this channel and tell people his truth that the rest of the internet seemingly disagrees with. That's brave. Thanks for sharing SyncMain.
The amazing thing for me is that C++ is still in demand. I also programmed C and Visual C++ for about 15 years. I thought the language was dead? Maybe I should pick up where I left off. Of course, I enjoyed it. If you're careful, the programs run very reliably.
The little embedded stuff is really cool to work with. An ESP32 device the size of a quarter has the same power and memory of a 1990s vintage PC. Arduino has nice libraries too. The cost is $10 to get started.
Bjarne Stroustrup once said that the only programming languages that no one complains about are the ones they never use. Once people spend thousands of hours with a programming language, they notice even the smallest things that could be considered "bad". Once people get over that fact and just try to get stuff done, those small details don't really matter.
Of course you are not going to use C++ in Web Developement? Everything is in GoLang these days anyway except select firms keeping their backend in cpp@RajinderYadav
@RajinderYadavthat’s like comparing apples to oranges. All my 30+ years in programming the best language is the one that best fits the task in hand, all languages are good at different areas and what ever language you’re currently using today I can guarantee C/C++ plays a big part in that when you look under the hood.
I have had a 35 year programming career. I didn't focus on the technology, good/bad code, best practices, etc. My main focus was, does it solve my clients needs are they happy. Boom, great job.
"hitting you head up against the wall, finding errors, learning..." this is the heart of programming. To be a great programmer you have to do this often, until you dont have to do it so often
I feel like if you ever stop hitting your head against the wall that means you've stopped learning, innovating and pushing yourself. And that's true in any discipline. I can only wish to keep hitting my head against the whole forever, whatever I do.
Nowadays you're just referring to the mountains of technical debt that grow and grow and grow and no great programmers in site. Just people who had the time and opportunities to start their own codebases and the people who wasted time cleaning up after their dads.
Until you injure your head, you mean? 😂 Kidding.. I know but I feel that emotional self-care is very underrated, particularly for programmers! We tend to be perfectionistic nerds who don't love themselves very much!
Problem is not with the programming language, problem is with mindset of people and hype created in the social media space. Oh look at how many lines of code C++ or java has vs Python, python is simple, great blah blah blah. Instead people should think about what are you going to do with that prog lang and how well it is helping your project rather than how hard/easy a programming language is.
As a student, trying to always do it the best way caused me more worst than good. What you said about getting it to work without worrying about the best way then improving when it comes to it really enlightened me. Great advice.
Works for fine art too! I'm not sure I really have a method for creating software but to the extent I do, it's go ahead and write spaghetti code, whatever comes to mind that makes sense to me at the moment, get it all hooked up and tested. Once it's working, cool, and next week refactor it to look nicer and make sense to others. I find I get a lot more done that way than trying to follow any methodology or system or anything promoted by the gurus.
You won’t be able to do it the best way initially. You should focus on getting it to work. Eventually, whether you’re brand new to programming or brand new to a language, you should strive to write code that follows the idioms of the language.
Im not a professional C++ dev, but I have been programming in C++ for a long time, and I can say that C++ is not nearly as hard as some people say it is. For instance writing a parser in javascript is just as hard as in C++, and a lot easier than in classic C. One advice I have is if your going to learn C++ don't learn it at the same time as your learning a framework. Master the basics of the language first, then you can learn the frameworks like Qt, OpenGL, SDL ect.
Thanks for this insight. Studying computer engineering currently and chose this as my OOP language and FIRST language and have been learning it for the past 3 months. I used to be a pretty big gamer and saw many people say learning in Unreal would be a good way to but was told elsewhere that if embedded systems was in my future that it's better to learn the basics of the language. This just further confirmed it for me!
@@killacam2971 My pleasure! Also I recommend not trying too much to force yourself to learn pointers and manual memory management like I did. I bought 4 books on pointers because I couldn't understand it, I did one day of learning beginners assembly and I understood it completely. As a beginner one does not need to concern oneself with these things, when your project demands it that is the time to learn it. Then you will have motivation to go more deeply into it. Also IMHO C++ in itself is not the difficult part, solving complex problems is the difficult part. I am in the process of making a game in Unreal, and the tool is incredibly user friendly and nice. It is so easy to use, that I really don't think it is possible to make it more user friendly than it already is. Happy C++ programming!!! 😀
Google’s “Carbon” project aims to start again with a clean slate, based on just those features of C++ that make sense, and leaving all the old legacy baggage behind.
@@lawrencedoliveiro9104 I think that is a really good idea. The Mojo programming language is also sort of the same treatment that typescript has done to javascript just this time its python. It's also in the early experimental stage, but it has the guys behind clang,LLVM, and Swift working on it. It brings system programming into python.
I've been coding in Java for a decade, and I can wholeheartedly affirm that what you said in this video is absolutely accurate. For anyone looking for a magic trick to become a professional, I must tell you, there simply isn't one... Just practice practice and practice
The magic trick is called AI. Studies show that newcomers are nearly as effective programmers as professionals with AI support but they only cost a fraction.
They can you like give me a roadmap what are the topics I should be learning in Java to land a job, I've just started out.. I've learned fundamentals, OOP's, exception handling, collection framework. I've no idea what should I do next ! Thanks.
I started out and spent around 5 years doing C++, but eventually ended up working exclusively in JavaScript and TypeScript. A major thing I've found during JS/TS peer reviews and training is that other programmers greatly struggle with things I simply find intuitive. Then I think about and it and realise those things MUST be understood to write even basic C++. I may not use the language anymore, but learning it was one of the best decisions I've made for my career.
@@-taz- Any western language, anyway. Japanese kicks my ass hard. Aside from some Dutch loan words, it has zero similarities to anything I've ever known, and I'm already fluent in two languages + have basic conversational abilities in a few others.
Starting with C/C++ over 20 years ago was what made me who I am today from a professional perspective. Understanding the fundamentals of how compilers, libraries, CPUs, etc, work is something every developer should become familiar with sooner or later. Otherwise, they'll hit a wall. More abstractions like C# or Java are great productivity tools that build upon the foundation of C/C++ for me. Also, welcome to CZcams! 👋
C or C++? There's no such thing as a C/C++ language. C has nothing to do with C++, they are completely different languages. People gotta stop amalgamating these two as if they're the same, it just sounds like you don't know what you're talking about. It makes you sound like a C#/Java programmer 😜
I started programming professionally in1981. I now choose to program in c++. My advice is to not rely too heavily on one compilers messages and warnings. Build object classes that reduce the abstraction level of your highest level code. Namespaces are your friend.
Funny how this is the total opposite error story as in Rust (a shiny hot lang that i do love as a hobbyist) Every single newcomer comes into Rust and asks a beginner question about an error, and the best first response is almost always, "Have you read the error message?" followed by "Did you do what it told you to do?" It's a godsend having a compiler that knows when to complain and how to fix its complaint. Free linter. But the main appeal is the package manager.
I could not agree more. As someone who started programming in 1993, my first languages were C and a bit of Assembly. Over the course of my career I have developed significant commercial projects in C/C++, Objective-C, Java, Javascript and Python. Platforms spanned win16 / win32 API development on Windows, Objective-C w/WebObjects / EOF on NeXT / OpenStep followed by full stack web and iOS Developer development. Early in my career I agonized over every line of code trying to make it "perfect". There is a better way. Avoid perfection and just code as much as possible, ideally on projects that interest you. Once a project is complete, then look back and figure out what you could have done better. Share what you have done with people you respect and get their feedback. Take those lessons and move on to the next project.
I started my C++ journey almost a year ago and I am now writing the applications I want and need for what I do. I get hit with the "use Rust" and or insert language here, but they all have ups and downs. The best part of the journey has been simply learning how to think differently and that can be applied to other languages without any problem. I just find the freedom within C++ to be worth it.
I agree, we all heard the saying dont reinvent ths wheel, but the language devs do it all the time. Python has no for loop or arrays everything is a list. Kotlin has you define function parameter backwards to convention ect. I believe learing C++ and Regular C makes you a better developer, more so C. You have no built in data structers with C and since white board interviews want you to know Data Structers, no languange going to force you to know them like C. C++ will give you classes. In the end, they want you to know the main langauge you are interviewing for so what you choose to know forces you dowm a career path. As a C++ dev, we got embedded, video games and Operating Systems.
Writing and debugging your own 'bad code' is the beginning to a wonderful career. Then you move on to debugging other peoples bad code and see how many ways there are to incorrectly do the same thing. Learning the 'old' languages (I have been coding for 40+ years) is a great way to appreciate HOW things work, not just that they work. I agree that making it work is the goal when starting out. As long as you are willing to, as you move forward, recognize the better and less good things you do, and improve with each new attempt. My motto has always been "I screw up more before 9 AM than most people do in a day." You learn by getting it wrong. That forms the memories of what does, and does not, work in a given situation. Subscribed.
Totally. I started my career working with C++ (for embedded stuff) as well as fpga's (verilog). Was too ignorant to know at the time that there were probably smoother ways to learn programming. However, after making countless mistakes, figuring out their nature and solving them I developed a solid understanding of the fundamentals of computing (how memory elements work, how logical semantics emerge from logical gates controlling streams of electricity and how that might be shaped into a processor or other ASICs; how C++ breaks down into assembly and how assembly actually drives the carefully designed digital circuit that is a processor). That foundation has been the biggest asset over the course of my career. There's simply no way to develop that understanding through merely working with the more modern languages because they're too distantly abstracted from the circuitry itself
Just after some fairy basic C I learnt NES architecture and NMOS6502 assembly for fun. It wasn't fun at all Khahaha It was however useful, things that are good for you seldom are easy or enjoyable :P But I still enjoyed it somehow. I would totally do that again without a second thought! Most of the time I spent debugging a few dumb lines or seeing how I fucked up the code just because the principle was wrong. So for example choosing to organize data a certain way, and after 2 hours realizing it's not reusable and is gonna take exponentially more cycles, so I already am doomed until I come up with something different and rewrite everything lmfao Really makes you care about the sense of the code you're writing. I have no professional experience in programming yet though, so idk how helpful it'd be. As for self-growth it did a lot though( taking the time to understand low level stuff )
Seeing your first video, I am in love with it. I love the fact that you are telling us realities rather than telling us the best languages. I will recommend that you start your channel as a c++ tutorial channel. If you can get all the curriculum of c++ from scratch to advanced concepts, also showing us how to use c++ in game development, I can assure that your channel will be a high rated channel. I wish to learn to you.
As someone who started programming fairly recently, my experience has been quite the opposite. Starting out with python, everywhere I go influencers actually RECOMMEND you learn either C or C++ to actually understand the nuts and bolts of what you're doing minus all the abstraction that a language like python has. It's to the point where I'm starting to get impatient about learning python and want to dive into C++ already! But I know the best thing I can do is finish what I've started, learn python first and then pick up C++. And I can't wait to do it!
I have noticed more of an uptick in those kinds of recommendations recently, or maybe I just wasn't seeing them based on what was in front of me at the time, but I think it's a good thing to learn for anyone interested! If you'll be doing most of your work in Python, then absolutely no rush, you can learn the underlying stuff in time :) Thanks for watching!
This was very inspiring, as I sit in front of a simple trig prompt/output program attempting to be perfect, rather than focusing on how this exercise shows me what areas I need to pinpoint for growth and further learning… ONWARD! Thank you
Thanks a lot for making this video. After 10 years of biotechnology/microbiology and 6 years of working in the chemical industry, I just found my passion for coding. I literally just started learning to code (~1-2 month ago) and can already see myself falling into these mental traps. Your advice is very much appreciated, especially this early in my learning journey.
C# is much more modern and also easier due to less clunkiness. Java's good too (C# copied it) but Visual Studio just embarasses all other IDEs... so C#.
Started learning C++ fairly recently, after originally studying Web Development for a year and spending some time learning C# within a Unity context for a couple years. But I realized that learning C++ would get me closer to my goals, so I've been learning that now. It really isn't as scary as a lot of people try to make it out to be, and I've been really enjoying it a lot. I've been doing exactly what you're saying, after learning all the basic syntax and stuff I've been trying to make some small projects and learn by doing - you seriously learn SO much better from just doing instead of trying to read multiple 400+ page books before deciding you're ready.
I've been at C++ for about 3 years now. I reckon, if I could look at all of the projects I worked on over that time, I'd probably have a series of "oh that's the time I learned about x". It's nice to have such a versatile toolbox for problem solving.
Facts, couldn't agree more. I am so glad that when I started coding I was 7 years old. Because at that time I was so young that I didn't know that I could even worry about things being bad. It worked out perfectly since I matured with my coding and the events played out well!
That’s impressive! Your extensive experience with C++ over the years shows dedication and a deep understanding of programming. It’s great that you’ve been able to reflect on your journey and reminisce about your early goals. It must be rewarding to see how far you’ve come as a developer!
Great, I wish I could see some cool C++ basics videos from you, but also love how you might show us some old code snippets of yours and explain what they do and what you might have thought back then and what you might have do today instead. Sounds really worth it. I'm starting October 4th this year at a programming university with C and a year later with C++.
This is one of the best pieces of programming advice I've heard in nearly 20 years as a software engineer. My experience was very similar. I got caught up on "finding the best, most efficient, cross-platform" way of doing a task, every time I wanted something fundamental as part of a program to do something else. Many of those programs never got written...
00:00 Chris has been programming in C++ for 15 years 00:31 Reflecting on writing with C++ 01:03 C++ is often discouraged for new programmers 01:35 No programming language is perfect, but beginners don't need to worry about that. 02:02 Focus on learning and debugging to improve programming skills. 02:36 I initially focused on learning in the same way as the experts 03:01 I didn't spend much time programming and was too concerned about writing bad code. 03:34 Programming is accessible to anyone interested and enjoyable. Crafted by Merlin AI.
Great advice. Gotta keep learning and worry about getting your code working rather than switching to a “better” language. Biggest roadblock is almost always navigating through the job search process to land your first role. Probably the most frustrating part of the journey. Good luck to the entry level gang, we’re gonna need it!
Agreed it can be very frustrating trying to get that first or second entry level job, but the silver lining in my experience was it really forced me to grow, and was the best way to get feedback on how and what to focus on, which can be invaluable. Thanks for watching!
Im a physics student and i feel comfortable working with a computer but i never really had the interest to learn coding until i need it it for some courses in my career. I had to learn python, matlab, a bit of C++ since then I've got a massive respect to the professionals of coding because the first thing i noticed was that you need such a patience for almost everything, even when you feel like hitting the damn screen when something is wrong with the code 😂.
hey, im also a physics student (1st year in college) and i passed the python exams like 2 weeks ago, any advice for studying math or solving physics problems?? i do really struggle studying sometimes
@@chelo5062 Hi, i finished all my courses already and I'm currently working on my dissertation, sometimes i struggle to sit and study too lol, I hate to put it this way but I do it with the best wishes towards you. Depending on the background you have on math, physics etc. The journey will be more or less hard but not impossible, in my case it was hard due to having a bad background. But the things that helped me were to know that I really wanted to surpass my limits becoming better and of course being conscious of what are the implications of that. Willing to sacrifice your hobbies, and other stuff so you can study. Not forever of course. Knowing that to become a better student you need a lot of patience and work. Knowing that you should enjoy the process, because it's slow. (Here is where you must ask to yourself if you really want to follow this path) Once I accepted those things I felt kinda free to study without doing it for the reward or because I have to. Of course I'm not telling you that I've mastered of all that already, sometimes I feel like no wanting to study and play videogames and that is ok but shouldn't be done often. Basically my tip is that you should wonder about why it's hard for you to study, identify the problem or problems and think how could you solve those and ofc do it.
@@Epilogue_04 oh, so the struggle is normal then, i think my worst weakness is that i come from high school where i never had to study half as hard as i have to in college, it's just about getting used to it ig. Btw where are you from? I saw your yt channel and you have some spanish playlists, im from Argentina. Thanks for answering and good luck on your dissertation, hope i can reach that point someday too.
i majored in Electrical Engineering and had zero interest in coding in the beginning.. i even hated Comp Sci I (which actually taught C++).. but then around junior and senior years i started having to code a lot for my regular classes.. was some MATLAB and some C programming too.. that's where i started really getting into coding.. i graduated college in 2008, and fast forward 15 yrs, i'm a senior software engineer now
As a physics student you may appreciate CERN ROOT and how C++ is used for scripting it. I am still puzzled why ROOT is unknown outside of particle physics, it is a great tool useful for nearly everyone.
I'm about 3 years deep into programming now, mostly from the perspective of data analytics and applied math with a bit of control theory thrown in. I've been in a slump for probably the last 8 months, way too concerned about everything you brought up. You alleviated a lot of that for me, just knowing this is a normal thing for people to go through. Especially since I'm not really a traditional programmer. Thank you. I'm going to go write some code today.
I’ve started learning c++ just this week and honestly, having something as simple as a weight converter through a couple of steps from how much you weigh to, having a simple number choice for a planet, and then having it convert that weight to what you’d weigh on that planet, and then debugging the whole thing myself was just super rewarding! I think I’m hooked although now I’m dealing with And, or, not and bool which is a bit harder but I’ll crack it eventually. What I’m saying is the wins are rewarding, I’ve already had my head in my hands this evening but still it’s gonna get better! It’s the only way to learn. YT watching programmers in all fields is helping loads too so I appreciate the upload!
I started programming C++ in the university, I believe mid-90s. At first it was hard and took a couple of years to pick the concepts of the OOP and the templates, then many years it took to learn not to abuse them and start writing clean code. As with everything, practice and keep in mind that people, including yourself, will need to read what you have written, and develop a clean style. Unfortunately, too many programmers try to show off and produce unreadable unmaintainable source code with deep class hierarchies, multiple virtual classes, huge templated code, etc.
Thanks for that! In the early 70's I got an intern position and was being trained on Assembly Language. The original excitement I had when I was originally introduced to COBOL fizzled away so I took the next decade off to do just about anything else. I became excited again with the coming of personal computers, dBase and Foxpro programs and managed to hold a few gigs with those new skills. Today I am very happy working with microcontrollers in the Arduino ecosystem. Combine that with some CAD skills, PCB design and 3D printing I now can make a custom instrument product that some folks want to purchase.
We started programming at the same time! I was writing C++ back in 2008 as well. I switched to other languages, but it was really cool to hear the perspective of someone who stuck to it for 15 years.
The beauty of learning C++ is that it reveals the boundaries of what programming can do. It has so many features that other languages lack and you don't have to use them if you don't want to.
Thanks for your honesty and advice. I'm currently in the same situation but with JavaScript. I was trying to learn Typescript and Angular and everything at the same and just hitting a wall and getting frustrated but before quitting I saw some video with similar advice to yours. Then I started from scratch just getting small things done learning the basics HTML, CSS and vanilla JavaScript and not only Im learning way more than a year ago, I'm enjoying it while being productive.
@@dervaken3902 What experience do you have in the SWE industry? Most everyone I've heard talk about how to learn JS says to start with the base language and after you've built up your foundations to go learn a framework or two. I'd love to hear more about why you think going the other way works well for you.
I am on 2 years of programming. Firstly started with C++ and then switched to C# because of my job purposes. However, I never learned programming for the syntax or even for how complex it is. I wanted to create real products and software for anything that I need without thinking which language is best. Programming languages is a tool that I love using everyday. Thank for the insight SyncMain and please dont stop doing what you love most.
My first programming language was C++, and it's still the reason I love programming. Thanks for sharing your experience! I wasn't sure if what I was planning on doing now in my career was okay, but this video just gave me more confidence in my plan. Thanks again!
I've been in C++ game development for about 5 years now and I've had this weird thing where I feel like my mastery of the language syntax/more obscure featureset is actually going down over time. 99.99% of the time I am writing pretty basic stuff. Usually using overly fancy patterns and over-engineered early abstractions is a serious code smell. Code is read way, way, WAY more than it is written. Simplicity is the fucking king. Keep shit straight forward. And keep shit CONSISTENT. After you finish touching a file nobody should be able to tell that you bolted on new functionality. It should blend in as if it was always there. Knowledge of weird C++ tricks doesn't really help you in the industry. What really matters in a professional setting is quick code navigation/comprehension and good communication skills. That's it.
Amazing video! My first ever langauge was C++, and I can say that it was hard but totally expected when your new to programming. I was told not to start with C++, but with Python. But I feel like if I had started with Python, C++ would have been alot more frustrating. I developed a skill to debug in C++ that I never would have done with Python per say. So personally I think C++ is an amazing langauge to start with as a complete beginner to programming. Get traight into the sauce. My first ever project was a game eninge, I know, an extreme way to start your C++ journey. But It was fun, and that was the important part.
I have recently begun learning C++ for approximately two weeks now in preparation for some math-related topics and graphical programming, particularly for OpenGL. Initially, I started with C# and have been coding in it for over a year. Transitioning to C++ turned out to be easier than I anticipated. While the syntax is different, and there are no garbage collectors, there are pointers, references, and a more manual approach. Surprisingly, I find that I enjoy it :). Although it is slower to write compared to most other languages, I am not bothered by it, fortunately. I've heard that C++ is often considered a language for masochistic people(laugh). Maybe I'm the exception?. I don't know.
I think part of it is some C++ programmers who have been doing it for a while like to be a bit gate keepy about their secret special-held knowledge, or from people who haven't written in C++ but have only heard all of the horrible things that can happen when you use it improperly from other languages' evangelists. I'm glad you're enjoying it though! With enough time in the language you'll be writing code just as fast as you were in C#, just without all the nice .NET features :)
I've been programming in different languages for almost 20 years. You can always learn something new, and I completely agree with your advice. Thanks for sharing.
C++ seems to be getting easier as time goes by. The syntax is becoming cleaner and neater while lots of useful things are now baked into the standard libraries by default. Previously, you'd have to roll your own or rely on third-party offerings such as boost.
I think this only makes it more complicated and overwhelming for newcomers instead of being easier. The tutorials that use old "outdated" constructs still exists and the new ones are only applicable in some cases. This means that nowadays you will have to gain more knowledge in order to understand existing C++ code than you had back when C++98 was the current standard.
I've been learning to code since high school and currently in college. This describes my situation too well! I learn extremely well in classes because I'm forced to do everything in a certain way, using old and "bad" languages. But when teaching myself or building side projects, I never accomplish anything. I get stuck on choosing languages and frameworks and start thinking about deployment before writing a single line of code. If I start writing code, I sink into endless refactoring before anything is even working. I'm just too worried about doing it "the wrong way." Even as I clicked on this video, I wanted to see some advice about writing clean code or managing complexity or organizing code. I used to think "don't be afraid to make mistakes" is such a dumb advice, but here I am, learning to not fear mistakes. Thank you for saying exactly what I needed!
As a retired C/C++ programmer who has not looked at any code for 3 years, it is interesting to hear and read about what today's software geeks like and dislike about languages. We all have preferences, depending on your needs and work habits. There is so much information out there to digest. It helps to keep an open mind.
Thank you so much for this video!!!🙏❤ I haven't given up. It's so frustrating at times but I usually take breaks and then keep on going. Listening to you makes me realize I'm making this more difficult than it has to be. Thank you!❤
My goal for the summer is to read the entire textbook of c++ programming written by D.S Malik. I want to become an expert at the basic usage of c++ before learning the advanced topics. C++ is my first language being a college student in CS.
I strongly recommend to just jump straight into programming and get your hands dirty. Write basic programs, look for implementation examples, try to understand them, rewrite, make mistakes and repeat
This made my day more than you think. I've been really working hard trying to automate my company and learn software engineering and I'm studying code and I'm learning all this stuff and not sure if I'm doing it right but I keep getting smarter so I know it's working and I kind of had a little tear in my eye so I appreciate your video thank you very much.
I'm currently on my 4th year of coding in c++. It's a hobby I started during the COVID lockdowns in 2020 and I've been hooked ever since 🥰 It does definitely get frustrating at times but there's always a way to do what you want!
Hey! Thanks for the advice. As a gamedev struggling to get out of the Unity/C# space and into the UE5/C++ space, this was something I needed to hear. As I look for a new job, I've realized I need some serious practice with both C++ AND my CS fundamentals. I've been struggling to find the "most efficient" route, because my time is so limited since I'm writing tools in python 40 hours a week for work. But, the best way is A Way, Any Way!
I’ve been working in medical for 7 years and have made the jump to go back to school for a masters in Software Engineering. I’m still very early in my journey but watching this video was really great to hear. I also checked out some other videos of yours as well. It’s some of the most introspective and honest videos I’ve seen related to programming! It’s made me ever more excited to continue with this ☺️
Thanks so much! I've found people with prior work experience outside of the field ramp up faster than people coming in fresh from school with no work history. Best of luck!
Good evening! I'm someone who has worked in development for over 10 years, but not as a coder. Obviously still, being part of the development team I had to learn concepts how things work, but I never learned to code myself.. so I started to learn on my own. From my own experience I would suggest people to learn Python or similar first, but only the fundamentals like variables, loops, functions, classes etc. and then move to more "in-depth-language". I learned Python only for few months before switching to C++ and I found it to be much more interesting, because it helped (forced!!) me to understand why things are done in a certain way when coding and how things really work under the hood with memory allocation for example. What I learned and what kind of programs I could code increased exponentially after I had switched to C++ and had the "fundamentals" already in control. I'm still learning and coding C++ everyday
C++ (going low level) is not the only way to add depth. if you have time to spare, i recommend looking at a Functional Programming Language. these require way less code even than Python, but that does not mean it's easy. and Functional Programming really changes the way you think in other languages. Relational Database design (ER Diagrams) and the SQL language is another thing i recommend looking at. what you are doing now seems like more of the same (Imperative Programming) only with more details. just throwing that out there
There are concepts like RAII, smart pointers and nowadays things like coroutines that come from other languages, that are worth learning in C++ as well. So yeah learning C++ is worth it in the long run.
Some people would be on the opposite end of the spectrum, saying it's absolutely not worth learning these concepts in C++ - a waste of time. There are differing opinions, so people should be critical. It's never as simple as "this is worth learning" and "this is not worth learning" because there are *always* differing opinions. My favorite way of dealing with this is to spend a long time in one extreme, then spend a long time in the other extreme, and then judge what worked better.
Thank you very much, I need to listen this, Im learning C++ now and I am very concerned of the future, if its worth time, if I will even get a job... but I will not give up on studying Ps: sorry for any english errors
Thank you so much for the knowledge! That is something I needed to hear. I'm in Uni learning CS and the job market being what it is in 2024, I'm so concerned that I need to learn the right language or build the perfect code to be able to be even considered for junior dev role. I started to code because I liked coding but as the school courses went on, I've kind of lost the fun of it and started to be fixated on being "employable". This was good reminder to get back to basics and just code. Thanks!
As someone who went directly from block programming to learning C++, I'm very happy I did. Although it can be frustrating at times, it gives such a good understanding of programming as a whole, and it becomes ridiculously easy to learn new langauges.
Yeeeep true. I don't even remember most of the stuff I covered when learning it but I'm able to pick up other languages very easily now. Hoping to get back into it but its daunting because it's so expansive
In my native language, what you advise is called developing perseverance ("упорство" - literaly persistent trying based on emphases). This is a skill that helps in life in general, not just in programming. Thanks.
I was teaching myself C++ a few months ago and, honestly, it came so naturally to me it was kind of a shock. I liked the problem-solving, I liked everything about it, I just "got it" in a way I never really have with anything else. I kind of felt bad about dropping it, but there's not a snowball's chance in Hell of me actually getting a job in the field and I don't need another hobby, so I didn't see the point in continuing.
I've been in this field for as long as you have, and I couldn't agree more. Even though I'm not a C++ developer like you, I'm an ABAP developer. I've experienced similar feelings and fears, like wondering, "What if I write poorly structured code and someone notices?" However, with time, I've come to understand that these concerns are all part of the journey. In every profession, individuals are bound to face judgment from others, and that's perfectly alright. Moreover, I've evolved over the past decade, just as any professional does. This growth applies to me both as a software developer and as an individual.
Loved this video. I don't know why this is the most relaxing, comfortable video about programming, (that too C++, lol) I have ever seen. You deserve much more subscribers. Absolutely Loved it
Thank you for this! I just started to learn C++ after going through a python, then JavaScript course. i honestly am finding that- so far- im enjoying C++ more. Idk if its because after going through Python and JS, im just more familiar with the syntax. Or because C++ just seems to be more intuitive for me. Anyway- i appreciate your video and your experience. And to the person who said you sound sad- i dont think so- you have a chill vibe. I despise watching videos of people who put on some super happy/upbeat/energetic fake mask for videos- to me its super cringe. I appreciate your message and your vibe!
Hey Chris, Thanks for your video. Sometimes you just need to hear from someone with more experience that you're actually not doing a bad job. There is always something new to learn so don't sweat the small stuff. I actually got stuck in the loop of worrying about doing things the wrong way and I would stop what I was doing and ask for advice. Instead of writing the code and then getting a review on it later. That way I can improve upon what I have already written. I am shifting this now where I stop worrying about the right way of coding and focus on getting my code to do what I want it to, then I focus on optimization and cleanup before finally getting a review from the community on Git. I do this with PR checks :) I write in C++ and Python :)
This is not only good advice for programming, but for many, many things! Maybe even life itself? Do not be afraid to make mistakes, just learn from them, if not the first time then the second or third or many attempts more. ENJOY LEARNING ❤
Loved this. Good advice! Thanks for sharing. I've been writing C++ since '97-98 - though, barely any in the last 7-8 years. I see people trashing C++. I get it. These days, I write more C than C++ (and more python, node, and java than either). Still, I'm grateful to have started with C++. Through C, a human learns to understand the machine (quiet down, I've done my fair share of assembly too). The critiques are valid, but there's still beauty in it: Through C++, you learn how to teach a machine to meet you halfway, without either of you losing who you are.
Yeah I know assembly too, maybe only from diving into disassembly for closed-source compiled libraries causing bugs in the 11th hour, but assembly's assembly, right?! lol Thanks for sharing 🙂
i just learned C# and tbh i loved everything there was to use it for! im taking a dip into C++ and im startin to enjoy it as well! i honestly cant see any language being problematic, i just love getting into the code and making it work regardless of the language. thank you for the positive words 🙂🙂🙂
I think my experience with C++ is roughly 12 years. I guess major problem of language is that is does not define any standard for project files and it's very hard to write multiplatform code and use third party libraries at the same time. And then basically incompatible object oriented approach and templates. And then standard template library which is good in many ways, but it can hurt performance. Basically everything has alternatives with some pros and cons and it's important to know what to choose (except the cases when it does not matter at all). It's generally bad to stick to some dogmas. But core C++ is basically C and starting with language is not that hard. Quite important is to know when C++ is a proper tool and when it's not. You can do some kind of log analyzer in Python with statistics in graphs using regex, pandas and seaborn in 50 lines of code. Doing the same in C++ can take weeks (just choosing the right library for drawing graphs and linking it to your project - using Qt and QCustomPlot would be easiest, but there's a learning curve)
This does not only apply to coding. Better to also apply it on other things in life. When you want to upskill or change your mindset on how you wake up and face challenges. There really isn’t the right thing. And sooner I should’ve watch this one but glad this one’s reassuring that i’m on the right track
This maybe the single best advise to give to new programmers out there, regardless of progtamming language. I remember an Mantra I gave to younger programmers in my time working for a large tech companies "when in doubt, run the code". I realised that a lot of them afraid of errors and always wanted to "get it right", but it getting them to a place where they move through the write code -> see error -> debug error -> write more code cycle pretty quickly that got better
Hi there Sir, well said. I have been told many times not to start with C++ because of the difficulty of the language but instead to learn C# which is much easier. However, the engine I enjoy using is Unreal Engine which is based on C++, and even though I enjoy using visual scripting. I feel like learning the language behind it will be helpful when you want to customize your stuff beyond the norm. So to me, coding on something you enjoy will help the learning process quicker. I am entering this at a late age but if I have to focus on a single language on a game engine/framework I enjoy then why not? ;)
I think C# is best for learning. It made me aware of things that are more hidden in languages like Python. Once you know one language properly it's fairly easy to transition. For data structures and algorithms (or general problem solving) practice leetcode is quite useful and offers a bunch of languages to do their tasks in.
I started learning C++ since it's the first programming course you can take at my college this semester. After hearing everyone talk about how it is "the worst language" you can start with because it's incredibly difficult for years, I felt a mix of emotions when I started learning a few months ago. It honestly boosted my ego for a bit. While I definitely have much more to learn and struggle with understanding the basics (like strings and loops), I still have a ton of fun! It's frustrating, but it feels so good when your code runs!!
If you think C handles strings and loops oddly, you should check out some of the Esolangs that are out there. The Iteration code in them will melt your brain!
It is a little unclear, but I've learned and used a lot of languages in that time, and C++ wasn't my first language. C++ is just the language I've used the most in my professional work and I was surprised to find I'd first started learning it 15 years ago. It's a great language with a good past and I'm optimistic about its future! Thanks for watching :)
Great take man. Thank you. I'm a JS dev for 1.5 yrs and this really hit home. Been thinking of doing C just to get better at JS. Any way...cheers bro. Peace.
Writing own's projects is the best you can do for your learning process!! Started 1.3 years ago with my first project, then after 4 months started writing one big project that took me 6 months, later few smaller projects and I got my first job as software engineer in 07.2023 , which is 2 weeks right now.
Love love love your message and the tone of the video! Looking forward to move vids about C++ and lowlevel, but more fundamentals like going DSA with C++ or embedded Raspberry Pi. Things that can teach CS fundamentals but also strenghths of C++ :) Cheers!
Thanks for making this video! I'm brand new to programming - well, technically, I learned to code in Minecraft Bedrock, but now I'm focusing on learning C++. I'm still a total noob. But I'm sticking with it. I have no pride in the game, so I have no issue writing terrible code so that I can learn from my mistakes. I'm very excited to eventually be able to write the programs that I have in my head!
SyncMain's conclusion is spot on. I'd use the word practice. Practice writing, designing, debugging, diagnosing, re-writing, re-thinking. I started in C back in the 80's, moved to C++ in the very early 90's, and I'm currently making software in C++ 20. SyncMain's other message, opposing the C++ warnings from the public, is also spot on. If your targets require other languages then there's no reason to use C++ instead, but if your targets require C++ you shouldn't avoid it. It does require expertise, and that is one of the flaws of the language. Not everyone is suited to it. However, I can say from decades of experience, I have zero...zero...of the issues you read about "warning" about C++. I did have them, long, long ago, especially when I worked in C. My experience and training puts me in the position of automatically choosing better methods to write software, no matter what language I use. By far, C++ is my favorite and where I am most productive, but I have practiced long and hard. Consider, too, if you would really want to use software (if it is important software to you) that was built by someone without experience, expertise and serious knowledge. With that, the languages are less important than how they are used and what options those languages provide for solid, fast, efficient and reliable final products.
So, you confirm that what people say about the C++ safety problem and that should be replaced by Rust is basically nonsense? I think C++ has been wrongly targeted by many who just get obsessed with another language or are inherently scared by the steep learning curve. A language doesn't stay on the market for so long for no good reason.
Usually i don't comment on any video on youtube but you just changed the way i see the process of learning some programming language or any kind of stuff related to tech I was always wondering if i was doing in "the right way" and it didnt help me a lot Thanks for the words man I wish you all the best man ty
Thank you for this, I needed the motivation. recently I've started coding things I like vs coding what I think I need to code to learn "optimally". I'm going into my Junior year of college, the path up to now has been so hard with how the pandemic affected everything and the fact that besides some HTML and CSS, i knew nothing about programming. sometimes I feel like I'm not good enough to be where I am but then I remember about all the self-studying I've done and all of the hours I've put into this craft. That makes me feel more worthy. Thank you for your video once again.
I am a physicist. During my doctorate studies, I used mainly LabView and Matlab. Then, I got a postdoc position in Japan in CT and image processing. Japanese asked me if I know C++ for fast computations. I wrote my first C++ code in Japan. I also read at that time Jess Liberty's book C++ in 21 Days about OOP. I believe C++ is excellent for fast scientific computations. I use it for that. I want to tell you can have a specific job when C++ is requested by your employer. Each language is good for something else. In academics, I used C#, Python, C++, Matlab, and LabView. In today's world, you need to know multiple languages.
Hi everyone, I’ve been using C++ for 8 yeas, still a lot to learn, but really happy to see that C++ community is growing strong, just less verbal than later born programming languages. Hope we can stay connected.
I'm just starting my journey. Will be studying CS from Feb 2024 where they teach C#. I just came across your video randomly and it was cool to hear your thoughts on your beginnings. Will focus on the fundamentals and learn to debug - but as you mentioned, I will try to do more actual writing and fix my errors instead of getting stuck in tutorial videos.
Thank you so much for this! Subbed, grateful to hear from experience. I've been struggling with learning programming for about 2 years. This helps me to simplify the approach and not overthink, which I've been trying to do recently. Ty again
it's been five year for me to code in c++. I am not a professional, just a student studying, building, learning and exploring things. For me C++ just gave me basic understanding of things, like searching, sorting and all basic of algorithms, I know there are inbuilt function for those kind of thing in modern language but that low level understanding of things is what makes difference. It make your logic more strong and versatile, I have become better problem solver then rest of peer and give credits to C++. Just because language is old and have very steep curve doesn't imply that language is not worth to try.
God like dude) Im started to learn c++ because its must have in programming graphics(opengl). And want to make indie games or write own tiny game engine. But now im coding at c language(sry for english:)) with raylib. Its very simple and fun. Thanks for video
I hadn't heard of raylib before, it looks cool! If you're into indie games you probably already know about itch.io, but if not you should check out the developer community there. Lots of people learning and sharing there, I'm sure you'll find something relevant to your interests.
I’m a junior developer, at work I am concerned about how to find the “perfect” way to program because sometimes I feel that I’m not at the level my colleagues expect from me. Hearing this advice from a senior makes me more comfortable! Thanks
My advice for junior devs is a little different than people just starting to learn to program, but I think you should ask questions early and often. It should be expected of junior developers, and you should be able to wind down with the questions after the first 6-12 months of starting a new job. At that point you should know where to look things up when you don't know them, and otherwise begin your journey of figuring things out on your own. Either way, the shared advice is to not stress about the "perfect" solution. Get something running, then start to break down how it could be improved, before you put it up for code review or submit it. Eventually, you'll be able to start with a pretty reasonable solution based on your experience, but even then you should always be checking against your assumptions and finding ways to learn and improve. Thanks for watching!
This man is remarkable.
He woke up one day, realized its been 15 years, and reflected on his time. He was so passionate about the conclusion he drew, he decided to get on camera for the first time on this channel and tell people his truth that the rest of the internet seemingly disagrees with.
That's brave. Thanks for sharing SyncMain.
agree. really like this guy. i hope he will post more content
It seems like someone has a similar sense of humour. 😂
The rest of the internet are, by definition, morons.
The amazing thing for me is that C++ is still in demand.
I also programmed C and Visual C++ for about 15 years.
I thought the language was dead?
Maybe I should pick up where I left off.
Of course, I enjoyed it. If you're careful, the programs run very reliably.
@@benbrook469 As in C++ to get into quantitative finance? Thanks in advance :)
Turned 50 this year. Never coded before. Learning C now as a hobby to keep the brain working.
how is your progress with C going? 😁
Amazing story, I think that's solid.
C is awesome.
The little embedded stuff is really cool to work with. An ESP32 device the size of a quarter has the same power and memory of a 1990s vintage PC. Arduino has nice libraries too. The cost is $10 to get started.
Im 38 and doing the same thing and thinking getting into win32api lol
Bjarne Stroustrup once said that the only programming languages that no one complains about are the ones they never use. Once people spend thousands of hours with a programming language, they notice even the smallest things that could be considered "bad". Once people get over that fact and just try to get stuff done, those small details don't really matter.
Of course you are not going to use C++ in Web Developement? Everything is in GoLang these days anyway except select firms keeping their backend in cpp@RajinderYadav
@RajinderYadav webdevelopment is a whole other direction... doesnt really make sense to be using c++ there so your argument doesnt hold
@RajinderYadavthat’s like comparing apples to oranges.
All my 30+ years in programming the best language is the one that best fits the task in hand, all languages are good at different areas and what ever language you’re currently using today I can guarantee C/C++ plays a big part in that when you look under the hood.
@@hu-ry both web "development" and C++ programming are the same kind of object-oriented programming garbage.
I have had a 35 year programming career. I didn't focus on the technology, good/bad code, best practices, etc. My main focus was, does it solve my clients needs are they happy. Boom, great job.
"hitting you head up against the wall, finding errors, learning..." this is the heart of programming. To be a great programmer you have to do this often, until you dont have to do it so often
I hope to that point, i am still banging my head off the walls..throwing PC's out of windows..
I feel like if you ever stop hitting your head against the wall that means you've stopped learning, innovating and pushing yourself. And that's true in any discipline. I can only wish to keep hitting my head against the whole forever, whatever I do.
Nowadays you're just referring to the mountains of technical debt that grow and grow and grow and no great programmers in site. Just people who had the time and opportunities to start their own codebases and the people who wasted time cleaning up after their dads.
Until you injure your head, you mean? 😂 Kidding.. I know but I feel that emotional self-care is very underrated, particularly for programmers! We tend to be perfectionistic nerds who don't love themselves very much!
@@gezenews what do u mean exactly? That programmers don't usually clean up their code, and newbies are assigned those tasks?
Totally meant to upload this on 6/23/2023 and jumped the gun. I'll try again at the 30 year mark.
I would like to see c++ videos on your channel like tutorials and your creations
I pick up c++ among all just because it have 2 positive signs..... And guess what .... I never regret 😀
lmao
I am going to see your video 15 years from now and it's going to be awesome to remember writing this comment.
@@Anarchy_OWsame bro
Problem is not with the programming language, problem is with mindset of people and hype created in the social media space. Oh look at how many lines of code C++ or java has vs Python, python is simple, great blah blah blah. Instead people should think about what are you going to do with that prog lang and how well it is helping your project rather than how hard/easy a programming language is.
facts
Yeah, python users are gay.
python is only good if you don't mind performance/resource usage and you need a way to write scripts quickly
On a few occasions, I've replaced python projects with C++.
@@nicolausteslaus😂😂😂
0:04 nam flashbacks
😅It definitely looks like that, but if you're curious it's "alright, I'm recording, what the hell did I want to talk about?" lol
😂😂😂
As a student, trying to always do it the best way caused me more worst than good. What you said about getting it to work without worrying about the best way then improving when it comes to it really enlightened me. Great advice.
Works for fine art too! I'm not sure I really have a method for creating software but to the extent I do, it's go ahead and write spaghetti code, whatever comes to mind that makes sense to me at the moment, get it all hooked up and tested. Once it's working, cool, and next week refactor it to look nicer and make sense to others. I find I get a lot more done that way than trying to follow any methodology or system or anything promoted by the gurus.
You won’t be able to do it the best way initially. You should focus on getting it to work.
Eventually, whether you’re brand new to programming or brand new to a language, you should strive to write code that follows the idioms of the language.
Im not a professional C++ dev, but I have been programming in C++ for a long time, and I can say that C++ is not nearly as hard as some people say it is. For instance writing a parser in javascript is just as hard as in C++, and a lot easier than in classic C. One advice I have is if your going to learn C++ don't learn it at the same time as your learning a framework. Master the basics of the language first, then you can learn the frameworks like Qt, OpenGL, SDL ect.
Thanks for this insight. Studying computer engineering currently and chose this as my OOP language and FIRST language and have been learning it for the past 3 months. I used to be a pretty big gamer and saw many people say learning in Unreal would be a good way to but was told elsewhere that if embedded systems was in my future that it's better to learn the basics of the language. This just further confirmed it for me!
@@killacam2971 My pleasure! Also I recommend not trying too much to force yourself to learn pointers and manual memory management like I did. I bought 4 books on pointers because I couldn't understand it, I did one day of learning beginners assembly and I understood it completely. As a beginner one does not need to concern oneself with these things, when your project demands it that is the time to learn it. Then you will have motivation to go more deeply into it. Also IMHO C++ in itself is not the difficult part, solving complex problems is the difficult part. I am in the process of making a game in Unreal, and the tool is incredibly user friendly and nice. It is so easy to use, that I really don't think it is possible to make it more user friendly than it already is. Happy C++ programming!!! 😀
Google’s “Carbon” project aims to start again with a clean slate, based on just those features of C++ that make sense, and leaving all the old legacy baggage behind.
@@lawrencedoliveiro9104 I think that is a really good idea. The Mojo programming language is also sort of the same treatment that typescript has done to javascript just this time its python. It's also in the early experimental stage, but it has the guys behind clang,LLVM, and Swift working on it. It brings system programming into python.
What are (in your opinion) the basics of the C++ language ?
I've been coding in Java for a decade, and I can wholeheartedly affirm that what you said in this video is absolutely accurate. For anyone looking for a magic trick to become a professional, I must tell you, there simply isn't one... Just practice practice and practice
The magic trick is called AI.
Studies show that newcomers are nearly as effective programmers as professionals with AI support but they only cost a fraction.
@@bobbobson6290 source of the study?
java is the McDonald's of languages. Don't bother unless you want to serve fries the rest of your life.
@@eyesopen6110 That's interesting care to explain why learning Java would make you work in fast food all your life ?
They can you like give me a roadmap what are the topics I should be learning in Java to land a job, I've just started out..
I've learned fundamentals, OOP's, exception handling, collection framework. I've no idea what should I do next !
Thanks.
man, you're giving me hopes to get back to programming after dropping it for 7 years
I started out and spent around 5 years doing C++, but eventually ended up working exclusively in JavaScript and TypeScript. A major thing I've found during JS/TS peer reviews and training is that other programmers greatly struggle with things I simply find intuitive. Then I think about and it and realise those things MUST be understood to write even basic C++. I may not use the language anymore, but learning it was one of the best decisions I've made for my career.
Yeah it's like learning Latin. If you can do that, you can do any language.
@@-taz- Any western language, anyway. Japanese kicks my ass hard. Aside from some Dutch loan words, it has zero similarities to anything I've ever known, and I'm already fluent in two languages + have basic conversational abilities in a few others.
Starting with C/C++ over 20 years ago was what made me who I am today from a professional perspective. Understanding the fundamentals of how compilers, libraries, CPUs, etc, work is something every developer should become familiar with sooner or later. Otherwise, they'll hit a wall. More abstractions like C# or Java are great productivity tools that build upon the foundation of C/C++ for me. Also, welcome to CZcams! 👋
C or C++? There's no such thing as a C/C++ language. C has nothing to do with C++, they are completely different languages. People gotta stop amalgamating these two as if they're the same, it just sounds like you don't know what you're talking about. It makes you sound like a C#/Java programmer 😜
@@michaelzomsuv3631stfu
@@michaelzomsuv3631C++ is a superset of C
@@michaelzomsuv3631 you don't know what you are talking about lol
@@michaelzomsuv3631😂j
I started programming professionally in1981. I now choose to program in c++. My advice is to not rely too heavily on one compilers messages and warnings. Build object classes that reduce the abstraction level of your highest level code. Namespaces are your friend.
Wow thats a crazy long time. I write in java, not c++ but I think your message mostly translates over, especially the second part.
Funny how this is the total opposite error story as in Rust (a shiny hot lang that i do love as a hobbyist)
Every single newcomer comes into Rust and asks a beginner question about an error, and the best first response is almost always, "Have you read the error message?" followed by "Did you do what it told you to do?"
It's a godsend having a compiler that knows when to complain and how to fix its complaint. Free linter. But the main appeal is the package manager.
i need some link to learn c++ class object for some visulaisation in ureal enginer ? where can i find it ?
@@JSD999code with harry
@@raffimolero64 have you tried go? is Rust better in your opinion?
I could not agree more. As someone who started programming in 1993, my first languages were C and a bit of Assembly. Over the course of my career I have developed significant commercial projects in C/C++, Objective-C, Java, Javascript and Python. Platforms spanned win16 / win32 API development on Windows, Objective-C w/WebObjects / EOF on NeXT / OpenStep followed by full stack web and iOS Developer development. Early in my career I agonized over every line of code trying to make it "perfect". There is a better way. Avoid perfection and just code as much as possible, ideally on projects that interest you. Once a project is complete, then look back and figure out what you could have done better. Share what you have done with people you respect and get their feedback. Take those lessons and move on to the next project.
I started my C++ journey almost a year ago and I am now writing the applications I want and need for what I do. I get hit with the "use Rust" and or insert language here, but they all have ups and downs. The best part of the journey has been simply learning how to think differently and that can be applied to other languages without any problem. I just find the freedom within C++ to be worth it.
I agree, we all heard the saying dont reinvent ths wheel, but the language devs do it all the time. Python has no for loop or arrays everything is a list. Kotlin has you define function parameter backwards to convention ect. I believe learing C++ and Regular C makes you a better developer, more so C. You have no built in data structers with C and since white board interviews want you to know Data Structers, no languange going to force you to know them like C. C++ will give you classes. In the end, they want you to know the main langauge you are interviewing for so what you choose to know forces you dowm a career path. As a C++ dev, we got embedded, video games and Operating Systems.
Writing and debugging your own 'bad code' is the beginning to a wonderful career. Then you move on to debugging other peoples bad code and see how many ways there are to incorrectly do the same thing. Learning the 'old' languages (I have been coding for 40+ years) is a great way to appreciate HOW things work, not just that they work. I agree that making it work is the goal when starting out. As long as you are willing to, as you move forward, recognize the better and less good things you do, and improve with each new attempt. My motto has always been "I screw up more before 9 AM than most people do in a day." You learn by getting it wrong. That forms the memories of what does, and does not, work in a given situation. Subscribed.
That's a dope motto as many people are still wiping their butt after a morning flush
Totally. I started my career working with C++ (for embedded stuff) as well as fpga's (verilog). Was too ignorant to know at the time that there were probably smoother ways to learn programming. However, after making countless mistakes, figuring out their nature and solving them I developed a solid understanding of the fundamentals of computing (how memory elements work, how logical semantics emerge from logical gates controlling streams of electricity and how that might be shaped into a processor or other ASICs; how C++ breaks down into assembly and how assembly actually drives the carefully designed digital circuit that is a processor). That foundation has been the biggest asset over the course of my career. There's simply no way to develop that understanding through merely working with the more modern languages because they're too distantly abstracted from the circuitry itself
Trust me, having to debug other people's code is not a job you want to do.
Avoid it if you can.
@@Numinus1 C++ and embedded in the same sentence? Sounds like you were doing something wrong.
Just after some fairy basic C I learnt NES architecture and NMOS6502 assembly for fun. It wasn't fun at all Khahaha
It was however useful, things that are good for you seldom are easy or enjoyable :P
But I still enjoyed it somehow. I would totally do that again without a second thought!
Most of the time I spent debugging a few dumb lines or seeing how I fucked up the code just because the principle was wrong. So for example choosing to organize data a certain way, and after 2 hours realizing it's not reusable and is gonna take exponentially more cycles, so I already am doomed until I come up with something different and rewrite everything lmfao
Really makes you care about the sense of the code you're writing.
I have no professional experience in programming yet though, so idk how helpful it'd be. As for self-growth it did a lot though( taking the time to understand low level stuff )
Seeing your first video, I am in love with it. I love the fact that you are telling us realities rather than telling us the best languages. I will recommend that you start your channel as a c++ tutorial channel. If you can get all the curriculum of c++ from scratch to advanced concepts, also showing us how to use c++ in game development, I can assure that your channel will be a high rated channel. I wish to learn to you.
up
Up!
He may not have the time or energy
As someone who started programming fairly recently, my experience has been quite the opposite. Starting out with python, everywhere I go influencers actually RECOMMEND you learn either C or C++ to actually understand the nuts and bolts of what you're doing minus all the abstraction that a language like python has.
It's to the point where I'm starting to get impatient about learning python and want to dive into C++ already! But I know the best thing I can do is finish what I've started, learn python first and then pick up C++. And I can't wait to do it!
I have noticed more of an uptick in those kinds of recommendations recently, or maybe I just wasn't seeing them based on what was in front of me at the time, but I think it's a good thing to learn for anyone interested! If you'll be doing most of your work in Python, then absolutely no rush, you can learn the underlying stuff in time :)
Thanks for watching!
This was very inspiring, as I sit in front of a simple trig prompt/output program attempting to be perfect, rather than focusing on how this exercise shows me what areas I need to pinpoint for growth and further learning… ONWARD!
Thank you
Thanks a lot for making this video. After 10 years of biotechnology/microbiology and 6 years of working in the chemical industry, I just found my passion for coding. I literally just started learning to code (~1-2 month ago) and can already see myself falling into these mental traps. Your advice is very much appreciated, especially this early in my learning journey.
I'd love to get some advice from you, I'm currently going into my second year as a biotech student.
C# is much more modern and also easier due to less clunkiness. Java's good too (C# copied it) but Visual Studio just embarasses all other IDEs... so C#.
Coding also is beneficial for Biotech if I'm not mistaken. But I'm only studying IT so I wouldn't really know..
what do you use it for in your field?
Visual Studio is nothing against JetBrains IDEs@@GregMoress
Started learning C++ fairly recently, after originally studying Web Development for a year and spending some time learning C# within a Unity context for a couple years. But I realized that learning C++ would get me closer to my goals, so I've been learning that now. It really isn't as scary as a lot of people try to make it out to be, and I've been really enjoying it a lot.
I've been doing exactly what you're saying, after learning all the basic syntax and stuff I've been trying to make some small projects and learn by doing - you seriously learn SO much better from just doing instead of trying to read multiple 400+ page books before deciding you're ready.
Where can I get practiceprojects for C++? I was reading some 2000 pages book and I see it is much more theoretical than real life practice.
Is C# bad? I have not use unity and C#.
Following
@@monamodikgwete3423 just make some games, even if they just use the debug window.
I've been at C++ for about 3 years now. I reckon, if I could look at all of the projects I worked on over that time, I'd probably have a series of "oh that's the time I learned about x". It's nice to have such a versatile toolbox for problem solving.
Hello , I'm learning C++ now, and I really feel lost because I don't know from where should i start . PLEASE GIVE AN ADVICE HOW TO START LEARNING C++
Hey I have a video on learning resources that you might be interested in.
czcams.com/video/uyvgYPkX_gM/video.html
Thanks for watching!
This man woke up one day after writing c++ for 15 years and suddenly started to speak facts.
Facts, couldn't agree more. I am so glad that when I started coding I was 7 years old. Because at that time I was so young that I didn't know that I could even worry about things being bad. It worked out perfectly since I matured with my coding and the events played out well!
Wait!! 2008 was 15 years ago?!
We are getting old....
That’s impressive! Your extensive experience with C++ over the years shows dedication and a deep understanding of programming. It’s great that you’ve been able to reflect on your journey and reminisce about your early goals. It must be rewarding to see how far you’ve come as a developer!
Great, I wish I could see some cool C++ basics videos from you, but also love how you might show us some old code snippets of yours and explain what they do and what you might have thought back then and what you might have do today instead. Sounds really worth it. I'm starting October 4th this year at a programming university with C and a year later with C++.
This is one of the best pieces of programming advice I've heard in nearly 20 years as a software engineer. My experience was very similar. I got caught up on "finding the best, most efficient, cross-platform" way of doing a task, every time I wanted something fundamental as part of a program to do something else. Many of those programs never got written...
00:00 Chris has been programming in C++ for 15 years
00:31 Reflecting on writing with C++
01:03 C++ is often discouraged for new programmers
01:35 No programming language is perfect, but beginners don't need to worry about that.
02:02 Focus on learning and debugging to improve programming skills.
02:36 I initially focused on learning in the same way as the experts
03:01 I didn't spend much time programming and was too concerned about writing bad code.
03:34 Programming is accessible to anyone interested and enjoyable.
Crafted by Merlin AI.
Great advice. Gotta keep learning and worry about getting your code working rather than switching to a “better” language. Biggest roadblock is almost always navigating through the job search process to land your first role. Probably the most frustrating part of the journey. Good luck to the entry level gang, we’re gonna need it!
Agreed it can be very frustrating trying to get that first or second entry level job, but the silver lining in my experience was it really forced me to grow, and was the best way to get feedback on how and what to focus on, which can be invaluable.
Thanks for watching!
Im a physics student and i feel comfortable working with a computer but i never really had the interest to learn coding until i need it it for some courses in my career. I had to learn python, matlab, a bit of C++ since then I've got a massive respect to the professionals of coding because the first thing i noticed was that you need such a patience for almost everything, even when you feel like hitting the damn screen when something is wrong with the code 😂.
hey, im also a physics student (1st year in college) and i passed the python exams like 2 weeks ago, any advice for studying math or solving physics problems?? i do really struggle studying sometimes
@@chelo5062 Hi, i finished all my courses already and I'm currently working on my dissertation, sometimes i struggle to sit and study too lol, I hate to put it this way but I do it with the best wishes towards you.
Depending on the background you have on math, physics etc. The journey will be more or less hard but not impossible, in my case it was hard due to having a bad background. But the things that helped me were to know that I really wanted to surpass my limits becoming better and of course being conscious of what are the implications of that.
Willing to sacrifice your hobbies, and other stuff so you can study. Not forever of course.
Knowing that to become a better student you need a lot of patience and work.
Knowing that you should enjoy the process, because it's slow. (Here is where you must ask to yourself if you really want to follow this path)
Once I accepted those things I felt kinda free to study without doing it for the reward or because I have to. Of course I'm not telling you that I've mastered of all that already, sometimes I feel like no wanting to study and play videogames and that is ok but shouldn't be done often.
Basically my tip is that you should wonder about why it's hard for you to study, identify the problem or problems and think how could you solve those and ofc do it.
@@Epilogue_04 oh, so the struggle is normal then, i think my worst weakness is that i come from high school where i never had to study half as hard as i have to in college, it's just about getting used to it ig. Btw where are you from? I saw your yt channel and you have some spanish playlists, im from Argentina. Thanks for answering and good luck on your dissertation, hope i can reach that point someday too.
i majored in Electrical Engineering and had zero interest in coding in the beginning.. i even hated Comp Sci I (which actually taught C++).. but then around junior and senior years i started having to code a lot for my regular classes.. was some MATLAB and some C programming too.. that's where i started really getting into coding..
i graduated college in 2008, and fast forward 15 yrs, i'm a senior software engineer now
As a physics student you may appreciate CERN ROOT and how C++ is used for scripting it. I am still puzzled why ROOT is unknown outside of particle physics, it is a great tool useful for nearly everyone.
I'm about 3 years deep into programming now, mostly from the perspective of data analytics and applied math with a bit of control theory thrown in. I've been in a slump for probably the last 8 months, way too concerned about everything you brought up. You alleviated a lot of that for me, just knowing this is a normal thing for people to go through. Especially since I'm not really a traditional programmer. Thank you. I'm going to go write some code today.
no one's traditional... Hack that sh!t !!!!
I’ve started learning c++ just this week and honestly, having something as simple as a weight converter through a couple of steps from how much you weigh to, having a simple number choice for a planet, and then having it convert that weight to what you’d weigh on that planet, and then debugging the whole thing myself was just super rewarding! I think I’m hooked although now I’m dealing with And, or, not and bool which is a bit harder but I’ll crack it eventually.
What I’m saying is the wins are rewarding, I’ve already had my head in my hands this evening but still it’s gonna get better! It’s the only way to learn. YT watching programmers in all fields is helping loads too so I appreciate the upload!
I started programming C++ in the university, I believe mid-90s. At first it was hard and took a couple of years to pick the concepts of the OOP and the templates, then many years it took to learn not to abuse them and start writing clean code. As with everything, practice and keep in mind that people, including yourself, will need to read what you have written, and develop a clean style. Unfortunately, too many programmers try to show off and produce unreadable unmaintainable source code with deep class hierarchies, multiple virtual classes, huge templated code, etc.
Thanks for that! In the early 70's I got an intern position and was being trained on Assembly Language. The original excitement I had when I was originally introduced to COBOL fizzled away so I took the next decade off to do just about anything else. I became excited again with the coming of personal computers, dBase and Foxpro programs and managed to hold a few gigs with those new skills. Today I am very happy working with microcontrollers in the Arduino ecosystem. Combine that with some CAD skills, PCB design and 3D printing I now can make a custom instrument product that some folks want to purchase.
great . what do you think about AI nowadays . and how far can effect on human carriers like software
We started programming at the same time! I was writing C++ back in 2008 as well. I switched to other languages, but it was really cool to hear the perspective of someone who stuck to it for 15 years.
The beauty of learning C++ is that it reveals the boundaries of what programming can do. It has so many features that other languages lack and you don't have to use them if you don't want to.
Doing C++ over 25 years, and still loving it!
Thanks for your honesty and advice. I'm currently in the same situation but with JavaScript. I was trying to learn Typescript and Angular and everything at the same and just hitting a wall and getting frustrated but before quitting I saw some video with similar advice to yours. Then I started from scratch just getting small things done learning the basics HTML, CSS and vanilla JavaScript and not only Im learning way more than a year ago, I'm enjoying it while being productive.
The Odin Project is a great way to learn web dev if you are interested in doing that!
for me, it was way more productive to start from react and come back to js whenever I need
@@dervaken3902 What experience do you have in the SWE industry? Most everyone I've heard talk about how to learn JS says to start with the base language and after you've built up your foundations to go learn a framework or two. I'd love to hear more about why you think going the other way works well for you.
I am on 2 years of programming. Firstly started with C++ and then switched to C# because of my job purposes. However, I never learned programming for the syntax or even for how complex it is. I wanted to create real products and software for anything that I need without thinking which language is best. Programming languages is a tool that I love using everyday.
Thank for the insight SyncMain and please dont stop doing what you love most.
2 years and already got a job?? wow
C# can certainly be helpful. At work, you can impress everyone by showcasing your skills in solving multiple problems.
Can you please suggest some really good projects in c++?!
My first programming language was C++, and it's still the reason I love programming. Thanks for sharing your experience! I wasn't sure if what I was planning on doing now in my career was okay, but this video just gave me more confidence in my plan. Thanks again!
I've been in C++ game development for about 5 years now and I've had this weird thing where I feel like my mastery of the language syntax/more obscure featureset is actually going down over time. 99.99% of the time I am writing pretty basic stuff. Usually using overly fancy patterns and over-engineered early abstractions is a serious code smell. Code is read way, way, WAY more than it is written. Simplicity is the fucking king. Keep shit straight forward. And keep shit CONSISTENT. After you finish touching a file nobody should be able to tell that you bolted on new functionality. It should blend in as if it was always there. Knowledge of weird C++ tricks doesn't really help you in the industry. What really matters in a professional setting is quick code navigation/comprehension and good communication skills. That's it.
Amazing video! My first ever langauge was C++, and I can say that it was hard but totally expected when your new to programming. I was told not to start with C++, but with Python. But I feel like if I had started with Python, C++ would have been alot more frustrating. I developed a skill to debug in C++ that I never would have done with Python per say. So personally I think C++ is an amazing langauge to start with as a complete beginner to programming. Get traight into the sauce. My first ever project was a game eninge, I know, an extreme way to start your C++ journey. But It was fun, and that was the important part.
I have recently begun learning C++ for approximately two weeks now in preparation for some math-related topics and graphical programming, particularly for OpenGL. Initially, I started with C# and have been coding in it for over a year. Transitioning to C++ turned out to be easier than I anticipated. While the syntax is different, and there are no garbage collectors, there are pointers, references, and a more manual approach. Surprisingly, I find that I enjoy it :). Although it is slower to write compared to most other languages, I am not bothered by it, fortunately. I've heard that C++ is often considered a language for masochistic people(laugh). Maybe I'm the exception?.
I don't know.
I think part of it is some C++ programmers who have been doing it for a while like to be a bit gate keepy about their secret special-held knowledge, or from people who haven't written in C++ but have only heard all of the horrible things that can happen when you use it improperly from other languages' evangelists. I'm glad you're enjoying it though! With enough time in the language you'll be writing code just as fast as you were in C#, just without all the nice .NET features :)
I've been programming in different languages for almost 20 years. You can always learn something new, and I completely agree with your advice. Thanks for sharing.
Non-judgemental, non-biased, and all-around supportive advice that so many need to hear. Thank you for this!
C++ seems to be getting easier as time goes by. The syntax is becoming cleaner and neater while lots of useful things are now baked into the standard libraries by default. Previously, you'd have to roll your own or rely on third-party offerings such as boost.
Oh christ, boost libs, good times haahha
I think this only makes it more complicated and overwhelming for newcomers instead of being easier.
The tutorials that use old "outdated" constructs still exists and the new ones are only applicable in some cases. This means that nowadays you will have to gain more knowledge in order to understand existing C++ code than you had back when C++98 was the current standard.
I've been learning to code since high school and currently in college. This describes my situation too well! I learn extremely well in classes because I'm forced to do everything in a certain way, using old and "bad" languages. But when teaching myself or building side projects, I never accomplish anything. I get stuck on choosing languages and frameworks and start thinking about deployment before writing a single line of code. If I start writing code, I sink into endless refactoring before anything is even working. I'm just too worried about doing it "the wrong way." Even as I clicked on this video, I wanted to see some advice about writing clean code or managing complexity or organizing code.
I used to think "don't be afraid to make mistakes" is such a dumb advice, but here I am, learning to not fear mistakes. Thank you for saying exactly what I needed!
i wrote 3 or 4 different chess bases for my chess project since 2019. never finished one of them.... i feel this comment so hard lol
Wow im in same situation!! 🙃
Thank you man. Thank you for the encouragement.
As a retired C/C++ programmer who has not looked at any code for 3 years, it is interesting to hear and read about what today's software geeks like and dislike about languages. We all have preferences, depending on your needs and work habits. There is so much information out there to digest. It helps to keep an open mind.
Thank you so much for this video!!!🙏❤ I haven't given up. It's so frustrating at times but I usually take breaks and then keep on going. Listening to you makes me realize I'm making this more difficult than it has to be. Thank you!❤
My goal for the summer is to read the entire textbook of c++ programming written by D.S Malik. I want to become an expert at the basic usage of c++ before learning the advanced topics. C++ is my first language being a college student in CS.
I strongly recommend to just jump straight into programming and get your hands dirty. Write basic programs, look for implementation examples, try to understand them, rewrite, make mistakes and repeat
become an expert at the basic usage of c++. Just keep it there
This made my day more than you think. I've been really working hard trying to automate my company and learn software engineering and I'm studying code and I'm learning all this stuff and not sure if I'm doing it right but I keep getting smarter so I know it's working and I kind of had a little tear in my eye so I appreciate your video thank you very much.
I'm currently on my 4th year of coding in c++. It's a hobby I started during the COVID lockdowns in 2020 and I've been hooked ever since 🥰
It does definitely get frustrating at times but there's always a way to do what you want!
Hey! Thanks for the advice. As a gamedev struggling to get out of the Unity/C# space and into the UE5/C++ space, this was something I needed to hear. As I look for a new job, I've realized I need some serious practice with both C++ AND my CS fundamentals. I've been struggling to find the "most efficient" route, because my time is so limited since I'm writing tools in python 40 hours a week for work.
But, the best way is A Way, Any Way!
hey what is your job actually, i want to know more about a work that is all writing tools with python
i'm curious about the reason to get out of Unity/C# space while you are already proficient in it?
@@eneskilicarslan currently i'm a pipeline engineer for an animation studio
@@user-nw7jo5xw9x i want to follow the game industry, and the industry at large looks to want C++ and UE5, not C#
Something is satisfying about IT videos being 4:04 long
I’ve been working in medical for 7 years and have made the jump to go back to school for a masters in Software Engineering. I’m still very early in my journey but watching this video was really great to hear. I also checked out some other videos of yours as well. It’s some of the most introspective and honest videos I’ve seen related to programming! It’s made me ever more excited to continue with this ☺️
Thanks so much! I've found people with prior work experience outside of the field ramp up faster than people coming in fresh from school with no work history. Best of luck!
Thank you very much. I am now almost 1 year into programming and what you said really resonates with me. I will improve by writing bad code!
And then writing better code ofcourse
Good evening! I'm someone who has worked in development for over 10 years, but not as a coder. Obviously still, being part of the development team I had to learn concepts how things work, but I never learned to code myself.. so I started to learn on my own. From my own experience I would suggest people to learn Python or similar first, but only the fundamentals like variables, loops, functions, classes etc. and then move to more "in-depth-language".
I learned Python only for few months before switching to C++ and I found it to be much more interesting, because it helped (forced!!) me to understand why things are done in a certain way when coding and how things really work under the hood with memory allocation for example. What I learned and what kind of programs I could code increased exponentially after I had switched to C++ and had the "fundamentals" already in control. I'm still learning and coding C++ everyday
C++ (going low level) is not the only way to add depth. if you have time to spare, i recommend looking at a Functional Programming Language. these require way less code even than Python, but that does not mean it's easy. and Functional Programming really changes the way you think in other languages. Relational Database design (ER Diagrams) and the SQL language is another thing i recommend looking at. what you are doing now seems like more of the same (Imperative Programming) only with more details. just throwing that out there
There are concepts like RAII, smart pointers and nowadays things like coroutines that come from other languages, that are worth learning in C++ as well. So yeah learning C++ is worth it in the long run.
Some people would be on the opposite end of the spectrum, saying it's absolutely not worth learning these concepts in C++ - a waste of time.
There are differing opinions, so people should be critical. It's never as simple as "this is worth learning" and "this is not worth learning" because there are *always* differing opinions.
My favorite way of dealing with this is to spend a long time in one extreme, then spend a long time in the other extreme, and then judge what worked better.
Thank you very much, I need to listen this, Im learning C++ now and I am very concerned of the future, if its worth time, if I will even get a job... but I will not give up on studying
Ps: sorry for any english errors
Thank you so much for the knowledge! That is something I needed to hear. I'm in Uni learning CS and the job market being what it is in 2024, I'm so concerned that I need to learn the right language or build the perfect code to be able to be even considered for junior dev role. I started to code because I liked coding but as the school courses went on, I've kind of lost the fun of it and started to be fixated on being "employable". This was good reminder to get back to basics and just code. Thanks!
As someone who went directly from block programming to learning C++, I'm very happy I did. Although it can be frustrating at times, it gives such a good understanding of programming as a whole, and it becomes ridiculously easy to learn new langauges.
Yeeeep true. I don't even remember most of the stuff I covered when learning it but I'm able to pick up other languages very easily now. Hoping to get back into it but its daunting because it's so expansive
Except of Rust :-)
In my native language, what you advise is called developing perseverance ("упорство" - literaly persistent trying based on emphases). This is a skill that helps in life in general, not just in programming. Thanks.
I was teaching myself C++ a few months ago and, honestly, it came so naturally to me it was kind of a shock. I liked the problem-solving, I liked everything about it, I just "got it" in a way I never really have with anything else. I kind of felt bad about dropping it, but there's not a snowball's chance in Hell of me actually getting a job in the field and I don't need another hobby, so I didn't see the point in continuing.
I've been in this field for as long as you have, and I couldn't agree more. Even though I'm not a C++ developer like you, I'm an ABAP developer. I've experienced similar feelings and fears, like wondering, "What if I write poorly structured code and someone notices?"
However, with time, I've come to understand that these concerns are all part of the journey. In every profession, individuals are bound to face judgment from others, and that's perfectly alright. Moreover, I've evolved over the past decade, just as any professional does. This growth applies to me both as a software developer and as an individual.
Loved this video. I don't know why this is the most relaxing, comfortable video about programming, (that too C++, lol) I have ever seen. You deserve much more subscribers. Absolutely Loved it
Thank you for this! I just started to learn C++ after going through a python, then JavaScript course. i honestly am finding that- so far- im enjoying C++ more. Idk if its because after going through Python and JS, im just more familiar with the syntax. Or because C++ just seems to be more intuitive for me. Anyway- i appreciate your video and your experience. And to the person who said you sound sad- i dont think so- you have a chill vibe. I despise watching videos of people who put on some super happy/upbeat/energetic fake mask for videos- to me its super cringe. I appreciate your message and your vibe!
Thanks so much!
Hey Chris, Thanks for your video.
Sometimes you just need to hear from someone with more experience that you're actually not doing a bad job. There is always something new to learn so don't sweat the small stuff.
I actually got stuck in the loop of worrying about doing things the wrong way and I would stop what I was doing and ask for advice. Instead of writing the code and then getting a review on it later. That way I can improve upon what I have already written.
I am shifting this now where I stop worrying about the right way of coding and focus on getting my code to do what I want it to, then I focus on optimization and cleanup before finally getting a review from the community on Git. I do this with PR checks :)
I write in C++ and Python :)
This is not only good advice for programming, but for many, many things! Maybe even life itself? Do not be afraid to make mistakes, just learn from them, if not the first time then the second or third or many attempts more. ENJOY LEARNING ❤
Loved this. Good advice! Thanks for sharing.
I've been writing C++ since '97-98 - though, barely any in the last 7-8 years. I see people trashing C++. I get it. These days, I write more C than C++ (and more python, node, and java than either). Still, I'm grateful to have started with C++. Through C, a human learns to understand the machine (quiet down, I've done my fair share of assembly too). The critiques are valid, but there's still beauty in it: Through C++, you learn how to teach a machine to meet you halfway, without either of you losing who you are.
Yeah I know assembly too, maybe only from diving into disassembly for closed-source compiled libraries causing bugs in the 11th hour, but assembly's assembly, right?! lol
Thanks for sharing 🙂
i just learned C# and tbh i loved everything there was to use it for! im taking a dip into C++ and im startin to enjoy it as well! i honestly cant see any language being problematic, i just love getting into the code and making it work regardless of the language. thank you for the positive words 🙂🙂🙂
I think my experience with C++ is roughly 12 years. I guess major problem of language is that is does not define any standard for project files and it's very hard to write multiplatform code and use third party libraries at the same time. And then basically incompatible object oriented approach and templates. And then standard template library which is good in many ways, but it can hurt performance. Basically everything has alternatives with some pros and cons and it's important to know what to choose (except the cases when it does not matter at all). It's generally bad to stick to some dogmas. But core C++ is basically C and starting with language is not that hard. Quite important is to know when C++ is a proper tool and when it's not. You can do some kind of log analyzer in Python with statistics in graphs using regex, pandas and seaborn in 50 lines of code. Doing the same in C++ can take weeks (just choosing the right library for drawing graphs and linking it to your project - using Qt and QCustomPlot would be easiest, but there's a learning curve)
Can you please suggest some really very good projects in c++?!
I just switched from C# to C++. And this video is helping me learn more C++. Thanks!
Very interesting to know the reason why you have switched
@@Jawafv I switched game engines from Unity to Unreal engine 5.2 and it requires C++
@@staynoobs Oh, sounds great! I'm enterprise wed dev, so it sounds strange for me to switch from C# to C++, I forgot that game domain exists as well
@@Jawafv Also I just wanted to learn c++ when i became a dev so learning it for fun Hehe
This does not only apply to coding. Better to also apply it on other things in life. When you want to upskill or change your mindset on how you wake up and face challenges. There really isn’t the right thing. And sooner I should’ve watch this one but glad this one’s reassuring that i’m on the right track
This maybe the single best advise to give to new programmers out there, regardless of progtamming language. I remember an Mantra I gave to younger programmers in my time working for a large tech companies "when in doubt, run the code". I realised that a lot of them afraid of errors and always wanted to "get it right", but it getting them to a place where they move through the write code -> see error -> debug error -> write more code cycle pretty quickly that got better
Hi there Sir, well said. I have been told many times not to start with C++ because of the difficulty of the language but instead to learn C# which is
much easier. However, the engine I enjoy using is Unreal Engine which is based on C++, and even though I enjoy using visual scripting. I feel like learning the language behind it will be helpful when you want to customize your stuff beyond the norm. So to me, coding on something you enjoy will help the learning process quicker. I am entering this at a late age but if I have to focus on a single language on a game engine/framework I enjoy then why not? ;)
Learn your Data Structures and Algorithms, then maybe Design Patterns, per language, before you learn your frameworks and engines ;)
@@raffimolero64Thank you, I will keep that in mind.
I think C# is best for learning. It made me aware of things that are more hidden in languages like Python. Once you know one language properly it's fairly easy to transition. For data structures and algorithms (or general problem solving) practice leetcode is quite useful and offers a bunch of languages to do their tasks in.
Do you use C++ to develop Unreal? Or, how do you use C++ with Unreal?
@@peramoredellanalisi4341 You're using "Unreal C++" xD I can write code for my game now but pure C++ hell no
I started learning C++ since it's the first programming course you can take at my college this semester. After hearing everyone talk about how it is "the worst language" you can start with because it's incredibly difficult for years, I felt a mix of emotions when I started learning a few months ago. It honestly boosted my ego for a bit. While I definitely have much more to learn and struggle with understanding the basics (like strings and loops), I still have a ton of fun! It's frustrating, but it feels so good when your code runs!!
That makes two of us, as I started to learn C++ this semester too. Good luck! It's been a challenging but fun journey so far.
If you think C handles strings and loops oddly, you should check out some of the Esolangs that are out there. The Iteration code in them will melt your brain!
Bro took "learn only one programming language at one time" too seriously. Thank you for your priceless advices.
It is a little unclear, but I've learned and used a lot of languages in that time, and C++ wasn't my first language. C++ is just the language I've used the most in my professional work and I was surprised to find I'd first started learning it 15 years ago. It's a great language with a good past and I'm optimistic about its future!
Thanks for watching :)
Great take man. Thank you. I'm a JS dev for 1.5 yrs and this really hit home. Been thinking of doing C just to get better at JS. Any way...cheers bro. Peace.
Writing own's projects is the best you can do for your learning process!!
Started 1.3 years ago with my first project, then after 4 months started writing one big project that took me 6 months, later few smaller projects and I got my first job as software engineer in 07.2023 , which is 2 weeks right now.
Love love love your message and the tone of the video!
Looking forward to move vids about C++ and lowlevel, but more fundamentals like going DSA with C++ or embedded Raspberry Pi. Things that can teach CS fundamentals but also strenghths of C++ :)
Cheers!
Going for sdev now and i feel overwhelmed. This helped. Thanks.
Thanks for making this video! I'm brand new to programming - well, technically, I learned to code in Minecraft Bedrock, but now I'm focusing on learning C++. I'm still a total noob. But I'm sticking with it. I have no pride in the game, so I have no issue writing terrible code so that I can learn from my mistakes. I'm very excited to eventually be able to write the programs that I have in my head!
SyncMain's conclusion is spot on. I'd use the word practice. Practice writing, designing, debugging, diagnosing, re-writing, re-thinking. I started in C back in the 80's, moved to C++ in the very early 90's, and I'm currently making software in C++ 20. SyncMain's other message, opposing the C++ warnings from the public, is also spot on. If your targets require other languages then there's no reason to use C++ instead, but if your targets require C++ you shouldn't avoid it. It does require expertise, and that is one of the flaws of the language. Not everyone is suited to it. However, I can say from decades of experience, I have zero...zero...of the issues you read about "warning" about C++. I did have them, long, long ago, especially when I worked in C. My experience and training puts me in the position of automatically choosing better methods to write software, no matter what language I use. By far, C++ is my favorite and where I am most productive, but I have practiced long and hard. Consider, too, if you would really want to use software (if it is important software to you) that was built by someone without experience, expertise and serious knowledge. With that, the languages are less important than how they are used and what options those languages provide for solid, fast, efficient and reliable final products.
So, you confirm that what people say about the C++ safety problem and that should be replaced by Rust is basically nonsense?
I think C++ has been wrongly targeted by many who just get obsessed with another language or are inherently scared by the steep learning curve. A language doesn't stay on the market for so long for no good reason.
Learning JS but I think your advice is useful for anyone who's starting to code. Thank you for the encouragement!
I’m literally in c++ rn questioning everything and this gem a video to get at this point in my life. Thank you!
Usually i don't comment on any video on youtube but you just changed the way i see the process of learning some programming language or any kind of stuff related to tech
I was always wondering if i was doing in "the right way" and it didnt help me a lot
Thanks for the words man
I wish you all the best man ty
Thank you for this, I needed the motivation. recently I've started coding things I like vs coding what I think I need to code to learn "optimally". I'm going into my Junior year of college, the path up to now has been so hard with how the pandemic affected everything and the fact that besides some HTML and CSS, i knew nothing about programming. sometimes I feel like I'm not good enough to be where I am but then I remember about all the self-studying I've done and all of the hours I've put into this craft. That makes me feel more worthy. Thank you for your video once again.
I am a physicist. During my doctorate studies, I used mainly LabView and Matlab. Then, I got a postdoc position in Japan in CT and image processing. Japanese asked me if I know C++ for fast computations. I wrote my first C++ code in Japan. I also read at that time Jess Liberty's book C++ in 21 Days about OOP. I believe C++ is excellent for fast scientific computations. I use it for that. I want to tell you can have a specific job when C++ is requested by your employer. Each language is good for something else. In academics, I used C#, Python, C++, Matlab, and LabView. In today's world, you need to know multiple languages.
man i needed to hear this
especially the part about starting the right way
thank you
Hi everyone, I’ve been using C++ for 8 yeas, still a lot to learn, but really happy to see that C++ community is growing strong, just less verbal than later born programming languages. Hope we can stay connected.
I'm just starting my journey. Will be studying CS from Feb 2024 where they teach C#.
I just came across your video randomly and it was cool to hear your thoughts on your beginnings.
Will focus on the fundamentals and learn to debug - but as you mentioned, I will try to do more actual writing and fix my errors instead of getting stuck in tutorial videos.
Thank you so much for this! Subbed, grateful to hear from experience. I've been struggling with learning programming for about 2 years. This helps me to simplify the approach and not overthink, which I've been trying to do recently. Ty again
it's been five year for me to code in c++. I am not a professional, just a student studying, building, learning and exploring things. For me C++ just gave me basic understanding of things, like searching, sorting and all basic of algorithms, I know there are inbuilt function for those kind of thing in modern language but that low level understanding of things is what makes difference. It make your logic more strong and versatile, I have become better problem solver then rest of peer and give credits to C++. Just because language is old and have very steep curve doesn't imply that language is not worth to try.
Can you make a complete series on learning C++ in 2023. How it works and practical applications. It would be bloody awesome!
I'm just starting my C++ journey this was a great video. Thank you
God like dude)
Im started to learn c++ because its must have in programming graphics(opengl). And want to make indie games or write own tiny game engine. But now im coding at c language(sry for english:)) with raylib. Its very simple and fun. Thanks for video
Nice, I too may start learning opengl the later half of this year
I hadn't heard of raylib before, it looks cool! If you're into indie games you probably already know about itch.io, but if not you should check out the developer community there. Lots of people learning and sharing there, I'm sure you'll find something relevant to your interests.
I’m a junior developer, at work I am concerned about how to find the “perfect” way to program because sometimes I feel that I’m not at the level my colleagues expect from me. Hearing this advice from a senior makes me more comfortable! Thanks
My advice for junior devs is a little different than people just starting to learn to program, but I think you should ask questions early and often. It should be expected of junior developers, and you should be able to wind down with the questions after the first 6-12 months of starting a new job. At that point you should know where to look things up when you don't know them, and otherwise begin your journey of figuring things out on your own.
Either way, the shared advice is to not stress about the "perfect" solution. Get something running, then start to break down how it could be improved, before you put it up for code review or submit it. Eventually, you'll be able to start with a pretty reasonable solution based on your experience, but even then you should always be checking against your assumptions and finding ways to learn and improve.
Thanks for watching!