Прошел год с тех пор, как я показал лучшие языки для изучения в 2013 году. Еще раз, я изучил данные, предоставленные Джобсом Трактором, который проанализировал более 45 000 вакансий разработчиков, объявленных в Twitter за последние двенадцать месяцев. Результаты:
Джава | 8731 |
---|---|
PHP | 8238 |
Objective-C | 5859 |
Java для Android | 4312 |
SQL | 3553 |
JavaScript | 3154 |
Рубин | 2937 |
C # | 2549 |
питон | 1587 |
C ++ | 1273 |
С | 685 |
ActionScript | 674 |
ASP.net | 492 |
Perl | 224 |
Scala | 143 |
Visual Basic | 92 |
Основные изменения с прошлого года …
- PHP и Java поменялись местами, но оба остаются востребованными.
- Java для Android обогнал SQL и приближается к Objective-C.
- JavaScript обогнал Ruby.
- Python поднялся на два места.
- ActionScript упал в двух местах.
Возьмите этот опрос с большим количеством соли. Затем добавьте перец, кетчуп и множество других приправ. Я не уверен, что Twitter является надежным источником данных, связанных с работой, и региональные различия могут исказить результаты.
Недавний опрос, проведенный онлайн-провайдером Lynda.com для Mashable, привел следующий список языков в порядке популярности:
- Джава
- С
- C ++
- C #
- Objective-C
- PHP
- питон
- Рубин
- JavaScript
- SQL
Обычные подозреваемые есть, но, опять же, результаты будут зависеть от предложенных тем и целевой аудитории сайта (прежде всего, новых разработчиков).
Отраслевой аналитик RedMonk использовал другой подход и определил популярность языка, изучив частоту проектов на GitHub и вопросы о StackOverflow :
- JavaScript
- Джава
- PHP
- C #
- питон
- C ++
- Рубин
- С
- Objective-C
- CSS
Не воспринимайте это слишком буквально; язык может получить более высокую оценку, если он более проблематичен, чем другие. Я также удивлен, обнаружив CSS в списке — хотя из-за таких препроцессоров, как Sass, LESS и Stylus, CSS в настоящее время рассматривается скорее как язык программирования. Тем не менее, если CSS считается языком программирования, где HTML и SQL?
Я хочу совет — не статистика!
Давайте сделаем одну точку кристально чистой:
Никогда не используйте статистику как единственную основу для изучения языка.
Немногие разработчики начинают программировать ради финансовой выгоды. Есть гораздо более простые способы заработать деньги … стать «стратегом цифрового маркетинга» или «специалистом по SEO» и отточить эти монологи на уровне совета директоров. (Приношу извинения любым добросовестным «специалистам» там — я уверен, что вы существуете, я просто еще не встретил вас.)
Выбор популярного языка также ставит вас против тысяч других. Изучение Фортрана не будет модным, но вы найдете прибыльную работу, поддерживающую унаследованные десятилетиями устаревшие системы, которых не хочет коснуться другой разработчик. К счастью, мы можем сделать несколько общих замечаний, которые могут повлиять на ваши цели изучения языка.
Технологии взлета и падения
Все языки поднимаются и опускаются по популярности и спросу, но временные рамки будут разными. Рассмотрим ActionScript. Разработка Flash находится в состоянии упадка, и я подозреваю, что большая часть проектов ActionScript находится в режиме обслуживания. То же самое можно сказать о Perl, COBOL и Visual Basic 6, хотя они живут дольше.
Если вы особенно склонны к риску, вы можете избегать языков с ограниченной поддержкой платформы, таких как ActionScript, VB6 и Objective-C. Однако, хотя Objective-C в основном используется в операционных системах и API на базе Apple, господство платформы продолжается, и нет недостатка в заданиях по разработке приложений. На данный момент.
Выбор для существующих разработчиков
Если вы освоили один или два языка, выбор намного проще: выберите то, что вас интересует (интеллектуально или финансово). Навыки программирования могут быть перенесены, и при изучении нового языка кривая обучения будет меньше, чем когда вы только начали.
Там могут быть некоторые очевидные возможности, например:
- ActionScript основан на ECMAScript (который реализован в браузерах как JavaScript); Таким образом, разработчики Flash будут иметь логическое развитие технологий HTML5.
- C ++, Java, C #, Objective-C и даже PHP концептуально похожи, поэтому вы можете переключаться между ними с относительной легкостью.
- Если вы разрабатываете настольные приложения для Windows с использованием VisualStudio, ваши знания .NET будут применимы к платформам веб-серверов Microsoft.
Несмотря на это, не бойтесь узнавать что-то новое. JavaScript выглядит аналогично Java и другим C-подобным языкам, но многие разработчики изначально борются с ним, потому что он принципиально отличается. Продолжайте, и вы постепенно оцените то, что предлагает JavaScript.
Выбор для новых разработчиков
Те, кому посчастливилось начать во времена 8-битных домашних вычислений, имели мало вариантов и изучили свое мастерство с помощью чего-то вроде BASIC, прежде чем переходить на C или сборку, когда они чувствовали себя уверенно. Рассвет сети был таким же упрощенным; Вы изучили HTML и, возможно, серверный язык, такой как Perl. Навыки могут приобретаться постепенно по мере развития HTML и внедрения таких технологий, как CSS, JavaScript, PHP, ASP и .NET.
Я не завидую новичкам в разработке в 2014 году; выбор сбивает с толку. С чего начать?
Ориентировочно, я предлагаю JavaScript . Язык доступен везде, быстро растет и предлагает практически неограниченные онлайн-ресурсы. Изучение JavaScript в первую очередь также может помочь вам избежать путаницы, с которой сталкиваются разработчики из других языков. Мое единственное сомнение — враждебность изучать его в среде браузера. JavaScript может потребовать дополнительных знаний об архитектуре клиент-сервер, HTML, CSS и кросс-браузерных особенностях — даже если вы в первую очередь создаете серверный код Node.js.
В качестве альтернативы вы могли бы рассмотреть такой язык, как Ruby или Python, который относительно быстр в изучении и в меньшей степени обременен устаревшими и экологическими проблемами. Тем не менее, они предлагают меньше ресурсов и отклоняются от синтаксиса на основе C, который может быть вашей конечной целью.
Лучший совет, который я могу предложить: прекратить принимать советы из статей, подобных этой!
Определите проблему и решите ее с помощью имеющихся у вас программных средств. Возможно, это автоматизирует задачу с помощью Autohotkey или написания макроса расчета затрат в электронной таблице. Эти знания послужат стимулом для продвижения к более крупным и лучшим задачам программирования.
Вопрос: Если вы недавно начали программировать, какой язык вы выбрали? Это помогло или помешало вашему обучению? Вы бы порекомендовали это новым разработчикам?
Не просто читайте об этом — начните учиться программировать для Интернета сегодня! Обучаемые членства имеют неограниченный доступ к сотням книг и курсов по Ruby , PHP и всему, что между ними .