Языки программирования обложка
Языки программирования обложка

Какие языки программирования учить в 2024 (для начинающих)

проверено экспертом Дмитрий Петров 19 комментариев
Наша редакция подготовила исчерпывающее руководство по языкам программирования в 2024 году. В статье ответим на такие вопросы:

  • что выбрать в первую очередь — язык программирования или специализацию;
  • что нужно еще знать кроме языка программирования, чтобы зарабатывать в профессии;
  • как обеспечить себе легкий старт в изучении языка программирования и быстрые результаты.

Перейдем к чтению и начнем с содержания:
Аватар пользователя Екатерина Соломянова-Кирильчук
Автор, редактор videoinfographica, старший маркетинг-специалист

Содержание:



Как выбирают
язык программирования?


Список востребованных языков программирования не меняется уже лет 20. Тот же С, который был изобретен в 1972 году в 2019 стал лидером согласно индексу TIOBE. Но смотреть на индексы, когда выбираете язык программирования для изучения – не самая лучшая стратегия. Вы рискуете так и не стать программистом, потому что на каком-то этапе может стать понятно, что это не ваше.

Некоторые пытаются оценить сам язык с позиции синтаксиса и удобства. Но для человека, который только выбирает язык программирования для изучения, будет бесполезной информация о том, что в Python применяется динамические ограничения видимости.

Важный критерий – скорость изучения. Самые интуитивно понятные языки: Python и JavaScript. Но они могут подойти не для любой задачи.

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


quote1
Чтобы стать лучшим, нужно любить свою работу. Поэтому наша редакция настоятельно рекомендует: выбирайте не язык программирования, а сферу, в которой вы в будущем хотите работать.


Совет редакции


 

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

Смотрите инфографику ниже. Она поможет с выбором:

Инфографика. Какой язык программирования выбрать
Инфографика «Какой язык программирования начать изучать первым». Creative Commons лицензия (можете свободно брать и использовать картинку на любом сайте с обязательной активной ссылкой на эту статью).

Чтобы выбрать язык программирования, определитесь, какие задачи вы хотите решать, а с чем точно не захотите связываться. Оцените, какие дополнительные навыки потребуются, какие личностные черты важны.

Если вы не хотите работать с визуальным компонентом, вам точно не подойдет Frontend, мобильная разработка. Если вы пойдете в одну из этих сфер, то вам придется работать с графическими редакторами, с дизайнерами которые будут настаивать практически попиксельному соответствию макету. Но у вас будет возможность показать результат роботы в виде веб-страницы или приложения которые будут понятны человеку который далёк от программирования.

Если все же хочется работать с вебом, но без соприкосновения с графикой, то ваш путь в Backend разработку. Дополнительные навыки здесь – администрирование серверов на Linux, организация и работа с базами данных.

  • Больше тяготеете к администрированию – DevOps.
  • Если хочется делать работу «под-ключ» — мобильная разработка.
  • Любите паять, работать с железом – embedded программист.
  • Нравится выискивать чужие ошибки, склонны к перфекционизму – automation QA engineer.
  • Хотите избежать сложной математики исключите – data science, game dev. Лучше веб, мобильная разработка

Определились с профессией? Теперь давайте выберем, какой язык изучать.


 

Виды направлений
и языков программирования


В мире насчитывается по разным источникам до 25 000 языков. Но наиболее востребованными остаются 15-20: Java, JavaScript, Python, PHP, С, С++, С# и другие.

Устоялись и сферы их применения. С и С++ используется для ресурсоемких технологий или решения задач на устройствах с маленькой производительностью: авто, банкоматы.

PHP и JavaScript – для создания сайтов.

Когда вы изучили один язык, следующий будет выучить проще. Поэтому, если вы еще до конца не определились, чем именно хотите заниматься, начните изучать один из популярных языков Python или JavaScript.

В то же время, распыляться не стоит, лучше углублять свои знания, чтобы стать программистом высокого класса. Настоятельно рекомендуем не менять язык во время изучения. Вы должны овладеть хотя бы одним языком программирования на достаточном уровне.



 

Backend разработка


Чем занимается backend разработчик?

