Should you Learn C++ in 2019?

Cote today Cote dated a little useless biro here cuz they're gonna get to my ten minutes you know how important that is alright glasses are fogging up imagine the lenses should you learn C++ in 2019 the 2019 Edition so I had to do this edition of the video because I did the 2018 edition which had over 1 million views 1 million views my life to dislike ratio or in that video was about 80% like 20% dislike and so I guess you could say at least 800,000 people if the sample is representative of Z of the whole 800,000 people approved of my message about C++ so in this video we're going to do the 2019 edition before I jump into it which is going to be on another camera let me just give you the Reader's Digest a short version just in case you're really busy nerds and you don't have the time to watch the whole thing number one where I make C++ the first language I would learn or the first language I would teach somebody no not because it's a bad language it's because C++ for all its power because it's it's probably the fastest one of the fastest running languages out there when you write a C++ app it runs fast compared to so many other languages but it's complex that power comes with complexity complexity that you're shielded from if you write software in other languages more modern languages like JavaScript Java C sharp Python PHP Ruby dart under many others self swift comes to mind so that number one when I would would I teach C++ as the first language no I would start something I would start off the student with something a little bit easier like a Python or PHP or Java even and then if they wanted to do C++ type programming and I'll get into that in the main videos then I would do C++ is C++ a great language to learn in 2019 meaning for most people this means are their jobs in C++ the short answer yes there are plenty of jobs in C++ but the type of work that you're going to be doing as a C++ programmer is very different from the type of work that you're going to be doing as a JavaScript programmer as a Java programmer as a c-sharp programmer as a Python programmer as a PHP programmer as the dart programmer the point being is you should recognize what it is C++ programmers do and decide whether or not you want to do that I'll get into that in the main video and the final comment are there going to be lots of jobs in C++ in terms of the number of jobs yeah there's quite a few jobs with C++ and there will be for years and years to come so if you actually jump into C++ you'll be fine but I think that the need for C++ programmers will slowly let me emphasize this slowly diminish over time because the advantage that C++ brings to the table and I'll end this part of the deal here the advantage of C++ brings to the table is that it is very fast at runtime when you write it programs and C++ it runs very fast that's why all the gaming engines that's why all the gaming engines are rhythm C+ on the other hand C++ is dog slow to write in it takes a lot more time to get anything done in C++ that's the downside and and this section of the video with this final point probably business point of view because at the end of day you're writing code make money for the business you're writing code for for yourself but from a business point of view it's a lot cheaper to have something written in a much faster to write in language like a Python even though it's gonna be much slower at runtime because CPU and memory is very very cheap and get cheap it's cheaper every year versus computer computer programmer time staff especially programmers who are highly paid and highly valuable employees they're very expensive so you're much better off saving a buckets of time in terms of writing an app and you do that with modern languages rather than having a faster app at runtime so finally in in summary if it's not clear you can write you can get an a program out much quicker which much less cold much less expensive reading in a modern like language like Python or C sharp or Java versus writing the same type of program in C++ that's just a general thing but again for all you C++ nerds out there yes it's true there are certain things that only C++ could do where you need maximum power anyway let's jump into the next section of the video bye-bye one of the things you're gonna have to remember about C++ is that it was created 30 years 40 years ago something like that it was created at a time when computers were far far less powerful the hardware was far less powerful so he needed to design programming languages that really took advantage of the limited resources in terms of memory and it turns a CPU another thing you have to consider is that at that time I would argue that the industry's overall knowledge about what makes a good programming language how to design programming languages how did the Zion frameworks was you know 30 40 years ago it's not what it is today over that period of time the software industry has learned quite a bit how to write code how to maintain applications how to build programs so you see that reflected in more modern languages that bring to the plate capabilities that just makes it easier to to build so to build software for instance garbage collection in Java is an example but even that Java is still the new verb in C++ of course it's still a 20 year old language so I think as an example is Swift you look at what IBM is doing with the Swift programming language it's a very sophisticated language where it has all the attributes in terms of ease of use speed of write times basically you write a lot less code with Swift to get something done versus say C++ but at the same time Swift doesn't suffer from the speed deficits that you see or speed problems the lack of speed you see in languages like Python or Ruby so when you're looking at C++ as a language to learn you have to think about these things so today in 2019 C++ is still widely used there's nothing to lose by learning C++ because so many other languages are from that family that see family so if you learn C++ be easy for you to see if you want to go lower you can do Java you can do Python well not run Python but JavaScript dart PHP to a certain extent so what are the broader messages on this channel that I try to convey is that you know it seemed it's fun to look at okay what's the hot language etc etc but again if you're looking at software development as a long term thing as a long term career or business before we go into freelancing or you're developing your own apps you have to understand that you're going to be learning different languages you can be using different languages over time and when you do reach a level competence you're gonna go in there and you're going to look at the project at hand look at the job and then you're gonna pick the language based on what you need to do at that particular moment in time it's kind of like mixed martial arts where when USC first started the Ultimate Fighting challenge and you would have different stylists would come on you'd have the judo guy and a karate guy and the comfortable guy and the guy et cetera and over time it evolved it evolves and people realized that to be a well-rounded martial artist to be a real good fighter you had to have elements of the ground game to grappling game you know a good striking game kicking submissions a good stand-up game with your hands you have to be a truly a mixed martial artist same thing with software development over time you're going to learn that it's not about what language you use much in the same way to be a great fighters not about the style it's about your understanding of fundamentals indicates a program of course the fundamentals of programming and these fundamentals are universal across all languages so whether you decide to learn C++ as your first language or JavaScript or Java or Python a PHP it doesn't really matter in the medium and long because all this knowledge is shareable across all the different disciplines now let's consider market forces now when it comes to programming and learnability I'll deal with learnability first when you are learning to program the C++ Asst wouldn't be my first choice to teach with because because of the nature of the language there's a lot more of it you have to have those a lot more you have to be aware of where as for example Java takes care of memory allocation JavaScript Java PHP Python Ruby dart they all take care of memory management for you automatically you don't have to concern yourself with that whereas with C++ you do so as an extra level complexity but you could have to deal with besides everything else when you're learning how to program so if I was looking to learn to program or follows teaching some to program their first language I would not be choosing C++ just because there's difficulty that's you're gonna have to contend with that you don't have to contend with with other languages when you look at the market there are jobs in C++ plenty of jobs but typically these jobs are going to be in areas where they're gonna probably want you to have certification or degrees to be able to write that code whereas if you go into it's a freelance or just PHP web stacked about man or JavaScript web stack development you don't need a degree the certification will help maybe a little bit to get going with that but it's much more about what your portfolio is is much more about what you can show in terms your skills whereas with C++ it's in that round where I think a lot of jobs or large organizations or in organizations in businesses where they're going to want that degree so if you're coming to this this whole programming thing to get a job to make money understand that which you're faced with in terms of the job prospects with C++ yes there are exceptions yes there's always exceptions to the rules but for every small independent shop that will hire somebody without a degree with C++ for C++ code there's probably a thousand jobs and PHP probably a thousand jobs in JavaScript I hope you get that idea so there you go that's I think my conclusion and then I come up with something new but I think that's my conclusion terms of should you learn C++ in 2019 it's a great language but it's an older language I think over time it's use case will fade because hardware is getting faster and because modern languages have a better optimization between the speed of writing right time speed which C++ is very slow compared to many other languages and versus run time speed whereas C++ is still is blazingly fast so it's still used to build gaming engines or used to write code for maybe IOT devices devices I don't have very much power but that is going away because you have modern programming languages in fact in the output very performant code and with every passing year the hardware gets faster so the need for C++ diminishes diminishe diminishes I think over time faster to write languages will beat out faster – run languages because those speed differences at runtime will be inconsequential but the big cost a software development will still be there so there you have it well one last example I talked about this in the news last video if you look at AI development in AI the most popular language is Python even though it's dog slow compared to C++ C++ is super fast what is the solution in the AI world well they write the parts of the AI that half that needs super fast processing they write that in C C++ and then they write everything else in Python so maybe 5% of the code base might be in C++ maybe 10% max and what they found you take up interviews with some of the top AI guys when they tried to do the whole thing C++ it took forever nothing got done so what they do is they just write the the core engine and see for that specie plus plus rather and then they write everything else Python and to access that core engine and then you get a lot more done it's far more productive so I just that's just one example of right time versus right time speed versus run time speed and how that balance is gonna play out and there you go I hope you like this 29 edition should you learn C++ in 2019 this is the Go Pro Edition all right bye bye

