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

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

  • автор:

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

Задавшись таким вопросом, новички гуглят рейтинги популярности языков. Кажется логичным, однако большинство исследований о популярности того или иного языка строятся на основе выдачи поисковиков, соцсетей, сайтов с вакансиями и крупных сообществ разработчиков. То есть туда попадает и Google Search, и Twitter, и Reddit — довольно «грязная» выборка.

Чтобы увидеть реальную картину, стоит подумать: почему тот или иной язык внезапно набирает популярность? Иногда причина частого упоминания в интернете не имеет отношения к востребованности языка. Так, например, в ежегодном рейтинге языков программирования Института инженеров электротехники и электроники (IEEE) за 2020 год язык COBOL неожиданно занял 7-е место по популярности в Twitter. А произошло это потому, что в апреле 2020 года в самый разгар пандемии COBOL часто мелькал в новостях Twitter, когда губернатор Нью-Джерси Фил Мёрфи объявил, что штат отчаянно нуждается в добровольцах, обладающих навыками работы с COBOL. Это объявление вызвало много удивления. Оказалось, что американская система страхования была перегружена из-за всплеска заявок на пособие по безработице, что привело к задержке в обработке дел, так как было недостаточно программистов, знакомых с языком из эпохи динозавров. Это и стало причиной частого упоминания, но сам язык не стал популярнее среди разработчиков.

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

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

Тенденции среди топовых языков программирования

Уже упомянутый Институт инженеров электротехники и электроники снова напарсил в 2021 году показатели из восьми источников (CareerBuilder, GitHub, Google, Hacker News, IEEE, Reddit, Stack Overflow и Twitter) и собрал рейтинг из 55 языков. Тройка лидеров с прошлого года здесь не изменилась: это Python, Java и C. При этом С# опустился с 6-й строчки на 23-ю, а вот Ruby поднялся с 19-й на 11-ю.

Топ языков программирования 2021 по версии IEEE

В свою очередь Stack Overflow не парсил Google, а опросил разработчиков о том, какие языки они используют или/и хотят использовать. У них самый популярный — JavaScript. Что, в общем-то, тенденция уже лет десять.

Результаты опроса Stack Overflow о языках, используемых разработчиками в 2021 году

А вот компания Emsi Burning Glass собирает и анализирует только объявления о вакансиях. Результаты исследования, опубликованные в конце прошлого года, показали наиболее востребованные в 2021 году языки программирования с точки зрения работодателей США. Неожиданно обнаружилось доминирование языка SQL над сверхпопулярными и широко используемыми Python, Java и JavaScript. Исследователи объясняют, почему так много компаний требуют от айтишников знания SQL, тем, что он является основой работы с данными (SQL используют для управления реляционными базами данных и запросами к ним).

Примечательно, что калифорнийский университет Беркли опубликовал в конце 2020-го заметку «11 самых востребованных языков программирования в 2022 году», где спрогнозировал популярность языков, проанализировав тенденции 2020 и 2019 годов. В университете использовали особенный подход: «Мы обнаружили, что Rust, Python и Typescript возглавляли список самых популярных языков Stack Overflow в 2019 и 2020 годах с небольшими перестановками. Точно так же Python, JavaScript и Go оба года лидировали в тройке самых разыскиваемых списков Stack. Учитывая их распространённость в умах разработчиков, шансы на увеличение популярности этих пяти языков высоки, и поэтому их стоит включить в наш список. Однако место, которое мы определили для каждого языка, зависело от других факторов. Например, поскольку Python постоянно занимает пятёрку лучших в списках наиболее часто используемых, любимых и требуемых в Stack Overflow, мы решили поставить его выше, чем Rust, который, хотя и вышел на первую позицию в списке самых популярных в Stack Overflow, занимает 19-е место в списке общеупотребительных языков организации».

RedMonk, известная на ИТ-рынке аналитическая компания, анализирует языковые рейтинги из GitHub и Stack Overflow. В прошлом году она выложила отчёт, в котором показала, что вторым по популярности после JavaScript стал Python. Рост его популярности связывают с пластичностью применения: Python используется в огромном количестве областей и способен справляться с различными задачами, включая набирающее популярность машинное обучение (мы считаем, что причина возросшей популярности Python именно в его использовании в ML). Языки C# и C++ в 2020-м шли только после PHP, занявшего 4-е место рейтинга. Go и Kotlin попали во вторую десятку. В позапрошлом и прошлом годах заголовки Cnews пестрили Python, предрекая его безоговорочное лидерство. Пока, наконец, в октябре 2021 он не выдал эмоциональную заметку с заголовком «У языков программирования революция. Сменился самый популярный язык в мире».