Разрабатывает «невидимую», серверную часть веб-приложений: сайтов, многопользовательских онлайн игр, мобильного банкинга и других продуктов сфер, в которых данные приложения обрабатываются на удаленной машине, а не на устройстве пользователя.

Бекенд разработчик отвечает за развертывание сервера, создание/доработку движка сайта, занесение информации в базы данных и извлечение ее оттуда.

Он программирует логику работы алгоритмов выдачи в социальных сетях, порядок прохождения курса на учебных платформах, списание-начисление средств в системах лояльности и подобные задачи.

Backend разработка глазами редакции
Backend разработка


Какие языки программирования используют в backend?

Backend developer должен знать один или несколько серверных языков. Какой именно — зависит от назначения сервера. Если это типичный веб, то подойдет PHP, Python. Для RPG игр подойдет производительный С++.

Java для сайтов с большими базами данных и сложными задачами, аналогичных Uber или Airbnb. Чтобы разработка шла быстро пригодятся знания фреймворков: например, Django для Python, Laravel для PHP.


Разработчику потребуются навыки настройки Nginx или Apache, если нужно будет развернуть веб-сервер. Обязательны навыки работы с базами данных MySql, PostgreSQL, MongoDB и языками запросов. Обратите внимание на рекомендации по обучению и курсы SQL.

Работа с API: Rest, JSON. Это нужно для работы с интеграциями с разного рода внешними сервисами и обработкой запросов от фронтенда. В must have список знаний бекендера с квалификацией выше среднего добавляется инструменты для автоматизации развёртывания, контейнеризации например Docker.

JavaScript, понадобиться, чтобы помочь на клиентской стороне. Для этого же будет полезно понимать логику работы HTML/CSS технологий.

Для любого программиста обязательно знать и уметь обращаться с системами контроля версий. Например Git.

Хотите узнать больше о буднях бекендеров, технологиях и требованиях:
послушайте подкаст от Redmadrobot.
почитайте типичный день backend developerа.


 

Frontend разработка


Чем занимается frontend разработчик?

Его деятельность находится на пересечении верстки, UX/UI проектирования, дизайна, программирования. Frontend разработчик превращает картинку в работающий сайт, верстает, программирует логику взаимодействия пользователя с сайтом, интерактивные элементы, слайдеры и т.п.

Он отвечает за кросс-браузерное отображение сайта, адаптивность, работу калькуляторов, отправку форм, скорость загрузки страниц на машине пользователя.

Нюансы направления:

  • близко связано с визуальной составляющей, поэтому подойдет для тех, у кого развито чувство прекрасного;
  • решаемые задачи однотипны, поскольку работа большинства сайтов похожа;
  • технологии разработки быстро развиваются, нужно успевать изучать новое.
  • часто тесно общается с веб-дизайнерами.

Читайте интервью «Как оно, работать Frontend разработчиком

Карикатурное изображение frontend разработчиков
Frontend разработка


Какие языки программирования, технологии в frontend?

Frontend developer в 2020 должен знать CSS3, HTML5, JavaScript. Чтобы применить эти знания нужно разбираться в: принципах работы браузера, DOM архитектуре, спецификациях и требованиях, например, W3C, БЭМ.

Фронтенд разработчик использует фреймворки и библиотеки: React, Vue.js, AngularJS, Bootstrap, jQuery. Репроцессоры: LESS, SASS.

Чтобы упростить разработку и минимизировать рутины, пользуется системами сборки типа WebPack, Gulp. Знаком с работой инструментария для контроля версий, чтобы обеспечить стабильность проекта.

Также понадобятся минимальные знания графических редакторов, навыки работы с базами данных и понимание принципов работы backend. Еще нужно разбираться в популярных системах управления контентом: WordPress, OpenCart и т.п.

Смотрите так же список лучших онлайн курсов программирования.


 

Мобильная разработка


Чем занимается мобильный разработчик iOS и Android?

Мобильный разработчик создает приложения для телефонов, планшетов и устройств на их основе. Это могут быть небольшие программы, типа калькулятора, игры или более серьезные приложения для обычных пользователей, например, подсчет финансов. А могут быть программы научного или медицинского назначения. Например, для отслеживания миграции птиц, регистрации сейсмической активности, сбор и передача жизненных показателей от пациента.

