At the very beginning of the path, when you still have abstract ideas about who a programmer is and what he does, it is rather difficult to decide where to start this most interesting path of the creator.
I hope, after reading this article, you will find your way, because this is what we will figure out with you now!
First, you need to decide what you most want to achieve – create your own website, write a game, or develop a database for accounting for personal finances. Determining the goal is the first stage on the way to a big business. By aiming at something specific, you will be much more comfortable riding the horse of knowledge. After all, the world of programming is a very extensible concept, so you should try to learn this world while staying on your own wave. In the future, if you need it, you can easily move on to other areas of activity, because the area with which you began to pave your way will certainly be reflected in your entire life path.
If your dream is to create your own website, then it is worth getting familiar with web programming. And if you don’t like programming as much as, say, modeling 3D objects , then lessons in this area are always at your service. Nowadays, millions of terabytes of useful information, lessons and even entire courses from various universities around the world are freely available. But not so long ago, in order to be at the top of evolution, we absolutely had to study in higher educational institutions, where valuable knowledge was only there. Now let’s move on …
It is worth noting that knowledge of sciences such as mathematics, physicsand English are optional, and you will understand this very quickly as soon as you start writing your first program. Of course, if you are planning to work on large projects like GTAV , Cinema4D or Google.Maps , then it would be better to know such sciences. True, experience will help you more here, which in a quick time will form in your mind a huge amount of knowledge of the exact sciences. However, I will not hide the fact that there are some areas of activity, such as neural networks, in which one simply cannot do without prior knowledge of mathematics. But not the web, games, programs, design and stuff like that. At least in the first couples you don’t have to bother about it at all.
By the way, many people think that it is necessary to learn programming languages, starting with the very first language that appeared and ending with the last one. That is, the construction of algorithms, outdated languages like Pascal, Delphi and others. But this is optional. Although it can be useful if you persist in studying them, perfecting logical knowledge, which can then be used when building code in modern languages that are more accessible to the common user. But you still need to start with the language that most of all relates to your favorite area, because it will help you quickly get used to it and start making real money on this business. Learning the basics can just scare you. In addition, once you have at least a little knowledge of the code, the theory will quickly become understandable and accessible, rather than the other way around.
My first language was “C ++” itself . Before that, I did not know anything, and, believe my experience, over time everything fell into place. Later I entered the university. There we learned everything from the very basics, but I didn’t really see the point in this.
Now let’s take a look at each area separately. And we’ll start with web programming …
This field of activity is one of the simplest and most accessible. Literally two months of training, a few hours a day, is enough to transform from a complete beginner to a web craft pro. Yes, and making money on this business is not difficult, since freelancing in this direction is the sea and the mountains.
Yes, you will have to learn a lot of new things. But this is just basic knowledge, which is simply indispensable in this craft. Therefore, if you are attracted to this field of activity, look up your gaze a little higher and begin to study all of the above.
This area of knowledge is one of the most difficult, incredibly interesting, hard-to-reach and cosmic gambling spheres of activity. Once started, it will be difficult to stop later. Here it is both difficult and interesting at the same time, so the complexity over time is offset by interest. However, if you are creating a game on ready-made engines, then there are no difficulties on the horizon. And experimenting with what you create is a separate topic altogether.
It is important to understand that games can be made using various engines or by yourself. The difference is that self-development of the necessary tools for creating a future game requires a huge amount of patience, since this is indeed a very difficult task.
For example, to develop a game on Android, you need to know the language Java and special libraries for creating Android games in Android Studio.
To create games on PC or console, you definitely need a language C ++ and all kinds of libraries that will help you create a game. To develop on IOS, you need Objective C or Swift , and you also need an Xcode program .
Game development with engines
If you decide to start developing games using engines, then you are on the right track. Most games in our time are created using all kinds of game engines, of which such giants can be noted as Unity, Cry Engine , Unreal Engine , Frostbite Engine , Dunia Engine , Source and so on.
CryEngine, Unreal Engine, Frostbite Engine, Dunia Engine, Source – all these and similar languages are designed to build powerful modern computer and console games. To write code on them, the programming language is usedC ++… If you want to create a game similar to CrySis 3, then these engines will help you with this.
Application development is carried out mainly in the C language and the like, that is C ++, C #, Java… Therefore, to write applications, you need to learn C as well as a newer C-like language, for example,C ++…
In design, you need to be good at drawing in Photoshop and 3D modeling programs like Cinema 4D. Two weeks of training is enough, the rest will be done by experience.
That’s all. I tried to talk about all the intricacies of each area of programming and tell you which areas of knowledge you need to master them. Complex topics, like AI ( Artificial Intelligence ), I have bypassed, since such areas of knowledge are not for beginners, for whom this article was designed.