Ежемесячный индекс Tiobe сообщил в январе 2022: «Python получил престижную награду TIOBE Programming Language of the Year. Поздравляем! Это уже второй раз подряд. Награда присуждается языку программирования, получившему наибольший прирост рейтингов за один год. C# был на пути к тому, чтобы впервые в истории получить титул, но Python превзошёл C# в прошлом месяце». Но ведь они тоже анализируют поисковую выдачу Google.

Индекс Tiobe январь 2022

Компания CodingNomads составила свой рейтинг на основе объявлений о вакансиях и заработной платы из LinkedIn в США и Европе. У неё тоже Python выбился вперёд.

Рейтинг CodingNomads

Так что же учить?

Получается, что радикальных изменений в топе языков в принципе нет. Да, Python сегодня лидирует, чего не было много лет, но революцией это назвать сложно — он ведь и был в топах, а не ворвался внезапно в чарты и сразу всех покорил. Давайте тогда посмотрим на самые популярные сегодня языки программирования чуть пристальней. Должны же мы знать, что советовать детям друзей, когда на вопрос при встрече «кем хочешь работать?» они отвечают «программистом». В каждом популярном языке мы укажем: его описание, назначение, особенности, порог вхождения (необходимое количество усилий для освоения языка до такого уровня, чтобы найти работу) и мнения программистов о его популярности. Это языки: Python, Java, JavaScript, C, C++, C#, SQL/NoSQL. Мы считаем, что желательно выучить основы программирования на большинстве из них, чтобы не остаться за бортом современных требований работодателей. А дальше то, какой язык будет изучаться углублённо, будет зависеть от практики в конкретных проектах. В конце статьи — бонус с информацией по зарплатам за владение популярными языками программирования.

Высокоуровневый интерпретируемый язык с динамической строгой типизацией. Это мультипарадигмальный язык, который поддерживает императивное, процедурное, структурное, объектно-ориентированное (прототипное), функциональное программирование и метапрограммирование. Причём считается, что реализация поддержки объектно-ориентированного программирования в Python — одна из самых понятных, благодаря чему (в том числе) Python довольно прост для начинающих программистов.

Назначение

Это язык программирования поистине общего назначения. Он работает с xml/html-файлами, http-запросами, изображениями, аудио- и видеофайлами, FTP. На нём можно создавать GUI (графический интерфейс), веб-сценарии бэкенд веб-сервисов, писать программы для робототехники и программировать математические и научные вычисления. Сегодня его активно используют в data science, машинном обучении, анализе данных.

Порог вхождения

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

Особенности

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

Мнения программистов о популярности

Популярность Python в последнее время объясняют широким изучением этого языка, распространённостью преподавания, а также тем, что студенты ищут ответы на одни и те же вопросы. Одной из причин называют тот факт, что на Python работают в области машинного обучения, которое показывает беспрецедентные темпы развития из-за прогресса ИИ. Также причинами называют рост доступности железа, на котором может работать Python, и то, что язык прекрасно вступает в контакт с мелкими утилитами.

Строго типизированный объектно-ориентированный язык прикладного программирования (со статической типизацией). Ядро языка — библиотеки и классы.

Назначение

Общего назначения. Чаще всего разработка приложений и веб-разработка в области электронной коммерции, финансов. Сегодня Java — стандарт в разработке под Android и в сфере корпоративных приложений, в основном back-end.

Порог вхождения

Умеренно низкий, во многом благодаря JavaRush — интерактивному обучающему курсу. Тем не менее надо обладать базовым пониманием классов, фреймворков, пакетов и объектов.

Особенности

Программы на Java транслируются в байт-код Java, выполняемый виртуальной машиной Java (JVM) — программой, обрабатывающей байт-код и передающей инструкции оборудованию как интерпретатор. Достоинством подобного способа выполнения программ является полная независимость байт-кода от операционной системы и оборудования, что позволяет выполнять Java-приложения на любом устройстве, для которого есть соответствующая виртуальная машина. Другая особенность — гибкая система безопасности. Язык относительно медленный во время выполнения. Довольно сложно читать код.

Мнения программистов о популярности