Кроме непосредственного написания интерфейса приложения, мобильный разработчик отвечает за разработку его внутренней логики, тестирование.

Также в задачу может входить отрисовка отдельных элементов, написание технической документации, оптимизация производительности и ресурсоемкости приложения.

Карикатурное изображение мобильных разработчиков
Мобильная разработка

 
Какие языки программирования используют в iOS разработке?

Чтобы начать путь mobile application developer необходимо освоить хотя бы один язык и среду разработки под него. Создавать мобильные приложения можно практически на любом языке. Но Apple рекомендует для своих приложений Swift, хотя Objective-C тоже подойдет. Среда разработки для Swift: Xcode или AppCode. Чтобы упростить и ускорить разработку стоит познакомиться с несколькими фреймворками.

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

Чтобы сложить окончательно впечатление, прочтите рассказ iOS разработчика о пути в профессию.

проверяйте так же отзывы об университете Скилбокс перед покупкой курсов.


А какие в Android?

Разработчики Android используют среду Android Studio, которая поставляется в пакете Android SDK. В качестве официальных языков используются Java и Kotlin, но на других тоже можно писать приложения под андроид. Чтобы начать работу, стоит ознакомиться с гайдом от Google.

Для хранения и воспроизведения данных нужны знания о базах данных. Чтобы связываться с удаленным сервером – библиотека RxJava, Retrofit для работы с Rest-API.

Сертификат разработчика от Google станет плюсом при трудоустройстве. Детальнее, как его получить, описано в статье.

Что выбрать iOS или Android?

Доля Android по данным IDC Smart существенно выше, чем iOS – 85% против 15%, и продолжит расти. При этом аудитория Apple более платежеспособная.

На рынке востребованы оба направления, поэтому выбирайте, то что нравится лично вам: если вы фанат яблочной продукции, не стоит тратить время на более распространенный по всему миру Android.


 

Разработка игр


Чем занимается программист в Game Dev?

Разрабатывает игры для различных устройств: ПК, консолей, мобильных устройств, браузерные игры. Чем масштабнее задача, тем чаще можно столкнуться с разделением функций.

Одни геймдев девелоперы создают архитектуру игры, другие программируют уровни, третьи отвечают за анимацию и др.

Примеры более конкретных задач, которые решает Game Dev:

  • как будет взаимодействовать окружение;
  • как будет сохраняться игра;
  • как будут обрабатываться объекты в игре;
  • что будет происходить после того, как герой скажет реплику.

Кроме игр к Game Dev относится создание объектов виртуальной (VR) и дополненной (AR) реальности.

Карикатурное изображение разработчиков игр
Разработка игр


Какие языки программирования используют в Game Dev?

Game Developer разбирается в объектно-ориентированном программировании, понимает принципы 3D моделирования, хорошо знает С++ или С#. Работает на игровом движке Unreal Engine или Unity.

Нужно не только уметь кодить на С++ или С#, но и понимать специфику программирования на конкретном языке в привязке к движку. Каждый программист выбирает среду разработки, удобную для себя, например, MS Visual Studio.

Отметим, что для разработчика игр важно знать линейную алгебру, теорию вероятностей, разбираться в тригонометрии. Математика лежит в основе программирования передвижений, физических параметров объектов и т.д. Как и программистам других отраслей — нужно уметь работать с системой контроля версий, например, SVN или Git. Знание алгоритмов будет плюсом.

Web или GameDev

Смотрите наше руководство: программирование для детей


 

Разработка desktop
приложений


Чем занимается программист desktop приложений?

Десктоп программист разрабатывает приложения для компьютера на операционной системе Windows, macOS, Linux. Это и служебные приложения, такие как браузеры, редакторы текста/видео/аудио, среды разработки. Это и программы для сложных математических расчетов, CRM системы и др.

Кроме разработки, Desktop программист может дорабатывать существующие решения с открытым кодом.

Карикатурное изображение разработчиков desktope приложений
Разработка desktop приложений


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

Программировать приложения можно практически на любом языке. Зависит от архитектуры, функций и требований к приложению.

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

Java проще, но требует больше ресурсов от железа, но значительно упрощает процесс портирования на другую платформу, плюс многопоточные приложения в некоторых случаях могут работать эффективней.

