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

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

Главный предмет споров программистов

Если открыть любой программистский форум, самыми популярными будут темы в духе «Что лучше: Python или PHP?» Или «Какой язык учить сейчас, чтобы быть востребованным через 10 лет?» Вот наш ответ на этот вопрос: 

❤️ Языки программирования — это инструменты. Не бывает хороших и плохих языков, бывает уместно и неуместно применённый инструмент. 

Теперь немного раскроем. 

Веб, приложения, железо или что-то ещё?

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

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

Языки и технологии для веба

Веб — это всё, что вы видите в интернете: сайты, приложения в браузере и бэкенд, который это обслуживает. Здесь используют: 

  • Язык разметки HTML — чтобы структурировать страницы в браузере.
  • Язык оформления CSS — чтобы страница или интерфейс выглядели как надо.
  • Язык препроцессоров CSS — когда нужно очень много CSS-кода, правил и стилей.
  • Язык скриптов JavaScript — чтобы интерфейс или приложение вели себя на клиенте как надо.
  • Язык и форматирование JS-фреймворков типа React и Angular — чтобы рисовать и программировать поведение сложных веб-приложений.
  • Языки бэкенда: PHP, Python, Ruby (из популярных) — чтобы обслуживать приложения и хранить пользовательские данные.
  • Языки бэкендовых фреймворков, например Django и Rails.
  • Язык запросов в базу данных: чаще всего MySQL, но есть и другие.

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

В отдельных вопросах есть спор типа «Что лучше: Python или PHP». Тут ответ такой: лучше то, чем вы будете пользоваться на работе. Например, если вы идёте обслуживать огромный океан сайтов на Вордпрессе, вам нужен PHP. Если вы будете обслуживать сайты и сервисы на Rails, вам нужно знать язык Ruby. Если сайты ваших клиентов или работодателей работают на Django, вам нужен Python. 

Как понять, на чём будут работать ваши клиенты и работодатели? Никак. Сегодня есть вакансии на одни технологии, завтра на другие, послезавтра на третьи, всё быстро меняется. Хорошая новость в том, что если вы знаете какой-то один язык, вы сможете довольно быстро начать работать и на других языках. 

Языки и технологии для приложений

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

Если вы самостоятельный разработчик, то выбор языка программирования приложений — вопрос личных предпочтений и выбранной операционной системы:

  • Популярные мультиплатформенные языки — Java, C++.
  • Для экосистемы Apple — Swift.
  • Для Windows и игр на Unity — C#.
  • Для Андроида — Kotlin.
  • Для приложений, где нужен доступ на низкий уровень железа — C.
  • Для настройки бухгалтерской программы «1С Предприятие» — язык программирования .

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

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

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

Языки программирования микроконтроллеров

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

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

  • Для программирования станков на заводе используют язык G-code, и для разных станков нужны разные команды
  • Универсальный язык программирования любых микросхем — Ассемблер. На нём можно писать код почти для любой платы, но нужно в совершенстве знать, как физически устроен каждый контроллер.
  • Иногда микроконтроллеры программируют на C, когда позволяет объём встроенной памяти.

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

Дата-сайенс, машинное обучение и аналитика

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

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

См. также: о карьере дата-сайентиста, о карьере аналитика, сервис для визуализации данных Tableau

Лучший язык для программиста — английский

Если вы знаете английский, вам доступна вся документация, все уроки, все онлайн-курсы и вся помощь мирового сообщества программистов. Зная английский и какой-то один язык программирования, вы легко освоите второй, третий и сколько угодно ещё. 

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

Рекламная интеграция

Сегодня в наш выпуск нативно интегрирован «Яндекс Практикум» — здесь обучают всему, что нужно в ИТ. В частности, из указанного в статье: 

Из не вошедшего в статью: Go, тестирование, управление проектами.

Ещё из важного: основы математики (бесплатно), алгоритмы, критическое мышление

Текст:

Михаил Полянин

Редактор:

Максим Ильяхов

Художник:

Даня Берковский

Корректор:

Ирина Михеева

Вёрстка:

Кирилл Климентьев

Соцсети:

Алина Грызлова

Это айти. Вот как сюда войти
Если вам близко то, о чём написано выше, у вас есть все шансы стать разработчиком, тестировщиком, дата-сайентистом или менеджером в сфере ИТ. Тут хорошо платят и приятная компания. Стоит хотя бы изучить вопрос.
Изучить вопрос
Это айти. Вот как сюда войти Это айти. Вот как сюда войти Это айти. Вот как сюда войти Это айти. Вот как сюда войти
Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
easy