Какой язык программирования учить первым?

  Юрий  | 

  Обновл. 16 Сен 2021  | 

 45906

 ǀ   19 

Одним из самых частых вопросов среди новичков является: «А с какого языка программирования следует начинать?». Но дело здесь не в том, с чего начинать, а в том, почему вы хотите начать? Если ради удовольствия, чего-то нового, без цели заработать, то выбирайте любой язык. Но в большинстве случаев программировать начинают именно с целью дальнейшего заработка. Тогда вопрос уже звучит более конкретно: «Какой язык программирования учить для дальнейшего материального обогащения?». Ответ есть, но он не универсальный для всех.

Давайте рассмотрим цифры. Средняя зарплата хорошего программиста в США около $100 000 – $200 000 в год, в Европе — около $55 000 – $100 000, в странах СНГ — около $20 000 – $40 000. Цифры меняются в зависимости от опыта программиста и языка программирования. Но если хорошо разбираешься в теме, то всегда будет возможность получить работу и в США, и в Европе, и в своей стране.

Популярные языки программирования

Java, C, C++, C#, Python, PHP, JavaScript, Ruby, Objective-C, Swift — одни из самых востребованных языков программирования уже на протяжении многих лет, но это не полный список всех языков, их есть намного больше. Рассмотрим сферы применения вышеуказанных языков программирования.

Python, Ruby, PHP Cерверная часть в создании сайтов и мобильных приложений. Python используют такие популярные сервисы, как YouTube, Instagram, DropBox. PHP используют: WordPress, Wikipedia, Facebook.
Objective-C, Swift Создание приложений под iOS.
HTML, CSS, JavaScript Клиентская часть в создании сайтов. Работают в связке: HTML является «каркасом» сайта, CSS — оформление/внешний вид, а JavaScript — интерактивность (анимация, эффекты). JavaScript также уже стал платформой для создания многих фреймворков.
Java Программирование под Android (Java). Также серверная часть сайтов. Java используется в Gmail, Minecraft, Android-приложениях.
C, C++, C# Используются в операционных системах (Windows, Linux) и при создании ресурсоемких программ/игр.

Примечание: HTML и CSS — это не языки программирования. HTML является языком гипертекстовой разметки, а CSS — это каскадные таблицы стилей. По сравнению с другими языками программирования, HTML и CSS являются первой ступенькой в веб-программировании, на изучение которых требуется в разы меньше времени и усилий.

И что из этого учить? Всё зависит от того, как вы хотите зарабатывать деньги. Плохие новости — учить что-то одно из списка не получится. Хорошие новости — не нужно учить всё и вся.

Если деньги не в приоритете, то можно начинать в таком порядке: HTML, CSS, JavaScript, Python. Также пригодятся навыки работы с базами данных — это MySQL.

Какие бывают программисты?


Backend (бэкенд) разработчик Серверная часть программирования. Языки: Python, Ruby, PHP, Java. Требуются навыки работы с базами данных — MySQL. Возможно потребуются навыки системного администрирования.
Frontend (фронтенд) разработчик Клиентская часть программирования. Языки: HTML, CSS, Javascript. Возможно потребуются знания основ web-дизайна.
Разработчик мобильных приложений Objective-C, Swift (iOS) или Java (Android). Кроме того, может потребоваться знание одного из серверных языков (из бэкенда).
3D-программирование, создание игр C, C++, OpenGL. Пригодится математика и, возможно, художественные навыки.
Высокоуровневый программист C, C++, Java.

Примечание: Стоит отметить, что JavaScript относится к обеим частям программирования, с его помощью можно также работать и с сервером.

В табличке вы встретили такие понятия, как клиентская и серверная части программирования. Что это такое? Сейчас разберемся. Любая веб-система состоит из двух частей: клиент и сервер.

Клиентская часть программирования (client-side) — это код, который выполняется браузером на стороне клиента (т.е. на вашей стороне). Сам по себе браузер умеет только отображать информацию, полученную откуда-то (от сервера). Он интерпретирует и выводит эти данные, используя HTML, CSS и JavaScript. Вы можете написать код на серверном языке PHP, браузер его поймет, но отображаться этот код не будет. Зайдите на любой сайт и нажмите CTRL+U — вы увидите только HTML, CSS и JavaScript, а PHP вы не увидите. Создание внешнего вида сайта, разных эффектов (стрелочки, анимация и пр.) — это и есть клиентская часть программирования.