Причинами популярности считают универсальность, кроссплатформенность, простоту использования и способность обрабатывать огромные объёмы данных. Это делает его идеальным языком для финансового сектора, банковского дела, фондового рынка. Java может эффективно работать в любой ОС, независимо от того, какая использовалась для написания исходного кода. Таким образом, он идеально подходит для написания приложений не только для смартфонов и компьютеров, но и для удалённых процессоров, датчиков и множества потребительских товаров (аппаратная совместимость).

JavaScript

JS — мультипарадигменный язык, который поддерживает объектно-ориентированное (прототипное), обобщённое, функциональное, императивное, аспектно-ориентированное и событийно-ориентированное программирование. Основные архитектурные черты: динамическая типизация, слабая типизация, автоматическое управление памятью, функции как объекты первого класса.

Назначение

Уже долгие годы JavaScript — основной язык веб-разработки (frontend), для которой он и предназначен. Также его поле — это разработка игр, мобильных приложений и создание веб-серверов. Он часто применяется при разработке решений для blockchain, работе со смарт-контрактами в Ethereum. Чаще всего JavaScript используют как язык сценариев в браузерах для того, чтобы придать веб-страницам интерактивности, добавить интересные всплывающие эффекты, маленькие развлекательные игры.

Порог вхождения

Относительно высокий, поскольку для того, чтобы начать карьеру Frontend-разработчика, надо выучить не только JavaScript, но и его фреймворки — Angular JS, React, Node.js и другие. Кроме того, необходимо разобраться в HTML и CSS.

Особенности

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

Мнения программистов о популярности

Именно JS делает сайты «живыми», нескучными, интерактивными. Можно начать писать в JavaScript прямо из браузера (любого), не настраивая среду разработки.

С — стандартизированный процедурный компилированный язык общего назначения со статической типизацией. Даёт программисту возможность осуществлять непосредственный доступ к ячейкам памяти и регистрам компьютера, требуя при этом знания особенностей функционирования ЭВМ. Лаконичный, с богатым набором операторов.

Назначение

Системное программирование: базы данных, драйверы, компиляторы, интерпретаторы, написание программ под микроконтроллеры.

Порог вхождения

Относительно высокий. Сам язык несложный, но нужно хорошо понимать, как работает железо.

Особенности

