Are you new to Programming, Hacking or Computer Science in general? This article is made for you.In particular I will give you the 5 steps to start with the programming. That is, how to choose the right programming language, how to learn to code quickly and correctly, and how to use best practices to a level that suits you in programming.
Add details to these areas
If you want to learn programming because it sounds cool or fashionable, you will not know what to do next. We must now specify each of your previously established reasons. Take them one by one and add details. Among these details, it is important to note the time you want to learn and the operating systems involved. Here for my example:
Create utility software quickly for Windows (disinfection, cleaning, antivirus).
Better understand systems
Better understand how operating systems (Windows and Linux) work and how to interact with them on the programmer side. This can take the time it will take.
Create personal websites to make room for my imagination without paying a developer. Here the operating system will not change anything but the site will have to be functional on mobile devices.
Deduce the programming language by which to start
Now that you know why you want to start programming, as well as the time and system, you will get much more easily the language (s) you need to start with.
If you want to create utility software on Windows in a fast way, you will naturally move towards the languages "dotnet" (.NET), that is to say Visual C ++, C #, VB.NET.
To come to this conclusion, just do a quick search like "program under Windows" or "programming language for Windows". We also learn that Java or even Python languages can also be used regardless of the operating system. Dotnet languages are simply more suitable.
So, you will learn a lot more than programming as part of a good degree in computer science. In addition to coding skills, you will learn a lot about computers in general: how they work, how they are used to solve problems, and the science behind computer system design.