Давайте начнем с того, почему люди хотят знать. Обычно, по крайней мере, когда речь заходит о студентах, они спрашивают, какой язык самый популярный, потому что хотят изучать предметы там, где есть работа. Для большинства людей очень мало смысла входить в область знаний о чем-то, что не пользуется спросом. В других случаях программисты, которые уже имеют опыт, хотят понять, актуальны ли их текущие навыки, или пришло время взглянуть на другие языки, потому что изменения в популярности могут означать, что пришло время перейти на новый язык.
Разработчики, создающие продукты, также хотят знать о популярных языках, потому что, если они создают API или другие варианты совместимости, они хотят быть уверены, что они производят решения, которые будут использовать клиенты. Очень важно поддерживать самые популярные среды.
Наконец, если вы начинаете проект, вам нужно выбрать, на каком языке строить. Ваш первый критерий всегда должен состоять в том, чтобы использовать язык, который может выполнить эту работу. Если один язык чрезвычайно популярен, но на кодирование уйдет два года, а другой менее популярен, но займет два месяца для вашего приложения, вам явно следует выбрать менее популярный язык. Но при прочих равных условиях выбор более популярного языка обычно означает доступ к большему количеству программистов и ресурсов, так что это тоже важное соображение.
ЧТО ОПРЕДЕЛЯЕТ ПОПУЛЯРНОСТЬ?
Так Какой же язык самый популярный? На этот вопрос, мой юный ученик , ответить не так просто, как ты думаешь. Главное-определить , что определяет популярность.
Это настолько открытый вопрос, что есть статья в Википедии, посвященная измерению популярности языка программирования. В статье показан ряд возможных факторов для измерения популярности, в том числе:
Количество раз, когда название языка упоминается в веб-поиске , например, указано в Google Trends
Количество объявлений о вакансиях, в которых упоминается этот язык
Количество проданных книг, которые учат или описывают язык
Оценки количества существующих строк кода, написанных на этом языке, которые могут недооценивать языки, не часто встречающиеся в публичных поисковых системах
Количество проектов на этом языке на SourceForge, Freecode и GitHub
Количество сообщений на форумах и в группах новостей о языке
Но и это еще не все. Вы можете добавить некоторые из этих показателей в этот список:
Количество курсов, проданных программированием bootcamps
Количество студентов, обучающихся на курсах программирования по всему миру
Количество видео на каждом языке на YouTube
Количество записей на Reddit или Stack Exchange о языке
Ты же понимаешь, о чем я. Это может стать еще более сложным, если вы учитываете популярность в разных странах. Являются ли некоторые языки более популярными в Индии? В Соединенных Штатах? В России?
Суть в том, что популярность-это не единственный векторный ответ.
РАЗЛИЧНЫЕ ИСТОЧНИКИ ИЗМЕРЕНИЯ
В этом-то и загвоздка. Даже понимая, что популярность может быть измерена на основе очень многих различных факторов, студенты и профессионалы все равно хотят знать, направляют ли они свою карьеру и компании в правильном направлении.
Существует целый ряд интернет-сайтов , публикующих показатели популярности языков, каждый из которых соответствует своим критериям. IEEE Spectrum использует интересный подход, поскольку он имеет интерактивную диаграмму, которая позволяет вам взвешивать различные факторы, такие как списки рабочих мест или проекты с открытым исходным кодом hub. К сожалению, это не очень помогает. Если вы смотрите на то, какие языки изучать, или какие языки вам нужно поддерживать, трудно решить, на какой диаграмме стоит делать ставку.
ЛАДНО, Я ПОНЯЛ. ТАК КАКОЙ ЖЕ САМЫЙ ПОПУЛЯРНЫЙ ЯЗЫК?
Чтобы помочь вам получить некоторые указания, я объединил различные источники, упомянутые выше. Для трех категорий IEEE тренд означает языки, которые, как представляется, растут, вакансии отражают предложения о работе на Dice.com и CareerBuilder, и open отражают количество проектов с открытым исходным кодом.
Результатом стал рейтинг в следующем графике:
Самый интересный ключ-это второй кластер, содержащий JavaScript, C#, PHP и Swift. JavaScript и PHP-это в основном языки веб-разработки. C# -это язык, ориентированный на Microsoft. Swift-это новый основной язык программирования Apple. По сути, второй кластер является специфичным для платформы.
Опять же, о чем это нам говорит? Если вы разбираетесь в современном программировании, то понимаете, что используете не только язык. Вы всегда разрабатываете что-то для чего-то, будь то встроенная система, iPhone, веб-приложение или серверное приложение Microsoft.
Знание языка - это только часть головоломки. Например, независимо от того, насколько вам нравится Python или очень древний, но все еще тикающий C, если вы программируете плагины или темы WordPress, вы пишете на JavaScript и PHP. Не имеет значения, насколько популярны другие языки. Если ваш работодатель является разработчиком Microsoft, вам лучше знать C.
ЧТЕНИЕ МЕЖДУ СТРОК
Есть еще несколько интересных вещей, которые я хотел бы убедиться, что вы заметили. Во-первых, главным языком кодирования Dojo был SQL. В этом есть смысл, но это не так. Вы очень редко только кодируете в SQL. Вы используете SQL для доступа к данным, но управляете этими запросами данных на другом языке. Так что это хорошо (даже необходимо) знать SQL. Однако простое прохождение курса SQL не гарантирует вам работу, хорошие деньги или жизнь на легкой улице.
Во-вторых, специфичные для Apple языки находятся в чартах ниже, чем можно было бы изначально ожидать, учитывая популярность приложений для iOS. Но в этом есть смысл. Если вы хотите создать свое собственное приложение, вам нужно выучить эти языки. Но существует не так уж много компаний, нанимающих разработчиков приложений Apple, по крайней мере в первую очередь. Вот почему Swift находится относительно далеко внизу графика. Objective-C заменяется Swift, и мы видим, как он падает прямо у нас на глазах.
До сих пор доминирует с-семейство языков. Java, C++, C, C# и даже Objective-C-это все языки на основе C. Если вы собираетесь изучать только один язык, вы должны выбрать один из них. Я бы рекомендовал Java или C++, так как они откроют вас для остальной части семейства C.
На этом этапе моей карьеры я могу запрограммировать, с головы до ног, примерно на 20 языках. Обычно я могу освоить новый язык за несколько дней. Это потому, что моя дипломная работа в инженерной школе была посвящена языковому дизайну, и я преподавал программирование в течение 20 лет. Многоязычие помогло мне, потому что я почти всегда выбираю язык для своей работы, а не потому, что я прошел только один курс, и это все, что я знаю. Это может показаться пугающим, но вы тоже можете это сделать.
Мой вам совет, особенно если вы хотите перейти к программированию, - это изучить несколько языков и несколько фреймворков. Создавайте вещи на языках. Программирование - это не просто интеллектуальное упражнение. Вы должны действительно что-то делать.
Быть комфортно в нескольких языках и фреймворках очень важно, потому что компьютерная индустрия так сильно меняется. Конечно, C существует дольше , чем цифровые часы и понг, но Swift всего несколько лет и уже входит в первую десятку. То, что вы узнаете сегодня, вероятно, не будет достаточно для всей вашей карьеры. Таким образом, изучение того, как изучать языки, так же важно, как изучение языка, и лучший способ сделать это-выучить более одного.
Моя рекомендация довольно проста. Выберите C++ или Java и изучите его. Затем изучите JavaScript. Все больше и больше веб-приложений требуют хороших навыков JavaScript. Затем выберите PHP, Swift или Python, в зависимости от вида работы, которую вы хотите выполнить. Как только вы хорошо изучите каждый из этих трех наборов, вы сможете с относительной легкостью подобрать любой дополнительный язык или фреймворк, который вам понадобится.