“Which programming language should I learn first?”
A question that’s been debated for 25.6 years… or so.
Most online discussions go back and forth about what the “best” first programming language to learn is.
My opinion: You should learn the language that fits best with what you are trying to carry out now.
If you are testing and need rapid prototyping and quick’n'dirty code, stick with interpreted languages.
If you have the luxury of time and know a bit more about what your constraints and end goal is (or if interpreted languages are too slow) move on to high level languages.
If you are working with very limited resources or have strict constraints (or if you need solid speed and efficiency in the product) then learn low-level languages. Most won’t need this level.
(For a primer on what interpreted, high and low-level languages are then please watch the below video by The Ben Heck Show.)
To summarize the video, in general there are three levels to programming languages.
Interpreted languages (e.g. python, Perl) are easier to read for beginners, compiled at runtime and are generally slower.
High level languages (e.g. C, C++) are harder to read, compiled into machine code and are generally slower to create, quicker to run.
Low level languages (e.g. Assembly, Machine Code) are not human readable, are much more specific to the application/processor and are the quickest to run.
That is a very general description but it is a nice overview.