Hello @JavierPedrosa,
There are some valid points here from others and I would like to add a little of what I think…
I personally prefer to know a little about what is going on under the hood so if I was just about to start learning CS, I would pick C/C++/Java/Rust or any other strongly typed language and start crunching some simple problems.
Please, do not set yourself up to master the language right away. What you want is to improve your algorithmic thinking, what and how you can store things in the computer’s memory and how to work with it, learn about basic data structures and algorithms and why should you care, how to use command prompt/terminal, networking basics…
Why to start with this? Well, it is a universal knowledge transferable across all programming languages! If you want to create a text file and write “Hello” into in, you’ll see that the implementation is very similar in all languages, because they work with the same underlying processes and logic. I should say the algorithm is probably the same, only the implementation differs. That would be the same for processing an image, let’s say you want to apply a grayscale filter on it. The steps would be as follows.
- load the image into the memory
- iterate through all pixels
- modify pixels RGB values with some logic
This high-level algorithm is universal. Then you need to decide what data structure you will use to store the image and how you will iterate through it in efficient way. And you will not learn this by learning a language itself.
You want to connect to a weather service and download the most recent forecast? The same thing. However, it may be more tedious to implement this in C then in Python, because there are several things, why are abstracted away and processed by the Python interpreter for you.
You want to implement a shopping basket on a website? The same thing again. Once you know how, the language is just a tool to implement it. Some may be better for the problem, some may be worse. In this case, you will need to do in JavaScript since that’s the language web browsers understand.
I recommend to everyone start with the Harvard’s CS50x course. It’s free and teaches you the basics.
Take your time to set it all up, link it with your GitHub account, get comfortable with using terminal and using basic commands. There is a HUGE Discord community and people there are very helpful if you need any help.
TL;DR I partly agree with your brother to start with a lower level language as I believe will force you to think more about what you actually write and before you even write anything. It’s more strict therefore required structure and discipline.
Moreover, when you look at the job market, more and more projects use TypeScript, the superset of JavaScript, which enforces static typing like you would need in C/C++/Java…