1) JavaScript
Согласно
исследованию Stack Overflow, проведенному в 2018 году, 71,5% разработчиков считают JavaScript самым популярным языком программирования. Это больше, чем в 2015 году: тогда 54,4% разработчиков придерживались такого мнения.
Сейчас JavaScript используется везде. JavaScript-фреймворки (Angular, React и Vue) используются на стороне клиента для разработки веб-приложений на основе браузера. За пределами браузера с помощью Node.js lets можно писать серверные приложения на том же языке, на котором вы пишете клиентский код. С помощью Node можно создавать веб-сервисы, управлять Интернетом вещей (IoT) и экспериментировать с машинным обучением. Важное преимущество JavaScript перед другими языками — широкая поддержка в индустрии ПО со стороны таких IT- корпораций, как Google, Facebook, Microsoft и Amazon. Второй плюс — очень легко найти учебные материалы по JavaScript: существует множество платных и бесплатных курсов, веб-сайтов, книг, видео и тематических блогов.
Большую часть своей истории JavaScript считался гадким утенком от мира программирования. Нет, он не стал прекрасным лебедем, как это произошло в сказке. Тем не менее сообщество JavaScript приложило много усилий, чтобы превратить его из браузерного скриптового языка в современный и универсальный язык. Со временем большая часть недостатков JavaScript была устранена.
Стоит отметить, что большинство потенциальных работодателей на собеседовании будут оценивать ваши знания неочевидных функций JavaScript. Скорее всего вас спросят о переменной области действия, замыкании, обратных вызовах и условных операторах. Если вы ищете работу, связанную с JavaScript, вы должен быть готовы к таким вопросам. Я бы порекомендовал побольше узнать о компании, в которой вы хотите работать: исследовать их стек разработки и научиться в выгодном свете демонстрировать свои навыки работы с React, Angular или Vue.
2) Python
Согласно опросу Stack Overflow, Python пользуется популярностью у 37,9% разработчиков. Python интересен тем, что за последние пять лет он
набирал популярность намного быстрее, чем остальные языки. Python стал настолько известен, что о нем написал журнал The Economist, никогда не отличавшийся интересом к разработке ПО.
Одна из причин популярности Python — в нем правила оформления кода проще, чем в других языках: например, не нужно ставить точку с запятой в конце оператора. Поэтому Python все чаще изучают в учебных заведениях— не только в университетах, но и в средней и начальной школе. Python используется в академической среде. Это самый популярный язык общего назначения, он используется для машинного обучения и в науке о данных. Python настолько активно используется в этих областях, что недавно было предложено слияние Python и R, языка науки о данных.
Python одновременно и похож на другие языков программирования, и сильно отличается от них. Если вы ищете работу, связанную с Python, на собеседовании вам нужно показать полное понимание того, как Python реализует общие функции: типы данных ,модульность, функции и классы. Также могут спросить, как использовать Python в качестве скриптового, объектно-ориентированного или функционального языка. Работодатель может поинтересоваться, понимаете ли вы такие специфичные для Python типы данных и функции, как кортежи, списки, словари и декораторы.
3) Java
На третьем месте — Java
Согласно опросу Stack Overflow 2018 года, ее предпочитают 45,5% разработчиков.
Одно из преимуществ Java — это виртуальная машина JVM. JVM позволяет запустить любой язык на любой аппаратной платформе или устройстве. Java также был разработан для решения задач, связанных с типами данных и управлением памятью — этот язык упростил жизнь разработчиков. Java упрощает разработку и внедрение приложений на разных операционных системах: поэтому крупные компании чаще используют Java. Это язык, благодаря которому можно попасть в штат крупной компании. На Java пишут нативные приложения для Android. Доля Android на рынке больше, чем у конкурентов вместе взятых: поэтому разработчики изучают Java.
JVM используется все активнее: создаются новые языки, адаптируются уже существующие. Экосистема Java активно используется. Scala, Closure и Kotlin популярны в отдельных сферах. У Kotlin много интересных применений, например, написание приложений для Android и создание смарт-контрактов с помощью платформы Corda.
При поиске работы в качестве Java-разработчика важно понимать сферу применения языка. На собеседовании могут спросить о чем угодно, связанном с Java. Если вас нанимают, чтобы разрабатывать корпоративные приложения, скорее всего, придется продемонстрировать понимание инфраструктуры Java, так что ждите вопросов по JDK, JRE и JVM.
Android-разработчикам будут задавать вопросы, связанные с разработкой на Android: будут вопросы об управлении версиями SDK, Intent, эмуляции и процессе развертывания приложения. Если вы проходите собеседование в компанию, которая использует не только Java, но и языки JVM, умения работать с этими языками также будет преимуществом.
4) C#
По данным опроса Stack Overflow 2018, 35,5% разработчиков — фанаты
Microsoft C #. Не только Python и Java обогнали C #: несмотря на нелюбовь многих разработчиков к Microsoft, язык сценариев Bash используют 40,4% разработчиков.
Java по-прежнему лучше, чем C #, однако в будущем ситуация изменится. Java медленнее вводит новый функционал, в то время как Microsoft агрессивно развивает и добавляет новые возможности в C #. Таким образом компания стремится перестать зависеть от Windows. По этой же причине Microsoft купила Xamarin и ее кроссплатформенную среду разработки, выпустила многоплатформенное ядро .NETи продолжает инвестировать в Azure. Microsoft видит, что C # играет ключевую роль в ее новой стратегии развития, и прилагает немало усилий, чтобы C # можно было использовать как с технологиями от Microsoft, так и с открытыми промышленными стандартами.
Как и в случае с Java, язык и экосистема C # огромны. Это означает, что перед собеседованием важно разобраться, какое место на рынке занимает ваш потенциальный работодатель. Как и в случае Java, на собеседовании вас спросят об инфраструктуре: зададут вопросы о .Net framework и Common Language Runtime (CLR). Стоит также отметить, что CLR поддерживает другие языки, F # и VB.net. Если вы проходите собеседование в компанию, которая использует не только C #, но и другие языки CLR, стоит научиться программировать и на них.
5) C и C++
C и C++ — это отдельные языки с разными моделями программирования. Тем не менее они настолько тесно связаны, что в этом списке я объединил их в один.
Язык C больше не используется для разработки приложений, пользовательских интерфейсов, мобильных приложений и машинного обучения — его заменили другие языки, перечисленные выше. Несмотря на это, C по-прежнему используется во встраиваемых и операционных системах. Показательный пример — Linux, самая популярная операционная система всех времен, которая используется в крупнейших мэйнфреймах и всех устройствах с Android. Ключевая часть Linux — ядро Linux, которое написано на C. Более того, на языке С пишутся другие языки программирования, например, Python.
C++ — это более современная, объектно-ориентированная версия C. На C++ пишут приложения, для которых важна производительность. Например, многие компании в финансовом секторе, используют С++ во внутренних системах. C ++ используется как в «скучных», так и в «интересных» сферах. Благодаря высокой скорости работы C ++, его используют при разработке приложений, активно использующих графику: при разработке игр, графических движков, а также виртуальной и дополненной реальности.
Если вы ищете работу, связанную с C или C ++, на собеседовании могут задать вопросы по обоим этим языкам: могут спросить о типах данных, операторах, циклах, условных операторах, указателях, об управлении памятью. Могут попросить объяснить, что такое цепные списки, и написать короткую программу, которая реализует такие списки и управляет ими. Поскольку C + +— это объектно-ориентированный язык, скорее всего, вам зададут несколько вопросов об объектах, классах, методах, свойствах и т. д.