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

1
1635
views

Перевод статьи «Which Programming Language Should You Learn Next?».

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

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

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

Чтобы вам было проще сориентироваться, в этой статье я разберу возможные варианты. Я порекомендую один язык для каждого из трех уровней опыта (для начинающих, для разработчиков среднего уровня и экспертов). Также я назову несколько альтернатив, которые могут показаться вам более привлекательными (в зависимости от ваших предпочтений).

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

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

Приведенный ниже график показывает языки программирования, которые больше всего пользовались спросом в 2018 году (в сравнении с 2017 годом).

Source: Data from Indeed.com analyzed by Coding Dojo.
Источник: данные Indeed.com, проанализированные Coding Dojo.

Несмотря на тот факт, что языку Java уже больше 20 лет, это по-прежнему самый популярный язык программирования. Впрочем, с 2017 года его популярность немного упала. Java уже довольно долго пользуется спросом. Причина этого, вероятно, в том, что этот язык может запускаться на любом «железе» или ОС. Например, все Android-приложения основаны на Java, а большая часть компаний из списка Fortune 500 (500 самых крупных американских корпораций по уровню валового дохода, – прим. перев.) используют этот язык для бэкенд-разработки.

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

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

C++ и C# используются для разработки видеоигр, а также системного ПО и приложений (C# используется для платформы .NET). В 2018 году спрос на них несколько упал, однако их позиции все еще сильны. Популярность PHP растет, это связано с его использованием для добавления веб-функций, которые не могут обработать HTML или CSS, а также для работы с базами данных MySQL. И, наконец, Perl остается одним из топовых языков благодаря своей популярности среди системных и сетевых админов: он используется как «клей» для соединения различных компонентов программ.

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

Фундаментальные и продвинутые языки программирования

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

Но есть много других, «нишевых» языков с растущими сообществами использующих их разработчиков. Например, Haskell (используется для ИИ и машинного обучения), Scala (замена Java), ML (функциональный язык), Scheme (используется для ИИ, а также web-программирования) и сотни других.

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

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

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

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

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

JavaScript это хороший выбор для первого языка программирования. Как выше упоминалось, он используется практически повсеместно. Его можно использовать для создания любых приложений. Многие сайты, которыми вы, вероятно, пользуетесь ежедневно, зависят от JavaScript. К ним относятся Gmail, Facebook, Twitter, Instagram и Spotify.

JavaScript применяется во фронтенд-разработке веб-приложений (с использованием таких фреймворков как AngularJS, Ember.js и React) бэкенд-разработки (с использованием фреймворка Node.js). Изучение этих фреймворков занимает больше времени, чем изучение самого JavaScript, но повышает ваши шансы найти работу и получать хорошую зарплату.

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

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

Альтернативы для начинающих

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

Подобно Python, Ruby также легок для освоения начинающими. Для его использования вам не придется запоминать много команд или правил синтаксиса. Фреймворк Ruby – Ruby on Rails – все больше применяется для full-stack разработки в стартапах. Также он использовался для создания таких сайтов как Airbnb и Groupon.

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

Следующий шаг для разработчиков среднего уровня

Когда у вас за плечами уже есть какой-то опыт программирования, будет удачной мыслью потратить время на изучение языка С (наряду с С# и, возможно, С++).

С более труден для изучения, чем JavaScript, но знать его — ценный навык, поскольку большинство языков программирования реализованы, собственно, на С. Это потому, что С – язык «машинного» уровня. В ходе его изучения вы поймете, как работает компьютер, а изучив этот язык, вы в дальнейшем будете легче осваивать новые языки.

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

C# широко используется для корпоративной разработки на платформе .NET, но это также первый язык для Unity 3D – популярного движка для инди-игр и игр, связанных с виртуальной реальностью. C++ обычно применяется для десктопных приложений с высокой производительностью (включая игры). Также этот язык использовался при создании многих крупных систем такими компаниями как Microsoft, Oracle и Adobe.

Альтернативные языки для программистов среднего уровня

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

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

Новый вызов для разработчиков-экспертов

Новый вызов для разработчиков-экспертов

Если вы уже мастерски владеете фундаментальными языками программирования, такими как Javascript, C#, C++, Java и Python, вы готовы к новому вызову. Я считаю, что им должен стать Rust.

Согласно опроса на Stack Overflow, Rust уже третий год подряд назван самым любимым языком разработчиков. Это относительно новый язык, созданный в 2010 году Mozilla, и он постоянно развивается.

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

Это свойство Rust делает его сложным для изучения новичками, однако опытные программисты оценят связанные с ним улучшения в производительности. Популярность языка постоянно растет со времени его рождения, и велики шансы, что в следующие несколько лет Rust будет пользоваться очень большим спросом. Если верить Stack Overflow, знание Rust было вторым самым высокооплачиваемым навыком в программировании в 2017 году, а в 2018 оно входит в топ-6.

Альтернатива для экспертов

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

Scala – одна из многочисленных попыток улучшить Java и может использоваться в качестве прямой замены этого языка. Фактически, Scala компилируется для запуска на Java Virtual Machine. Этот язык сложен для изучения, но дело того стоит: знание Scala входит в число самых высокооплачиваемых технических навыков (отчеты Stack Overflow за 2017 и 2018 год).

Как и в случае с Rust, популярность Scala неуклонно растет последние пять лет. Такие видные компании как LinkedIn и Twitter уже используют Scala в своих кодовых базах.

Заключение

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

Новичкам следует начать с языков, легких для изучения, например, JavaScript, Python или Ruby. Так они смогут приступить к программированию и начать создавать приложения.

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

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



1 КОММЕНТАРИЙ

  1. Блин, вот я не могу понять какой смысл в количестве языков программирования которые знает человек. И что подразумевается под «изучить язык». Выучить синтаксис? Если так, то пользы от такого изучения будет очень мало.
    В остальном учить новый язык программирования имеет смысл только если надо менять работу, а твой текущий никому уже не нужен.

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here