21 thoughts on “Should you Learn C++ in 2019?”

  1. Would C++ be the first language you would teach? Would it be the fifth? Are you qualified to teach it at all? You very obviously are not. The hardware becomes more performant every year, and the requirements for the software remain the same, and therefore the need of C++ diminishes? If with this kind of intelligence level, you call yourself a software engineer, then God help whichever software industry you are servicing. Garbage collected languages are the poorest choices for high performance solutions, and you cited them as reasons of C++ losing value. Of all the garbage collected languages, Go is probably the most performant, and neither is it designed to be a system level language like C++ or Rust, nor is its performance comparable to that of C++. Using pure STL in C++ might make the code look slightly more complex than Go on some occasions (like with asynchronous I/O), but there exist a plethora of libraries to ease the pain of development. If you have some references that show that 3-5% of the core logic of the machine learning libraries is written in C++ and the rest in Python, please do share. Most of these libraries are open source. If you can read code, you can also investigate by yourself.

    My request, instead of making advice-videos, please try to learn some basics of programming. Don't skip anything. Start from hello world.

  2. C++ is not a good language by standards which are required today. Development time, dealing with high complexity > Performance, the only remaining strength C++ still has. Hardware (even microcontrollers) has become so powerful, that 5-10% better SW performance means nothing, if you need one year more time to develop your product. It is absolutely worthless…

  3. Im one of them guys that prefer to get into the details so the higher languages couldnt keep my attention when learning programming

  4. In the environment that I develop that are applications for 8-bit microcontrollers continues triumphant C / C ++

    Certainly the new hardware is more powerful and the 32-bit microcontrollers are cheaper. Allowing programming in languages ​​such as Python or microPython, but actually using a mixture of C ++ in the core and Python to access. I think that this door is still being opened because the need for a specific language depends on which platform it is going to develop.

    As I just read the python for stinks … those things are handled better with C ++. Of course, I'm only talking about the microcontroller ecosystem.

  5. Что за бред,какой смысл создавать такие тупые видео?
    c++ это основа основ,он обязателен к обучению,к тому же это самый бысрый язык, у которого нет аналогов.
    Вывод:с++ обязателен к изучению.

  6. I started with learning python and now learning C++ and now when I understood programming basics in python C++ is now really easy to learn.

  7. Should you Learn C++ in 2015? Yes.
    Should you Learn C++ in 2016? Yes.
    Should you Learn C++ in 2017? Yes.
    Should you Learn C++ in 2018? Yes.
    Should you Learn C++ in 2019? Yes.
    Should you Learn C++ in 2020? Yes.
    Should you Learn C++ in 2021? Yes.
    Should you Learn C++ in 2022? Yes.
    Should you Learn C++ in 2023? Yes.
    Even when im dead im still going to say that you should learn C++.
    Any else life advise you need?

  8. I work in telecom Industry, all telecom companies use c++ for developing their solutions because they need more performance. All 3g/4g networks runs on c++. For me python is a fun and run slow and we use it to develop PoCs quickly. C++ is always good choice for high performance products.

Leave a Reply

Your email address will not be published. Required fields are marked *