Благодаря интернету, каждый в мире обладает бесплатным или недорогим доступом к качественным ресурсам для обучения кодингу. С одной стороны, это большой плюс, с другой – это создает дополнительные сложности, особенно если вы новичок. Каждый клик приводит вас к новой статье, туториалу или видео. Многие из-за этого отвлекаются и теряют желание что-либо изучать.
Поэтому важно сфокусировать все свое внимание на одном языке. Шансы найти работу разработчиком, хорошо зная один язык, намного выше, чем опосредованно зная десять разных. Если вы еще не определились, на чем хотите писать, эта статья для вас.
Не знаете, с чего начать? Изучите язык общего назначения.
Python
Благодаря простому и точному синтаксису Python — отличный язык для изучения. Этот язык отличается динамической типизацией, автоматическим управлением памятью и поддержкой разных парадигм программирования.
Десктопные и веб-приложения, сервера, машинное обучение, искусственный интеллект — все они используют Python. Он каждый год входит в топ языков программирования. В прошлом году он даже стал «Языком года» согласно TIOBE Programming Community Index. Можно предположить, его популярность продолжит расти в 2020 году.
Одна из причин популярности Python — в нем правила оформления кода проще, чем в других языках: например, не нужно ставить точку с запятой в конце оператора. Поэтому Python все чаще изучают в учебных заведениях — не только в университетах, но и в средней и начальной школе. Python используется в академической среде. Это самый популярный язык общего назначения, он используется для машинного обучения и в науке о данных. Python настолько активно используется в этих областях, что недавно было предложено слияние Python и R, языка науки о данных.
Python одновременно и похож на другие языков программирования, и сильно отличается от них. Если вы ищете работу, связанную с Python, на собеседовании вам нужно показать полное понимание того, как Python реализует общие функции: типы данных, модульность, функции и классы.
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 была устранена.
Ruby
Ruby — интерпретируемый, полностью объектно-ориентированный язык программирования с четкой динамической типизацией. Он сочетает в себе Perl-подобный синтаксис с объектно-ориентированным подходом. Также некоторые черты заимствованы из языков программирования Python, Lisp, Dylan и CLU. Кроссплатформенная реализация интерпретатора языка Ruby распространяется на условиях открытого программного обеспечения. Код, написанный на Ruby, может быть понятен даже человеку, который не разбирается в программировании. На RoR были созданы такие проекты, как Redmine, Twitter, Shopify, Basecamp, GitHub, Kickstarter, Airbnb и другие.
С ростом Node.js популярность Ruby on Rails несколько уменьшилась, но технологические стартапы часто используют RoR благодаря простоте прототипирования. Ruby — 11-й самый популярный язык в индексе TIOBE.
Преимущества Ruby
- Многочисленное и доброжелательное комьюнити.
- Довольно высокий порог входа, что означает, что Ruby-разработчик с большой вероятностью имеет опыт работы как минимум с еще одним языком программирования.
- Вы используете только те библиотеки и модули, которые необходимы.
- Существует большое количество полезных библиотек, которые уже готовы к использованию (Ruby Gems).
- В интернете есть много информации по Ruby, в структурированном и отсеянном виде.
- В контексте обсуждения Ruby нельзя не упомянуть популярнейший фреймворк Ruby on Rails.
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.
Уже знаете, в какой области хотите работать?
Если вы поставили перед собой цель работать в машинном обучении, разработке мобильных приложений или устроиться в стартап, выберите язык, который будет ей соответствовать.
Машинное обучение
Согласно докладу на GitHub, Python был самым широко используемым языком в машинном обучении в 2018 году. Добавьте к знанию Python библиотеку TensorFlow, и вы уже можете найти работу, связанную с машинным обучением.
Язык программирования R — второй лучший выбор для машинного обучения. Он отлично подходит для анализа и обработки данных в статистических целях.
Мобильная разработка
Если вас интересует мобильная разработка, вам нужно решить, для какой операционной системы вы хотите разрабатывать приложения — Android или iOS.
Java — лучше всего подходит для разработки на Android. Для iOS лучше всего освоить Swift — официальный язык Apple.
JavaScript — еще один хороший вариант для мобильной разработки. Объединив его с HTML и CSS, вы сможете разрабатывать приложения, которые можно будет конвертировать в нативные приложения при помощи Cordova. Еще один пример — .Net, который также можно использовать для написания приложений и конвертирования их при помощи Xamarin.
Стартапы
Если вы знаете, что хотите устроиться в стартап, нет ничего лучше знания Ruby on Rails. Он дружелюбен по отношению к новичкам и позволяет разработчикам быстро прототипировать системы, что делает его отличным выбором для стартапов, постоянно стремящихся к большей скорости.
Есть множество других популярных языков – например, Go, Scala, TypeScript, C++ и Rust, но если вы только начинаете изучать программирование, их лучше избегать. Большинство из них сложные или слишком сфокусированы на одной области применения.