Еще один востребованный вариант – Python. Относительно прост и подходит для небольших и кроссплатформенных приложений.

Поэтому, нужно взвешивать, что важнее: скорость реализации проекта или итоговая производительность. А еще нужно учитывать для какой платформы ведется разработка. Например, если это macOS, то лучше использовать Swift и Objective-C. Конечно, Desktop программист умеет работать со средой разработки, базами данных, баг-трекерами и системами контроля версий.

Есть ли жизнь в десктопе?

 

Data Science разработка


Чем занимается программист data science?

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

Примеры реализации этих задач:

  • алгоритмы поиска;
  • системы рекомендаций;
  • прогнозы погоды;
  • предсказание изменения курса;
  • сбор и анализ данных сна.
Карикатурное изображение Data Science разработчиков
Data Science разработка


Какие языки и технологии использует?

Data Scientist понимает принципы математической статистики, знаком с методами машинного обучения, deep learning. Понимает, как работают базы данных, умеет записывать и извлекать информацию. Языки, используемые в анализе Big Data – Python, R, SAS.

R – язык, который часто используется в науке для статистического анализа и визуализации данных исследований.

В Python есть библиотеки для машинного обучения Scikit-learn и анализа данных Pandas.

SAS менее производителен, чем R, плюс не востребован в РФ, но хорош для аналитических и прогностических задач.

Более детальное сравнение этих трех языков для целей Data Science в статье.


Все о Data Science

 

Embed разработчик


Чем занимается?

Embedded-разработка лежит на стыке инженерии и программирования, то есть предполагает работу и с кодом, и с железом. Embedded Developer пишет ПО, которое помогает работать телевизорам, квадрокоптерам, предметам умного дома, медицинскому оборудованию и даже IQOS.

Для этого он:

  • продумывает логику работы готового продукта;
  • выбирает алгоритмы решения задач в соответствии с возможностями аппаратной платформы и функциями, которые должен в итоге выполнять программируемый агрегат;
  • программирует чипы и микроконтроллеры, по сути «оживляет» железо;
  • тестирует написанный код и ответ на него программируемого устройства, ищет ошибки.
Карикатурное изображение Embed разработчика
Embed разработчик

 
Какие языки программирования и технологии использует?

Embedded Developer хорошо знает физику и электронику, программирует на С или С++. Инженер встроенного ПО знает язык ассемблера и разбирается в электронных схемах, микроконтроллерах, микропроцессорах.

Он знаком с методами встроенного программирования, цифровой безопасности, моделях передачи данных между устройствами. Умеет управлять конфигурацией программного обеспечения на основе систем контроля версий. Иногда не лишним будет умение паять и создавать компоненты железа самостоятельно.

Интервью с Embedded разработчиком

Automation QA программист


Чем занимается такой разработчик?

Профессия на стыке программирования и тестирования. Automation QA engineer продумывает логику автоматизированных тестов для ПО и посредством программирования реализовывает ее на практике. То есть, пишет программы, которые будут искать баги в других программах, сайтах, выполнять нагрузочные, интеграционные тесты и т.п.

Для этого программист разрабатывает сценарии, описывает тест-кейсы, создает фреймворки, обеспечивает интеграцию тестов с сервисами автоматического запуска.

Карикатурное изображение Automotion QA разработчиков
Automation QA инженеры


Какие языки программирования и технологии использует Automotion QA?

Java – один из самых популярных языков для Automation QA. Но используется и Python, JavaScript и другие языки.

ООП Специалисту, который планирует работать с вебом, важно учить язык в связке с инструментами для автоматизации действий браузера, таких как Selenium WebDriver, например.

Знает несколько unit frameworks для быстрого создания модульных тестов, умеет работать с базами данных. Но прежде всего, Automation QA engineer понимает теорию тестирования, умеет проводить его вручную.

Больше о QA Automation

DevOps программист


Чем занимается программист в DevOps?

DevOps engineer – это специалист, который объединяет работу программистов, создающих продукт, тестировщиков, команды интеграции продукта и защищает от перебрасывания ответственности за работающий готовый продукт между ними.

DevOps в целом – это методология, которая позволяет сделать разработку и внедрение ПО максимально быстрой, эффективной и безопасной.