Язык программирования С, как и С++ — это хорошее решение для разработчиков виртуальных игр. На Си можно создавать приложения, используя 3D-движок Unity, но в современной веб-разработке этот язык не используется. Язык Си оказал существенное влияние на развитие индустрии программного обеспечения, а его синтаксис стал основой для других языков, с которыми работают современные разработчики (C++, C#, Java и Objective-C). Также он завоевал популярность у программистов благодаря сочетанию возможностей языков высокого и низкого уровней.

Мнения программистов о популярности

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

Назначение

Широкая сфера применения: микроконтроллеры, IoT (интернет вещей), десктопные и мобильные приложения, кроссплатформенные приложения, веб, геймдев, системы прогнозирования, моделирования, обработки статистики.

Порог вхождения

Высокий, требования к Junior значительные. Язык сложен в изучении. Потребуется время, чтобы понять, чем различаются виртуальные, абстрактные, приватные и публичные методы.

Особенности

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

Мнения программистов о популярности

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

С Sharp — объектно-ориентированный язык прикладного программирования со статической типизацией. Выпущен Microsoft и сегодня считается популярным усовершенствованием языка C++.

Назначение

Десктопные программы, бэкенд мобильных и веб-приложений, геймдев (игры на движке Unity), VR.

Порог вхождения

Средний. Умеренная сложность изучения. Гораздо проще освоить, зная синтаксис С/С++.

Особенности

Это главный язык платформы .NET.

Мнения программистов

Некоторые считают, что C# идеально подходит для создания мобильных приложений и игр. Другие уверены, что он будет использоваться и развиваться, пока есть пользователи Windows и существует сам Microsoft.

SQL (Structured query language) — это предметно-ориентированный язык структурированных запросов для управления реляционными БД, где данные хранятся в таблицах. Этот информационно-логический язык относится к декларативным языкам программирования. NoSQL или нереляционный SQL был создан для улучшения масштабируемости SQL. Базы данных NoSQL не используют таблицы.

Назначение

Управление базами данных, отчёты о продажах, управление бизнесом. SQL может находить и извлекать данные из реляционной БД, а также обновлять, добавлять или удалять записи. Базы данных NoSQL используются для хранения данных в иерархической сети или поддержки крупномасштабных облачных приложений.

Порог вхождения

Низкий. Изучение SQL идёт быстро, а синтаксис запросов прост и понятен.

Особенности

При всех своих изменениях SQL остаётся единственным механизмом связи между прикладным ПО и базой данных.

Мнения программистов о популярности

SQL считают стандартом обращения к базам данных. В последнее время популярность SQL/NoSQL возрастает из-за роста объёмов данных и, соответственно, необходимости быстро работать с базами данных.

Напоследок посмотрим годовые зарплаты по языкам программирования в США и Европе

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

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

А тех, кто дочитал, поздравляем с Международным днём родного языка! Ведь для программистов эти языки, порой, как родные 🙂 Давайте соберём свою статистику — на чём пишете?

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

Выбирайте по уровню спроса у работодателей и направлению в программировании.

язык программирования для новичка

Виктория Дербенченко
Автор статьи
24 февраля 2022 в 20:17

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

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

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

Уровень спроса у работодателей — дает понимание о конкуренции и количестве вакансий.

Направление в программировании — в конкретных сферах выбор уже ограничен 1-2 языками.

Изучаем рейтинги популярности

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

TIOBE

Индекс Tiobe учитывает языки программирования, у которых:

  • есть страница в Википедии;
  • полнота по Тьюрингу;
  • не менее 5 000 запросов в Google с названием языка.

В 2021 году самый востребованный язык программирования в этом рейтинге — Python. За ним идут C, Java, C++, C#.

tiobe.com скриншот

PYPL

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

Это исследование считается более точным, потому что показывает практический интерес и исключает из поиска блоги, новости, полумертвые страницы о старых языках. В 2021 году в рейтинге лидируют Python, Java, JavaScript, C#, C, C++.

pypl.github.io скриншот

Stack Overflow

Stack Overflow составляет подборку популярных языков на основе опроса разработчиков из 181 страны. В 2021 году по данным платформы, чаще использовали JavaScript, HTML/CSS, Python, SQL и Java.

скриншот insights.stackoverflow.com

GitHub

Рейтинг от GitHub основан на предпочтениях пользователей этого хостинга. Учитывает, сколько обновлений и репозиториев выпустили разработчики и какими языками программирования они пользовались. В топ-5 за 2021 год вошли JavaScript, Python, Java, Typescript, C#.

Java-разработчик: новая работа через 11 месяцев
Получится, даже если у вас нет опыта в IT

скриншот octoverse.github.com

RedMonk

Объединенный рейтинг по данным порталов GitHub и Stack Overflow. График показывает соотношение реального использования языка и интереса к нему и возможные тенденции в программировании.

В рейтинге на август 2021 года лидируют JavaScript, Python, Java, PHP и CSS. По сравнению с 2020 годом, повысил свои позиции TypeScript, но станет ли он более востребованным в будущем, судить сложно.

скриншот redmonk.com

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

Согласно тем же рейтингам, в 2021 году мало используют Perl, Haskell, Fortran, Visual Basic. Некоторые из этих языков повысили свои позиции за 2021 год и хорошо оплачиваются, но вакансий почти нет.

Изучаем запросы работодателей

Определите количество вакансий и предложений, например, на hh.ru и Habr Карьера. В строке поиска введите соответствующий запрос. Это косвенные данные, но представление о конкуренции вы получите.

Выбираем язык по направлению работы

��Backend

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

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

��Frontend

Фронтэнд-программист превращает макет в работающий продукт. Он отвечает за то, как пользователь видит сайт, интерактивные элементы, адаптивность к мобильным устройствам, работу калькуляторов и отправку форм. Направление подойдет тем, кто хочет работать на стыке с дизайном и UX.

Из языков программирования понадобятся простые в изучении JavaScript, HTML и CSS. Со знанием JavaScript можно пробовать себя и в других направлениях, например: серверная разработка на Node JS, разработка десктопных приложений.

Курс Skypro «Веб-разработчик» обучает основам работы фронтенда и бэкенда с нуля за 12 месяцев. Это 330 часов теории и практики, разбор ошибок, общение с преподавателями во время живого вебинара и в командном чате, помощь наставников и карьерных консультантов. Всё, что потребуется, — желание получить знания, разобраться в тонкостях профессии и 12-15 часов в неделю. В программе только те знания и навыки, которые требуют работодатели от начинающих специалистов.

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

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

iOS-разработчики изучают Swift, который считается простым для новичков. Как дополнительный язык — Objective-C. Он актуален для старых масштабных проектов, которые не переписали на Swift.

Для создания Android-приложений нужны Java или Kotlin. Оба языка универсальные и помогут перейти в другое направление. А Swift мало востребован за пределами мобильной разработки.

��Gamedev

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

Нужно изучить Java, C# или C++. Первый язык более востребован на рынке. Также понадобится знание SQL для обмена данных игр с сервером. С# — сложный язык, но на его базе будет просто выучить другие.

На курсе Skypro «Java-разработчик» за 11 месяцев можно изучить язык на уровне продвинутого новичка. В программе — 440 часов теории и практики, индивидуальные и командные проекты. После обучения получите диплом установленного образца, а центр карьеры подготовит к собеседованию, чтобы вы быстро нашли работу по новой специальности.

��Разработка десктоп-приложений

Направление Desktop связано с созданием приложений для Windows, Linux, MacOS. Это браузеры, редакторы текстового/аудио/видеоконтента, CRM, системы для сложных расчетов. Иногда в задачи входит доработка существующих продуктов с открытым кодом.

Для старта в профессии изучают один из языков: C++, C#, Python, Java, Go, Swift.

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

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

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

Евгений Кучерявый

Евгений Кучерявый

Пишет о программировании, в свободное время создаёт игры. Мечтает открыть свою студию и выпускать ламповые RPG.

Разработчики на Python хвалятся тем, как быстро пишут код. Программисты на C++ — что их код очень производительный. Те, кто используют Java, говорят, как важна кросс-платформенность.

И все торопятся друг друга обидеть: Swift — для геев (многие действительно так думают), Python — для малышей, а JavaScript, конечно же, для дураков. Разработчики готовы спорить даже о том, что лучше — табы или пробелы.

В этой статье мы рассмотрим две темы:

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

Мой опыт

Я начинал с PHP и каждый день видел прогресс: какой-то новый подход, массивы вместо переменных, супермассивы, базы данных и так далее. Освоив PHP на более или менее сносном уровне, я двинулся дальше и приступил к JavaScript. Разобравшись с ним, я попробовал C++, потому что хотел заниматься играми. Скачал учебник, который все рекомендовали, позанимался по нему — и бросил программирование на несколько лет. М-да.

Сейчас я программирую на PHP, JS, Java, Python, C# и C++. С каждым новым языком я постоянно возвращался к основам и узнавал что-то новое о работе компьютера: как устроена память, как работает процессор, какой код будет работать быстро, а какой — нет. И, самое главное — почему. Если бы я сразу начал с C++, то, скорее всего, решил бы, что это не моё — слишком много информации.

Определите, чем вы хотите заниматься

Все эти споры, какой язык круче, бессмысленны, потому что:

  • У каждого языка есть свои преимущества и недостатки.
  • Один язык не может быть хорош для всего.

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

  • Быстро создать сайт — PHP или Python.
  • Создать игру — C++ или C#.
  • Веб-систему для банка — Java, C# или C++.
  • Красивый интерфейс для сайта — HTML, CSS и JavaScript.
  • Приложение для Android — Java или Kotlin.
  • Приложение для iOS или Mac OS — Objective-C или Swift.

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

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

Выбор технологии не определяет успеха игры, сайта, приложения и чего угодно ещё.

А вот основные сильные и слабые стороны популярных языков:

Язык Преимущества Недостатки
С++ • Высокая производительность
• Прямой доступ к памяти
• Строгая типизация
• Высокий порог входа
• Низкая скорость разработки
C# • Строгая типизация
• Сборка мусора
• Кросс-платформенность
• Большое количество синтаксического сахара
• Ориентированность под Windows
• Нет возможности создавать кросс-платформенное GUI
Python • Высокая скорость разработки
• Возможность быстро выучить язык
• Широкий спектр применения
• Слабая типизация
• Низкая производительность
JavaScript • Высокая скорость разработки
• Возможность быстро выучить язык
• Непредсказуемость
• Слабая типизация
Java • Кросс-платформенность
• Строгая типизация
• Сборка мусора
• Требуется много времени на запуск приложения
• Большой объём повторяющегося кода
PHP • Большое сообщество
• Быстрое развитие
• Слабая типизация
• Небезопасный код

Джоэл Спольски (CEO Stack Overflow) предпочитает C-подобные языки, но всё равно выбирает тот, который лучше справится с конкретной задачей.

Например, если вы хотите создавать игры, то какие? Посмотрите, на каком движке сделаны ваши любимые игры, и начните осваивать его. Если это Unity, то вам нужен C#. Если Unreal Engine, то С++.

Нужно ли начинать с простого языка

Если вы, как и я, выбрали геймдев, то перед вами встаёт дилемма: какой из языков выбрать. Оба достаточно крутые, на них написано большое количество известных игр. Допустим, вам всё же больше понравился C++.

Но тут возникает проблема: среди популярных сегодня языков C++ — один из самых сложных. Что делать?

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

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

Тот же Джоэл Спольски писал, что начинать погружение в программирование нужно с C (ещё сложнее, чем C++), потому что так вы освоите главные принципы и сможете писать более эффективные программы. Даже если они будут не на C.

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

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

Вывод

Обсуждать можно бесконечно, но вот совет: начните уже изучать хоть что-то, сопоставив первый язык со сферой ваших интересов. И не переживайте, если вам понравился сложный язык. Сейчас обо всём можно найти понятные и подробные руководства. Например, в своей новой серии статей я максимально просто объяснил сложные понятия в C++. А на курсе Skillbox всё это можно закрепить на практике.

Читайте также:

  • Как сменить стек и устроиться на работу мечты: разработчица из геймдева Нелли Хван
  • Вкатиться в Go с нуля в 37, бросив бизнес и безуспешные попытки стать продактом
  • Изучаем C++. Часть 1. Что такое программа и языки программирования

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

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

Кроме того, многие разработчики считают, что Python легко учить.

«Python — это идеальный первый язык программирования для начинающих. У него четкий и читаемый синтаксис, который позволяет легко изучать основы программирования и быстро сосредоточиться на создании решений для ваших проблем», — отметил технический директор Pixolution Себастьян Латтер.

В интернете есть много учебных материалов по Python. Например, Python.org предлагает удобное введение в программирование и Python. У Microsoft есть видеокурс Python for Beginners с десятками уроков. Большинство из них длится менее пяти минут, и все они — не более 13 минут.

Java

Java — очень популярный язык программирования. Его основной принцип звучит как WORA — write once, run anywhere (напиши один раз, используй где угодно). Код может работать на любом устройстве с виртуальной машиной Java.

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

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

Kotlin

Хотя Kotlin используется меньше, чем Java и Python, он быстро завоевал популярность — особенно после того, как Google назвал его первоклассным языком разработки для Android.

Google настолько стремится сделать Kotlin популярным языком, что теперь предлагает онлайн-курс Android Basics in Kotlin, который является отличной отправной точкой для начинающих. Есть также дополнительные курсы от Google: Kotlin Bootcamp for Programmers, Android Kotlin Fundamentals, Advanced Android in Kotlin.

Большинство разработчиков Kotlin используют этот язык для создания мобильных приложений, но он все чаще используется для десктопных приложений, бэкенда и интернета вещей (IoT). Даже если вы не заинтересованы в создании приложений для Android, этот язык стоит изучить.

Swift

Раньше разработчики, работавшие в экосистеме Apple, могли программировать только на Objective-C. Спустя три десятилетия в Apple решили, что пришло время для чего-то нового. В 2014 году Apple запустила собственный язык программирования Swift.

Swift пригодится тем, кому интересно создавать приложения и сервисы для iOS, iPadOS, macOS, watchOS и всего остального, что Apple может запустить в течение следующих нескольких лет (например, ОС с дополненной реальностью). Также знание iOS важно, если вы делаете продукты, которые взаимодействуют с мобильными приложениями и сервисами.

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

JavaScript

Если вы хотите разрабатывать приложения или сайты, вам стоит изучить JavaScript. Новичкам подойдет современный учебник JavaScript, в котором элементы языка разбиты на отдельные модули. У Full Stack Academy также есть бесплатные курсы. Как только вы хорошо разберетесь в основах языка, начните изучать фреймворки, которые могут упростить рабочий процесс.

Кроме того, если вы изучаете JavaScript, вам стоит узнать как можно больше о TypeScript, расширенной версии JavaScript, который только что вышел в версии 4.0. Независимо от того, считаете ли вы TypeScript самостоятельным языком программирования, нельзя отрицать, что он имеет функции, которые могут ускорить ваше программирование на JavaScript.

Согласно опросу разработчиков Stack Overflow, опубликованному в 2020 году, около 67,1% опрошенных разработчиков заявили, что им нравится TypeScript, что выше, чем у Python (66,7%) и Kotlin (62,9%).

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

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