Becoming a programmer…
In the introduction of this text, I would like to convey my experience, offer a few tips for technologies and how to use them, write a short guide through the languages that I myself have passed and how, by learning, I became a Frontend developer.
The first thing you should ask yourself and be real with the answer – “Why do I want to become a programmer?”
The “Why” question is an important part because it deals with specific motivation. Working in a programming company, cool things, salary, the possibility of attaining new knowledge, hanging out with colleagues and remote work are some good sides of working in a developer environment.
Why is it most important to deal with this issue? Precisely because programming and work in IT companies besides cool things, good earnings, frequent organizations of meetups, socializing, excursions, remote work, there is another side – which is great responsibility, dedication, renunciation for the advancement and learning of new technologies , all in order to track new trends in a time where technology has taken great power and is rapidly advancing.
The basic and first precondition for fast and easy mastering of technologies is the knowledge of English. All tutorials, all books are in English. Every communication is done on the same, and every problem or solution you are searching is also in English.
Important things to keep in mind when entering the world of computers, programming, or some other IT job:
Everything has to start from the basics and that should apply to every programming language. For example, if you are far off with your knowledge in Java, you would have to start from the basics if you had to learn C#.
Do not compare yourself with other developers, not everyone progresses at the same tempo, it is important to be persistent because persistence is everything, however hard it may be. You should be able to get out of the comfort zone because programming demands it, every problem is solvable, but each problem is unique and needs to be approached in a unique way.
Also, competing with others can have a negative effect on you, because you will see that you will not be moving fast enough in order to reach someone. This is not a solution.
I am saying this from my own experience, right from the start you need to dive into research about programming and languages as such, you need to decide in which direction you want to improve, learn and ultimately what to do. Programming is a very broad concept that comes through a lot of spheres over the web, programs or games to robotics, science, and so on.
You need to learn how to allocate time both in learning and working on projects, it’s important to get work habits as well as the habit of coding.
Set small goals for the beginning, not because you care about your progress, but because you care for that progress. Make a list of things you want to end on that day, at least if it’s just one page of reading or watching a video tutorial or writing 20 lines of code.
Make a git account and commit a significant change every day, so you’ll keep up with your progress.
So, we have basic divisions (directions), such as Operating Systems, Applications for Phones, Web Applications and the Web Generally, VR, AR, MR, Game Development, Robotics, Networks, System Administrators, DevOps, IoT.
Popular programming languages:
As we have said, it is best to decide for one direction and to stick with it. Nobody says it will be easy and fast. You should skip tutorials and books that offer to learn in 21 days, 10 days and so on. It is best to choose one language to stick to the basics, rules, understand the structure of the data, the variable, the command, the syntax of the language itself and, of course, after the theory comes to practice, practice, practice.
After that comes the higher level, which is work on the project. My first project was a personal portfolio site. In short, I will walk you through some programming languages and what they are used for.
It is mostly used for applications on phones, android. We also have a great application in IoT.
Java is a very portable, cross-platform, (JVM) Java virtual machine. Otherwise, it is a statically-typed language, which means that the code is checked before the application is built. It is designed to be similar to C++. Java is an (OOP) object-oriented programming language.
Its most famous framework is Spring.
A lot of popular tools have been written in Java, most notably: Eclipse, Hadoop, Android, Android App …
* Statically typed languages are faster than dynamically typed languages.
Very versatile language, applicable almost everywhere, powerful and easy to learn. It is recommended for beginners because it develops a good programming logic. Its power and diversity is seen in the fact that it can be good for web applications (backend framework Django) and is also good for data analysis, AI, scientific analysis. Most developers use python to create some tool or mini-game for raspberry pi or Arduino.
Python is a dynamically typed language, however, it is quite fast.
Things that are written in python:
Atom, Eclipse, Sublime Text, PyCharm, Blender, BitTorrent, part of Ubuntu, Civilization VI uses python for most tasks, Overwatch.
A programming language specifically designed for the web. Its focus is on the backend, programming web applications on the server side.
A very popular and sought-after language because, as with JS, a large part of the web works on php.
PHP is dynamically typed.
The most famous web application written in PHP is only Facebook.
C, C++, C#
Similar to each other, all come from the C language. Except C#, which is Microsoft’s product, C and C++ are very difficult to learn. If you go into the adventure with these languages, keep in mind that you will not only learn the language as such but also how the computer actually works, what is happening on low-level programming processes, because C is the closest to machine language.
C# developed by Microsoft is also used to create applications for making games through the Unity Game engine.
C# is a statically typed language.
.NET is the framework that goes with C# and is used for the web.
C++, known to be a very powerful language, allows you to control computer resources – processor, memory.
Used in the game industry, game engines, desktop programs. Many AAA video games are made in this language. It is a very complex, statically typed language of incredible speed. Simply put, created for all and any platform.
In C/C++ code that is written is primarily for operating systems. C is a great language for writing OS drivers, as well as writing the OS kernel. This power gives him precisely what is low-level language.
The most popular applications/programs which are written in this language are Winamp, Sublime TEXT.
JS allows us to build interactive websites. As the main programming language used on the web at the front of the web, it is popular with a number of frameworks and libraries, such as ReactJS, VueJS, Angular, Ember, jQuery. Application in JS or its frameworks can be found in the backend, nodeJS, and also with Electron, you can make a cross-platform desktop application.
As a dynamically typed language, JS is slow in creating desktop applications but it is used and is getting better at it.
JS, as well as PHP, are responsible for the entire web, so it makes no sense to list what is written in JS.
If you want to be exclusively engaged in the development of native iOS and MacOS applications, then Swift is just for you.
Swift is a statically typed language, xCode (its IDE) will check everything before the application goes out.
The language is very young, but also very popular, has the tendency to replace Objective-C, which also serves for writing anything that is under the Apple brand.
For the purpose of enumeration in Swift, Firefox is written for iOS, Flappy bird, HN Reader.
Ruby’s popularity is the first in its syntax, which is almost like writing something in English. Ruby on Rails is a framework that is, in fact, a full stack web framework. Designed to make programming easier and more fun, it has been used in web development, as well as in making games.
Ruby is a dynamically typed language.
After all this, I hope that you have a little clearer picture of the way the programming works. So if you decide to learn to programme, regardless of the language you decide to use, it’s important to investigate it thoroughly. Learning programming is best through college or some licensed course, but it is important to learn by yourself throughout the entire school. Good books, internet, and good tutorials are all you need.
If you are a gamer, make tic-tac-toe, sudoku or flappy bird. It does not have to look the same for the same logic of the application itself.
If you want to better understand frontend development, make your own website.
If you want to create a full product web application, start by making an online bookstore, blog, using google maps API for your personal web navigation.
Several sites for beginners, basics.