Для этого DevOps engineer:

  • разворачивает программу на сервере;
  • организовывает среду разработки и тестирования ПО;
  • стандартизирует окружение разработки;
  • контролирует работоспособность инструментов разработки;
  • автоматизирует процессы и создает своеобразный конвейер продакшена.
Карикатурное изображение процессов в Dev Ops программировании
Dev Ops программист


Какие языки программирования и технологии использует?

В качестве языка программирования чаще используется Python. Он довольно простой в изучении и подходит для требований автоматизации и управления инфраструктурой. Если принципиально он вам не подходит, можно изучить Go или Ruby.

Также DevOps engineer знает:

  • операционную систему, чаще Linux;
  • один или несколько инструментов для управления конфигурацией например Puppet, Chef, Ansible;
  • Docker + облачный сервис для оркестрации контейнеров, например, Amazon Web Services или Kubernetes;
  • системы контроля версий и управления конфигурациями.

Узнайте больше о жизни DevOps программиста из первых уст.


Программист 1с


Чем занимается?

1С программист занимается автоматизацией бизнес-процессов. На практике это включает в себя:

  • установку и обслуживание программы семейства 1С;
  • доработку ее под нужды конкретного бизнеса, например, сделать новый аналитический отчет или печатную форму;
  • обучение пользоваться 1С бухгалтеров, кладовщиков и т.п;
  • разработку логики и программную реализацию конкретной бизнес-функции, например, организовать рассылку постоянным клиентам или запланировать закупку на основании аналитики продаж предыдущих периодов.
Карикатурное изображение 1с программистов
Программисты 1с


Какие языки программирования и технологии использует?

На территории бывшего СНГ 1С является самым распространенным пакетом программ для бухгалтерского, налогового и управленческого учета. У этих программ собственный язык и среда разработки.

Кроме языка программирования программист 1С знает умеет работать с базами данных, владеет основами настройки работы принтеров, компьютеров. Обязательно разбираться в азах бухучета и бизнес процессов.

Сам 1С написан на C++. Компанию часто ругают за внутренний проприетарный язык. Но отметим, что зарубежный конкурент 1С, SAP, также реализован на внутреннем языке ABAP/4.

Больше о программировании 1С читайте в нашей статье.


 

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


  1. Шаг 1 (Выберите сферу)

    Напомним. Определитесь, чем вы хотите заниматься. В рамках этого выберите язык, который вам ближе.

  2. Шаг 2 (Начните изучать)

    Учите синтаксис, читайте гайдланы. Это можно делать самостоятельно по учебникам, видеоурокам. Если тяжело с самоорганизацией – проходите онлайн курсы

  3. Шаг 3 (Пишите код)

    Теоретическое изучение не даст толку. Воспроизводите то, о чем читаете в книге. Разбирайте примеры чужого кода, но не копируйте: вдохновляйтесь и воспроизводите по-своему. Разберитесь с алгоритмами.

  4. Шаг 4 (Найдите работу)

    Обучение от проблемы самое эффективное. Это когда вы решаете конкретную коммерческую задачу. Поэтому ищите заказы или идите на работу. В компаниях нередко есть вакансии trainee или интерна.

  5. Шаг 5 (Поддерживайте навыки)

    Общайтесь в сообществах профессионалов. Изучите фреймворк под вашу специализацию. Следите за обновлениями в вашей сфере и продолжайте углублять навыки.


Рейтинг и статистика
по языкам программирования

В статьях о выборе лучшего языка программирования часто упоминают индекс TIOBE. Пятерка по состоянию на ноябрь 2020 выглядит следующим образом:

  1. С
  2. Python
  3. Java
  4. C++
  5. C#

Отметим, что это не самый корректный критерий для определения востребованности языков программирования. Он рассчитывается на основе частоты, с которой встречается название языка в поисковых запросах наиболее авторитетных сайтов, типа Google, Wikipedia, Amazon  и др. Понятно, что он отображает определенные тренды в мире, но подвергается критике за то, что может быть накручен и не отображает полезность.

Другой известный индекс PYPL

  1. Python
  2. Java
  3. JavaScript
  4. C#
  5. PHP

Эта методология строится на количестве запросов туториалов того или иного языка и, конечно, критикуется не меньше, чем TIOBE.

