Everyone should learn to program a computer because it is an activity that teaches you to think (Steve Jobs), you too! If you are passionate about the subject then you will probably want to make it a profession and to do it you will necessarily have to learn at least one programming language. It will not be the only one you will learn and use in your career as a programmer, in fact there are many programming languages (which you will learn about very soon) and in the same way there are many types of programmers. To start, you’ll need to decide which path to take.

Programming language, which one to choose?
If you are just starting out with computer programming you will have realized that you will have to choose and learn a programming language , which is the equivalent of learning a new language. You will need to understand how to give instructions to the computer in that language and you will have to start thinking and reasoning like a programmer. But if you started documenting online on how to program and learn a programming language you will most likely be confused by the amount of information and programming languages ​​found on the net and you could be very discouraged by thinking that the topic may be too complex to learn, especially self-taught.

Nothing could be more wrong, programming is not as complicated as it seems and anyone can, with a little effort and a lot of practice, learn to program.

To become a programmer, however, you will first have to decide which path to take, that is, you must decide what you want to do and only then can you choose the language to learn first, which will then be the basis of your future work.

Let’s try then to think about the types of programs (the product made by the programmer) that exist or can be realized.

There is no need to make great efforts, just think of everyday life 🙂

Surely you will have come across at least once in a program:

maybe buying a new product in an online e-commerce
or by sending a bank transfer and / or checking the account statement from your bank’s website by booking a flight, a restaurant or a hotel room online or driving and stopping at a traffic light (managed by software, specifically created to direct traffic)using an app or a game on your smartphone or tablet or still by touching up some pictures, writing a text or sending a file to a printer to get a paper copy In all these cases (and many others) there is behind a program created by a programmer.

Learning to program is therefore a very interesting activity, very much in demand in the world of work and which gives great satisfaction. But you have to decide what you want to do to understand what path to take.

For example, if you wanted to work in the web environment then you would necessarily have to learn html and css (which are not real programming languages ​​and are used for presenting the contents of websites) and a language like javascript, php, java, ruby ​​or python . If you want to create apps for smartphones and tablets you should learn Objective-C and Swift for iOS and Java or Kotlin for Android (or Javascript for both if you want to create hybrid or Dart applications, always to create multi-platform apps). Still if you wanted to create programs for desktop computers, you should learn languages ​​like Java, Visual Basic or C # and for other types of programs, such as those for platforms like Arduino and the like, where you can also use sensors and actuators in your projects, then you should learn the C and its variants.

In short, having decided what you want to accomplish, the road ahead is almost done.

Which courses and resources do you choose to learn how to program from scratch?

Ok, now you know which computer language you will have to study, but what are the courses and resources available and how to choose them to leave? There are several answers to this question and one is not necessarily the only correct one. The solution could indeed be a mix of all. Let’s find out together by seeing the pros and cons of each.

University Courses
Definitely the best choice, the longest (and not accessible to all) and at the same time the most complete. Perhaps it lacks a bit of practice, which you can always do later, but it is certainly the best solution as it offers solid foundations for tackling any subsequent professional and educational path in the IT field.