In this video I try to answer the question which programming language you should learn as a first language.
As I tell in the video this question is very general and therefore hard to answer because it depends on many things:
What are your goals an requirements?
Which kind of applications are you going to develop? Will code web applications for example and will never get in touch with C, C++, assembly code or native performance optimizations? Then I can recommend Python or PHP. If you will have to program micro-controller or huge games with Unreal Engine for example you should concentrate on C++.
Another good way in my opinion to learn C++ is to start with a language like C#. It has a garbage collector, uses OOP and is modern and powerful. you can learn the principles of programming paradigms and concepts and use a C-like syntax at the same time, but you don’t have to mess around with memory allocation and management at the beginning. Once you master this language you can relatively easy switch to C++ then.
What learning type are you?
Are you the guys who likes to go through hard technical issues and you are not afraid of pointers, memory management and strange compiler/linker messages – ok, then you can start with C++. But starting with C# or Python is a kind of software way in my opinion and a bit less painful:-)
Python is really elegant, easy to learn and has powerful modules that can be used for many different requirements, so I can recommend this in general for beginners to programming, the same is true for C# or other .NET-languages.
If you are or want to be a game developer the programming language you use depend on the engine you prefer. Godot for example will support Python in a next version and also C#. Unity relies on C# as well. If you want to program for Unreal Engine your should go for C++.