Обратимся к рейтингу GitHub

  1. JavaScript
  2. Python
  3. Java
  4. Go
  5. TypeScript

Сравним оплату труда. По данным glassdor.com разработчики, программирующие на конкретном языке, получают:

Программист на языкеСреднегодовая заработная плата
Python$76 526
C#$76 526
Java$79 137
Swift$76 526
PHP$81 872
Ruby$76 526
SQL$81 622

На портале payscale.com можно проанализировать среднюю оплату труда для соискателей обладающих знаниями того или иного языка не зависимо от должности:

Знания языкаСреднегодовая заработная плата
Python$91 289
C, C++$90 176
Java$91 094
Kotlin$98 348
PHP$70 476
SQL$97 098

Если нас интересует рейтинг по специализациям, обратимся к Stack Overflow

  1. Back-end разработчик
  2. Full-stack разработчик
  3. Front-end разработчик
  4. Desktop программисты и программисты приложений для предприятий;
  5. Мобильные разработчики
  6. DevOps специалисты

Языки программирования распределились следующим образом:

  1. JavaScript
  2. HTML / CSS
  3. SQL
  4. Python
  5. Java

 


Часто задаваемые вопросы


Что такое языки программирования?

Компьютер понимает двоичный код (0 и 1), а не человеческий язык. Чтобы объяснить ему, что именно нужно делать на аппаратном уровне, какой транзистор включить, а какой выключить – существует набор правил. Этот набор правил и есть высокоуровневый язык программирования. Он позволяет перевести с человеческого на машинный четкие инструкции, выполнение которых приведет к решению поставленной задачи.

Сколько времени нужно уделять изучению языка программирования?

Выучить синтаксис можно за пару недель, но это не означает научиться программировать. Чтобы писать сайты, создавать приложения – нужно 6-12 месяцев с нуля до уровня Junior, считает Даниил Пилипенко из Skillbox. А Яндекс Практикум говорит о том, что программирование на Python можно освоить за 9 месяцев обучения тратя по 15 часов в неделю. На наш взгляд, это адекватные цифры.

Чтобы перейти с уровня Junior на Middle потребуется 1-2 года, достижения следующего уровня, Senior, потребует 2-3 года. Если вы планируете тратить на изучение меньше часа в день, то, вероятно, не стоит браться за эту задачу.

Можно ли выучить язык программирования самостоятельно?

Можно. Сейчас есть много бесплатных лекций, самоучителей, интерактивных сервисов. Тернистый путь и не для всех. Потребуется упорство, самоорганизация. Вы можете столкнуться с тем, что нужна подсказка, а попросить ее не у кого. Вот несколько примеров тех, кто учился сам: первый, второй.

Для максимально быстрого вхождения в профессию лучше найти наставника или пойти на курсы с домашними заданиями и обратной связью.

Что нужно чтобы начать изучать язык программирования?

Компьютер или ноутбук с установленной на нем средой разработки. Книга или видео-уроки, по которым вы будете изучать язык программирования. Много упорства и терпения. А вот математика не обязательна. Для веба, мобильной разработки, администрирования – она не понадобится. И даже для тех специализаций, где важно знать математику на начальном этапе освоения языка программирования, можно обойтись без нее. 


Как стать джуном?

Уверенное знание теории – обязательно. Нужен ли практически опыт, или получится устроиться без него – зависит от требований к позиции Junior’а в конкретной компании.

Как скоро вы сможете претендовать на эту позицию зависит от вашего бэкграунда. Если вы уже программист, но хотите сменить направление, при упорном подходе за пару недель вы освоите стандарты нового языка. Если вы работали в IT сфере системным администратором или тестировщиком, то обучение займет 2-3 месяца. Для обучения с нуля 6-18 месяцев.

Реклама. Информация о рекламодателе по ссылкам в статье.

Аватар пользователя Екатерина Соломянова-Кирильчук
Екатерина Соломянова-Кирильчук

