Hello. I would like to touch on the topic on which they write to me 2-3 times a week:
How to start programming what language to learn?
I know there are a lot of such articles, but I tried to do something special. I will say right away, the information below will be for freeloaders. I have always recommended and recommend buying courses and studying there. The courses have a clear curriculum that has been built over the years, and a review code. And this is very important for beginners. Nevertheless, here I will advise a lot of interesting books, video courses, I will give advice in teaching, so this, I hope, will be useful to everyone.
When people ask me a characteristic question, I always ask another question: “In which field do you want to program?”, To which I always get the characteristic answer “I have no idea”.
There are a lot of programming areas, but I will highlight the main ones:
- Frontend website development - HTML / CSS, JavaScript
- Server programming - Python, Java, PHP (only for backend sites)
- Creating Desktop Applications - C ++
Many people at this moment say that they have not yet decided on the field, so I have compiled a voluminous program that will help you decide and learn programming languages, but if you know the area in which you want to write, learn the language that stands after the dash.
')
So, if you still do not know what you want to write, here is a small training program. If you pass it - determine the area of ​​development and learn a few programming languages.
HTML / CSS
This is the basis, it is used not only on websites. Knowing how to write XML documents is very useful, it is used everywhere. You will meet them more than once in other languages. For example, setting up an application.
For studying I can recommend the site HTMLAcademy.ru .
Since I said that all the training will be free, we pass only three free courses on this site - “Introduction to HTML and CSS”, then “Basic HTML” and at the end “Basic CSS”. After completing these courses you will learn the basics of HTML and CSS, and this is already cool!
Javascript
Now I recommend to try yourself in Frontend.
Front - end is all that the browser can read, display and / or launch. That is, it is HTML, CSS and JavaScript (taken from the site tproger.ru ). In other words, this is what the user sees. If you open the developer panel on this site (pkm -> View element code) and go to the Sources tab you can find .js files. Yes, these files are hard to read (this is done to make the page load faster), however when you program it will be much easier for you. Already in the first days you can read the code like any Russian book. So, all the js code you saw here is written for your convenience and for contacting the server (Backend).
I recommend to study JavaScript on the English-language site JavaScript.info , it is now actively complement it. However, there is a Russian textbook Learn.JavaScript.Ru .
What exactly is worth learning? Basics of the language, DOM elements and AJAX. In other words, the first two parts of the Russian textbook plus the first two chapters of the third part. Be sure to learn what fetch is. AJAX is very important to learn in this tutorial, as in the rest they show how to send / receive a request through the jQuery framework. This framework is now used by very few people, since JavaScript itself has more convenient functions (fetch for example), but they are all silent about them for some reason. All chapters on ES below sixth and IE below eighth you can skip (ES6-, IE8-) .
Editor
There are a lot of editors for JavaScript and for web development in general, but for beginners I recommend Visual Studio Code with the Live Server plugin. It allows you to run your server to verify your code. You can also use the Beautify plugin, it will make the editor more beautiful.
Many professionals use JetBrains WebStorm , but I think it's too early for you ...
Books
After you read all the chapters in this tutorial, I can advise You Dont Know JavaScript .
Php
Now that you know the frontend development, it’s worth trying the backend. PHP is very simple language. Personally, I have already written on a 3 day simple, but interesting site. You may like this language because it is light.
Here I recommend watching Gosha Dudar's playlist " Learn PHP, as well as MySQL ." Here the author also touches the subject of MySQL. MySQL is a database. Knowing how to work with it is very useful, so do not miss this topic!
Editor
As an editor, you can also use Visual Studio Code , but here the Live Server will not work anymore. You need Apache. I suggest using the XAMPP program. It is simple and convenient.
Also try the editor JetBrains PHPStorm
Python
Now try yourself in server programming. In Python, you can also make websites, but the possibilities here are much more. I recommend teaching it because it is now a popular language, it has a lot of libraries and in general a lot of people who program it. It will be easy for you to learn python, many tutorials and articles on various topics have been made.
For study, I also recommend the Gosha Dudar course " Python programming / Lessons for beginners ". I myself learned python precisely in this course, even though I am writing a little on it (purely because of tastes).
Editor
You can try the standard Python editor (when I started I wrote it there), but I recommend using JetBrains PyCharm .
Books
I can advise only " Automation of routine tasks using Python: a practical guide for beginners ." Others did not read.
Java
Its purpose is the same as Python, but the syntax styles are different. I will say right away that this is a difficult language, but if something will not work out for you or you will not understand, you should know that this is normal. Most likely this knowledge you still catch up.
Even though I said that the program is completely free, I can not help but advise the JavaRush course. His idea is that the newly acquired knowledge is consolidated by practice and helps to remember the topic. Know that programmers don't bother anything, everything is remembered by practice.
And yet if you are totally against giving your money, you can also try Gosha Dudar's course (we have something too much in our program) " Java programming / Java lessons for beginners ".
Editor
Definitely JetBrains IntelliJ IDEA . This is the BEST code editor that exists now, I recommend it only!
Books
Very interesting book " Learning Java ." I recommend reading.
C ++
If you are interested in doing desktop applications (like this browser for example) or games, you should learn this particular language.
I recommend Gosha Dudar's course " C ++ Programming / C ++ Lessons ", and then at will. If you want to write games, I recommend learning the Unreal Engine or Unity engine.
Code editor
There is no doubt Visual Studio (not Code!). It is as convenient as IntelliJ IDEA for Java.
More about books
There are two very interesting books. They do not concern a specific programming language, but speak about programming as a whole. Very interesting and helpful.
Resources from which information is taken:
www.google.com - yes yes, it is Google. Programmers are very important to use search engines. Most of your problems have already been solved on the Internet and no one forbids you to spy on the answer. Are kindly requested - read the code before that would copy-paste. Think about why this solution works.
ru.stackoverflow.com - forums for programmers are also useful. If you can not find the answer in Google - please contact here. You can also use the English version.
tproger.ru/translations/frontend-backend-interaction