Lately, I've been thinking to learn a new programming language to boost up my programming career. I already knew Python and C#. I use Python for my personal projects, Machine Learning and AI. And I use C# for game development. My life was going pretty well until I met my demon. "Competitive programming".
As you all know, Python is a bit slower than most other languages out there. And in competitive programming, one of the most important part is to solve problems as fast as possible. And your program must finish running in a certain amount of time. If you can't you will get the annoying TLE error. As Python is slower than it's other competitors, most of the time I end up with a TLE error. Even my solution gets accepted, there is always a significant amount of time difference between the Python solution and a C++ solution. I remember one of my solutions to finish running in about 400ms. When I checked other submissions, I found out C++ solutions took 0ms. Keep in mind, the same algorithm was applied to solve the problem.
You may not be a competitive programmer like me. But that doesn't mean you have no reason to learn C++. There are 3 reasons that I found for you to learn C++.
C++ is among the top 3 three languages that are widely used in FANG(Facebook, Amazon, Netflix, Google), the current tech giants. So if you are planning for a job in FANG, having a good knowledge of C++ can surely help.
Suppose you are in a war. There are enemies in front of you constantly advancing towards to slaughter you. Luckily there is a gun with you. When you tried to pull the trigger, you found the gun has no ammo. What a mess!!! You got lucky again and found a fully loaded AK47 beside you. And started firing the enemies.
So, what I meant by this example? To be simple, your newly learn C++ knowledge can turn out super handy while you face difficulties solving problems with your primary language.
As mentioned earlier, C++ is pretty fast. This might be a perfect reason for you to learn C++. Yes, the small-time difference might not be an issue for you if you are just obsessed with personal projects. But if you are like me, you will probably need a fast-running language to save your back.
(Not enough reasons for you? Read this Quora answer)
So, you decided to learn C++ then? AWESOME!! But the question remains how you can start learning C++. If you are like me who knows programming, it's not a huge deal. All the programming languages are the same in the core. Just the syntax differs. So, if you have the basic knowledge of any programming language, then you will need to check for the syntax and that's it!
Don't worry if you don't have any prior knowledge of programming. You can start from scratch. There is a ton of useful resources on the internet for you to start learning to program. If you are confused about which one to grab, here is a course that I will suggest.
And yeah, one more thing for the experienced programmers, you can try converting your previously written code to C++. This will be a great practice for you. Whenever you get stuck, you can just check for the syntax or the methods on the internet. That's it!
Lucky for you(or maybe unlucky), as I have also started to learn C++, I wanted a few more people to join the journey with me. You know, it's better to cross the Sahara with a caravan then dying looking for water alone. So I have created a Discord server for you to join my journey.
Invite link: https://discord.gg/ZvGcPjZ
So, what are you waiting for? Come join me and be my partner in this journey. We will surely and certainly have fun along the way. Waiting for you to join.
Until next time, goodbye.
Happy coding for you