Бессмысленные споры: чью сторону занять будущему разработчику?

Бывает, соберутся вечером в пятницу разработчики и как давай спорить, чей язык программирования круче. Долго спорят, иногда даже дерутся… один кричит, что нет в мире ничего “питона” легче, а другой уже ноутбук показывает и спрашивает “а вот так твой Python может? Нет? А вот Java мой справляется!..”.

Бессмысленные споры: чью сторону занять будущему разработчику?

Но мы, конечно, утрируем. Любой разработчик, погрузившись чуть глубже стереотипов, начинает понимать, что не бывает “лучшего” языка. Потому что никто бы просто не стал создавать несколько тысяч языков, если бы существовал один - единственный и неповторимый.

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

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

Совет № 1.

Не надо гуглить фразу: «Какой язык программирования лучше?». Проходить тесты формата “кто ты из героев мультика Аладдин” тоже не надо. Ни один тест не ответит вам на вопрос, какой язык вам подходит.

Что делать?

Отставить сантименты и трезво оценить следующие факторы:

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

Анализ рынка труда

Чтобы помочь абитуриентам в анализе рынка труда, некоторые платформы по изучению ИТ берут на себя обязательства по мониторингу актуальных компетенций и в рамках заключения договора на обучение регламентируют возможность трудоустройства. Можно также самостоятельно зайти на сайты, где представлены индексы востребованности языков, например Tiobe или PYPL. По версии Tiobe, кстати, на первом месте стоит Python.

Легкость изучения

Перед тем, как определять победителя категории, нужно разобраться с критериями легкости и вообще с тем, что такое легкость в контексте разработки. Относительно универсальный критерий — близость языка к программированию на машинном коде. Чем ближе к нему язык, тем более он низкоуровневый. Большинство разработчиков вряд ли будут спорить с тем, что высокоуровневые скриптовые языки немного проще в изучении. К ним мы отнесем JavaScript, Python и Ruby. Высокоуровневые языки, хороши тем, что лучше адаптированы для использования. У них есть крупные стандартные библиотеки, а значит, большое количество разработанных доступных решений.

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

Продукт разработки, который мотивирует

Наверное, это самый важный аспект внутренней профориентационной борьбы. То, “КАК” работает язык, конечно, важно. Но язык - это лишь инструмент, при помощи которого создается продукт. Поэтому намного правильнее будет отвечать на вопрос “ЧТО я смогу на нем делать?”.

Представьте ситуацию. Вы пришли в строительный магазин и выбираете, скажем пилу. Конечно, они имеют разные характеристики, но пришли то вы не за этими характеристиками, а чтобы при помощи этой пилы что-то сделать. И наверное, пятикилограммовая бензопила “Патриот 641” не подойдет для вырезания из дерева милых фигурок, которые вы хотели уютными зимними вечерами строгать… А столярная стамеска никак не поможет с постройкой новой бани из бруса. Так что в основе любого выбора стоит цель, а не средства.

Для начала определим глобальную цель

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

Теперь подробнее

  • Так, например, на С разрабатывают компоненты операционных систем, драйверы устройств, различные управляющие приборы и встраиваемые в них программы. Нравится идея создания игры, поисковых систем, антивирусов – это С++.
  • Привлекает разработка больших высоконагруженных продуктов для больших транснациональных компаний? Или есть желание поработать с небольшими приложениями и играми для Android? Welcome to Java.
  • А упомянутый нами ранее Python удобно расположился в среде, которую сегодня называют “data mining”, что означает применение различных данных, накопленных в бизнесе, для поиска скрытых закономерностей спроса и возможностей развития бизнеса. Не менее популярен “питон” и для разработки Web-сервисов, серверной части многопользовательских игр, создания нейросетей и анализа данных.
  • Чтобы структурировать страницы в браузере изучаем HTML, чтобы страница или интерфейс выглядели безупречно — CSS.
  • Для создания приложений на Андроиде — Kotlin.
  • А для приложений, где нужен доступ на низкий уровень железа — C.

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

44
3 комментария

Сейчас бы Kotlin изучать минуя Java...

Ответить

Комментарий недоступен

Ответить

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

Ответить