Автор, редактор videoinfographica, старший маркетинг-специалист

  1. Аватар пользователя Артур Корнеев
    Артур Корнеев says:

    Насколько я понимаю, можно изучить несколько языков программирования и работать с ними? К примеру если хочешь создавать прилы для андроид и ios?

    1. Avatar
      Артём Гром says:

      Артур для приложений на Android — одни языки, для IOs —другие. Для начала — сконцентрируйте свое внимание на одном языке, как освоитесь — смело учите другие. В инфографике на этой странице мы указали основные языки на этих платформах.

  2. Аватар пользователя Людмила Дудинская
    Людмила Дудинская says:

    Очень интересная статья. Программирование в наши дни очень востребованная сфера деятельности. Знаю мужчину, который в 45 лет решил научится программированию и сейчас реализовал себя как хороший разработчик андроид-приложений. Ещё мне кажется будущее за виртуальной реальностью. Как Думаете, какой движок для обучения выбирать, чтобы в дальнейшем реализовать себя в сфере VR?

    1. Avatar
      Артём Гром says:

      С VR хайп нормально так поутих и будущее весьма туманно у данной технологии. Изучайте Unreal Engine или Unity. Эти знания будут востребованы не только в VR.

  3. Аватар пользователя Abuabdulaziz Farxodzoda
    Abuabdulaziz Farxodzoda says:

    Здравствуйте!! Спасибо за отличную статью!!! Мне по душе мобильная разработка… Я хотел спросить а как на счет кросплатформенного… Я про Flutter и языка Dart?
    Ps: Я немного начал Java… Но наткнулся на иныу про Flutter…

    1. Avatar
      Артём Гром says:

      Приветы!

      Если у тебя самые серьезные намерения — учи конечно. Язык набирает популярность. Растет в рейтинге на Github. Позволяет разрабатывать приложения для андроид и айос. Обещают, что можно будет и для десктопа писать. Возможно гугл переключит разработку с Java, Kotlin на Dart/Flutter. Вакансии периодически появляются так же, как и проекты на фрилансе. Так, что только в путь.

  4. Аватар пользователя Ройз
    Ройз says:

    Очень крутая статься, спасибо вам большое ))
    очень круто, что есть такие люди )

  5. Аватар пользователя Как Дела
    Как Дела says:

    Зашёл сюда, дабы узнать какой язык выбрать для лёгкого изучения. Java или Python,но первая же картинка дала ответ)

  6. Аватар пользователя Игорь Петрухин
    Игорь Петрухин says:

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

  7. Аватар пользователя dmi336
    dmi336 says:

    Помогите, пожалуйста, определиться. Мне интересен фронтенд и java-разработка. Я немного изучал вёрстку, сделал пару страниц. В java мне нравится стабильность, высокие зарплаты при работе в офисе. Но сейчас я узнал, что фронтендеры на фрилансе зарабатывают намного больше — некоторые по 100$ в час. Помогите определиться, чтобы не разочароваться в дальнейшем из-за упущенных возможностей.

    1. Avatar
      Артём Гром says:

      Выбирайте, то что вам не надоест делать спустя 1-2-3-4 года работы.

  8. Аватар пользователя Azim Kenzh_
    Azim Kenzh_ says:

    Здравствуйте! Спасибо за отличную статью!
    Вот я знаю Python(junior), но не могу определиться стать разработчиком или data since???

    1. Avatar
      Артём Гром says:

      Приветы, Azim.

      Получают они примерно одинаково.
      Разработчику будет легче найти работу.
      Data Science, если с математикой отлично дружишь.
      Еще на ютубчике достаточно информативных видео, которые помогут определиться. 🙂

  9. Аватар пользователя Priz Rak-K
    Priz Rak-K says:

    ПРОЧЕЛ И ПОНЯЛ СТЕПЕНЬ ОТВОДА РЕШЕНИЕ ОДНО ВЫУЧИТЬ ВСЕ И ЕЩЕ НЕМНОГО БОЛЬШЕ ЧЕМ ВСЕ ЧТО ЕЩЕ МОЖНО ПОМЕСТИТЬ

  10. Avatar
    Александр Алиэн says:

    Привет. Я очень давно собираюсь изучить python, мне нравится эстетика этого языка. На нём приятно писать.
    Однако я не знаю в какую из трёх областей податься.

    В мобильные приложения? (если у ты можешь сделать мобильное приложение для своей задачи это всегда круто)
    В бэк энд? (но наверное найти работу проще в бэк энде в уже чужом проекте)
    Или во фронтэнд?

    Фронтэнд нравится мне меньше всего, так как я не люблю дизайнить, мне приятнее продумывать логику, чем внешний вид.

    Но мне хочется сделать проект веб приложения для хостела, в которой будет система бронирования номеров, взаимодействие с букингком и айрнби, а так же в идеале всё это должно работать с мобильным приложением, которое будет позволять делать бронирование и ещё одним приложением, которое будет электронным гидом клиентов хостела по туристическим местам.

    И получается, чтобы такой проект реализовать нужно иметь навыки фулстек разработчика +, например, котлин под андроид.

    Это очень много чего учить.

    С одной стороны разумнее учить Java Script + Node.js для таких задач + какой-то фреймфорк, который бы позволил писать мобильное приложение на JS.

    Но так давно хотелось выучить питон, что родилась идея выучить питон + джанго и попытаться зафронтэндить свой проект на питоне.

    Однако теперь после инфографики сомневаюсь.

    Насколько это извращение питонить не только в бэк энде, но и на фронтэнде и пытаться что-то делать в мобильной разработке?

    Стоит ли браться за столь разнообразную и масштабную задачу, как единоличное написание экосистемы хостела?

    Какая область всё же более перспективна с точки зрения фриланса и работы на себя бэкэнд разработка или мобильная разработка?

    Какая даст более стабильный доход?

    Есть ли с моими желаниями учить сперва python+джанго, а затем JavaScript и Kotlin или, лучше сразу выучить JavaScript и делать проект на нём?

    Но я же не хочу слишком завязываться с фронтэндом, мне бы всё же после реализации проекта хотелось сосредоточиться на бэкэнде или на мобильной разработке.

    1. Аватар пользователя Дмитрий Петров
      Дмитрий Петров says:

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

      Если вас интересует именно «как изучить поменьше языков программирования и сделать мобильное приложение», можно взять Java для бакенда и самого приложения, но в этом случае вы будете ограничены экосистемой Android.

      Со своей стороны могу сказать, что «выучить новый ЯП», если вы уже знаете 1-2 похожих (а кто бы что бы не говорил, но C++, Java, Python, JavaScript, Go, Swift с точки зрения именно языковых конструкций не так уж фундаментально различаются) несложно. Самое сложное и «непересекающееся» — это разобраться с инфраструктурой и фреймворками, предлагаемым каждым языком. Но здесь вполне себе работает принцип «снежного кома»: ранее накопленные знания помогут быстрее и эффективнее осваивать новые средства разработки.

      Так что выбирайте то, что вам нравится, а дальше нарабатывайте опыт и все у вас получится! Главное, чтобы это приносило удовольствие, иначе это будет так же сложно и безблагодарно, как, например, «вкатываться с нуля в квантовую механику»

  11. Аватар пользователя ZCT Darovsky
    ZCT Darovsky says:

    Здравствуйте, а стоит ли учить C++ в 2021/2022?

    1. Аватар пользователя Дмитрий Петров
      Дмитрий Петров says:

      Здравствуйте.

      Краткий ответ: «Скорее стоит, чем нет». Это связано с тем, что очень многое из того, что представлено в языке C++ (особенно в современном, начиная с C++11) в той или иной форме есть в прочих языках (лямбды, полиморфизм), а это облегчит овладение новыми технологиями, если таковая необходимость возникнет.

      Более развернутый вариант может не понравиться: «В зависимости от поставленных целей». Можно не прикасаться к плюсам и при этом творить востребованные вещи и получать за это конкурентную зарплату. И можно то же самое делать, используя C++. Тут могу посоветовать только отталкиваться от вашей ситуации: вакансии junior C++ developer могут отсутствовать в вашем регионе, или же уровень дохода не соответствовать ожиданию, или же начинать что-то делать надо уже сейчас, а погружение в плюсы «с нуля без какого-либо опыта» может быть слишком долгим — все весьма индивидуально.

      Удачи!

  12. Аватар пользователя Hallow
    Hallow says:

    Нда ответа на этот вопрос не получить, зачем мне нужен яп, а для всего кроме геймдева, создавать игры не хочу, для создания сайтов, настольных приложений, бд, ботовы, системного администрирования, в электронике… И нужен один яп и достаточно простой. Но такого нет… вот и задержусь на js…