Learning programming has become very important because it provides many opportunities and jobs with high incomes because technology has become present in all fields, such as education, medicine, engineering and others. And what distinguishes programming from other fields is that you can learn it on your own from home, and you do not need a university degree to work with it, you only need a computer to start learning and working with it.
In this article, you will know what you must learn step by step in order to become a developer of websites, desktop applications, mobile applications and game developers.
The first thing you should do when you decide to learn programming, is decide what field you want to learn. For example, you want to become a desktop application developer, website developer, mobile application developer or game developer.
If you love more than one field and this is very normal, you should choose only one field to start with. After studying this field and building some projects in it and making a profit from it, then you can start a new field.
Please never learn two areas at once because you will fail because of the pressure you put on yourself.
The first step for any beginner who wants to learn programming from scratch is to learn programmatic logic, i.e. learn algorithms. After you learn the algorithms, the thing you intend to do is what determines what you need to learn in order to reach your goal.
Website development path
If you want to learn web development, here you have two main sections:
- Front End : It means learning how to build the design that the user will see.
- Back End : It means learning how the site data is processed and saved.
If you want to work as a web developer, there is no problem to learn web design and then learn how data is processed and saved on the site.
What do you need to learn to become a web designer?
To become a web designer, you must learn the following things in turn:
- HTML : a language we use to define the things we will add in web pages such as images, headings and paragraphs.
- CSS : a language we use to improve the design of things we have added in web pages such as coloring them and specifying their sizes, where they appear, specifying font types etc..
- Bootstrap : a library that provides us with ready-made CSS code that we can use with ease to design web pages that appear very beautiful to the user, whether he is using his computer or phone.
Note: It is not necessary to learn JQuery and Bootstrap, but I advise you to learn them because learning them is very easy and they are very widely used in web design.
What should you know to store processed users data?
You must learn how to deal with databases and I recommend that you use MySQL databases because they are the most popular, 100% free and very easy to deal with.
You only have to learn one thing to be able to link the website design to the database.
The thing that we put as an intermediary between the database and website design is called API, and this word is an abbreviation of the Application Programming Interface .
The API in general is just plain code that you put on the site and you can write it in any language you want and you are not limited to one way to build it. The beautiful thing here is that there are many free development frameworks that you can use to build the API with ease so that you do not have to write all the code yourself.
Among the most popular frameworks used to build the API are:
- The Laravel framework, which initially requires you to learn PHP because it is built in it.
- Symphony framework, which initially requires you to learn PHP because it is built in it.
- Codelgniter framework , which initially requires you to learn PHP because it is built in it.
- The CackePHP framework , which initially requires you to learn PHP because it is built in it.
- ASP Net Core which requires you to learn the C# language initially because it is built in it.
- Spring framework, which initially requires you to learn Java because it is built with it.
- Django REST, which initially requires you to learn Python because it is built with it
There are other frameworks and languages, but these frameworks are currently the most popular. And you should know that you do not have to use any framework to build the API, but using a framework is much better for the programmer and saves a lot of time and effort.
Desktop application development path
If you want to learn to build desktop applications, there are many options that you can choose one of them to build the application, and the most important of them are:
- You can learn Java and then use the JavaFX framework to build the program’s user interface.
- You can learn C# or C++ and then use the WPF framework to build the program’s user interface.
- You can learn Python and then use the PyQT framework to build the program’s user interface.
Of course, later you will have to learn how to deal with databases in order to store user data, and here you can use any type you want, and you can use Access databases if the application is small and intended to run on the same user machine, and you can use MySQL databases if the application is huge and designed to run on more than one device and you want to access the same data from more than one device.
Mobile app development path
If you want to learn to build apps for Android, you can use any of the following languages:
- Kotlin language which has been considered as the main language for building Android applications.
- Java which was previously the approved language for building Android applications before Kotlin and which you can still use.
If you want to learn to build apps for iOS, you can use any of the following languages:
- Swift language, which has been considered as the main language for building applications for the iOS system.
- Objective C language, which was previously the approved language for building applications for the iOS system before Swift, which you can still use, but I advise you to learn Swift instead of learning it.
If you want to learn to build applications that run at the same time on Android and IOS, you can also do that in many ways, for example, you can use any of the following frameworks:
- Framework 7
Any framework you intend to learn from them, you will have to know one or several programming languages before learning it, but when you follow any course you will find the lecturer telling you what you should know in advance.
Pay attention to an important point, there is no framework better than a framework in all respects, each framework has advantages and disadvantages, and any framework you learn from them, you can build applications with it, sell them and profit from them.
Game development path
If you want to learn to develop games here you must have a good background in programming. That is, do not think to program a game when you do not even know what programming means. And of course, you must have a background in dealing with databases.
Any game that you develop yourself will be a combination of:
- Characters and 3D shapes such as cars, houses, trees, weapons.
- Sounds such as players’ voices, explosions, enthusiastic tones, etc.
- visual effects.
- It may also include short videos.
- The code you write to determine how things will move in the game, how the stages are moved, etc.
Pay attention to an important point, you don’t have to learn to do everything on your own. For example, you can buy ready-made characters, effects and sounds and then assemble them in your own game.
Now when developing games, you will use software that is ready to do so called Game Engines.
The most popular programs used to develop games that run on all operating systems are Unity3D and Unreal Engine, both of which you can start using for free.
If you are going to use the Unreal Engine, when writing the game code, you will be using C++ .
If you are going to use Unity3D, when writing the game code, you will be using C# .
Whichever game engine you decide to use, you will find on its official website all you need lessons, articles and free things to help you get started. And don’t waste your time comparing them because you can do whatever you want with both and the two are constantly being tdeveloped.
Type of database recommended to learning at first
Whether you intend to be a developer of websites, desktop applications, mobile applications or even games, you must learn how to store and process user data in databases in an organized and organized manner.
In terms of processing data and saving it in a database, here you basically have to learn SQL commands and understand how to link database tables to each other correctly.
The thing that may confuse you when trying to learn databases is that you will find several types of databases, the most famous of which are:
- SQL Server
Now you have to believe that once you deal with any database from them, you will not face any problem in dealing with any other type of database and the reason for this is that the SQL commands you use in it are the same and the logic of linking the databases together is the same as well. That is, do not listen to anyone who tells you to learn this and not learn that.
The simple difference between the databases is that, in general, in all databases there are additional functions that you can take advantage of when writing SQL commands, and some of them are 100% free, and some of them you must pay a certain amount to allow you to use.
For a start, I recommend that you use MySQL databases because they are the most popular and free and most developers use them.
Learn what you need for free
I have previously prepared comprehensive and 100% free references to learn programming languages, design languages and databases from scratch.
You can view all our courses at any time you want from here and without the need to log in as well.