Серверная часть программирования (server-side) — это код, который выполняется сервером. Например, внешний вид сайта — это клиентская часть (как мы уже разобрались), но когда вы совершаете на сайте действие: регистрируетесь, участвуете в опросе, пишете сообщение и пр., то вы отсылаете запрос серверу, он этот запрос обрабатывает и посылает клиенту (браузеру) ответ, который и выводится вам: поздравление, что вы зарегистрировались, результаты опроса или уведомление, что вы отправили сообщение. Умение обращаться с активными действиями пользователя или посетителя, обрабатывать полученную информацию — это и есть серверная часть программирования.

Конечно, есть люди, которые совмещают бэкенд и фронтенд программирование. Также сейчас очень популярно программировать под Android и iOS в связи с ростом мобильной части Интернета. Возможно, вы даже встретите людей, которые разбираются во всем этом. Но это люди с большим опытом и знаниями.

Для себя выберите одно направление и начинайте с малого. Не нужно сразу прыгать в самую глубину, изучите рынок вакансий, языков программирования. Тогда, выбрав что-то одно, найдите книги, уроки, видео, желательно наставника и начинайте свой путь!

Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (160 оценок, среднее: 4,83 из 5)
Загрузка...

Комментариев: 19

  1. Роботы:

    Хотел бы спросить,я хочу стать робототехником,изучаю c++.После c++ Какой яп мне дальше изучать?

  2. дима:

    Есть такая технология в вебе WebAssembly позволяющая использовать программы написанные на С++ совместно с Javascript,
    стандарт уже принят, так что изучайте и то и другое.

  3. Илья:

    Автор, спасибо за отличную статью, но ты не упомянул что Python также используется для нейронных сетей и исскуственого интелекта, а c# и javaScript для создания игр на движке unity

  4. Дима:

    Начинать надо полюбому с c++ или c чтобы научиться основам а потом выбирать направление, как я считаю программисту c++ необходимо ещё быть отличным математиком, хорошо знать физику.

    1. Илья:

      Я хоть и изучаю с++, считаю что у него очень сложный синтаксис для новичка, поэтому лучше начинать с более простых яп, типа python

    2. KaligayevX3:

      Поддерживаю, не понимаю, почему все пугают тем, что плюсы сложные? Считаю, первый язык должен учить нормально кодить и заставлять исправлять все ошибки. А то появляются потом ленивые питонщики, ничего не понимающие 1С-шники или те, кто пытаются на всём писать, как на js

  5. Дима:

    На практике оказалось что js сложнее в изучении чем с++

    1. александр:

      Мне гораздо легче даётся Rust, чем JS. JS ужасен имхо. Почему отвратительные технологии становятся стандартами, а лучшие умирают? Amiga мертва, Wintel'у хоть бы хны. И т.д.

  6. Юра:

    Я бы рекомендовал начинать с С. Это база с которой потом любой язык будет понятней. После С можно С++ или Java для понимания ООП

    1. Фото аватара Юрий:

      В этом тоже есть смысл, но ничего страшного не произойдёт, если начинать сразу с плюсов или Джавы.

      1. Игорь:

        Говорят лучше начать с С++,потом легче Java учится,правда или можно начинать с Java сразу?Если правда, то насколько хорошо надо знать С++?

        1. Фото аватара Юрий:

          Смотря какая цель перед вами стоит. Если получить работу Java-программиста, то смысла учить С++ перед Java — нет. Если учить для себя в качестве хобби, то да, есть такая теория, что лучше начинать с С/С++, но я Java не учил, поэтому ничего об этом сказать не могу.

  7. Rizo:

    Огромное Спасибо за Ваш чудесный сайт. За Ваши труды. Жаль Вы не мой наставник. Ценю людей, готовых делиться своими знаниями с другими людьми.

    1. Фото аватара Юрий:

      Пожалуйста. Пользуйтесь знаниями 🙂

  8. Николай:

    JavaScript уже стал платформоЙ

  9. Fish:

    С Новым Годом!

    У ваc редкая способность объяснять так легко и подробно.

    Огромное человеческое спасибо за подобный замечательный ресурс!

    Хочется, чтоб Всё что Вы себе загадали сбылось!

    Устойчивой Вам вершины в программировании и семейного счастья!

    С УВАЖЕНИЕМ.

    1. Фото аватара Юрий:

      Спасибо Вам за поздравления и за то, что читаете 🙂 Действительно приятно. Вас также с Новым Годом!

  10. RyanH:

    Какая разница какой язык учить? Главное выбрать сферу и чем хочешь заниматься. Там уже неважно

  11. yuri abele:

    Java должна сидеть в одной клетке с C,C++,C#,
    в вместе с .NET должен сидеть J2EE

Добавить комментарий

Ваш E-mail не будет опубликован. Обязательные поля помечены *