Статьи

Какой лучший язык программирования выучить в 2017 году?

Выбор языка программирования в 2017 году

Узнайте больше о функциональном программировании с нашим курсом « Функциональное программирование на JavaScript» .

Многие из вас подумают о вашем наборе навыков и выборе профессии, когда мы вступаем в новый год. Существует множество источников статистики «лучшего языка» , поэтому мы и начнем…

Опрос разработчиков переполнения стека

Читать современный JavaScript
Будьте в курсе развивающегося мира JavaScript

Более 56 000 разработчиков в 173 странах провели опрос разработчиков Stack Overflow в течение 2016 года. Вот наиболее часто используемые технологии :

  1. JavaScript — 55,4%
  2. SQL — 49,1%
  3. Ява — 36,3%
  4. C # — 30,9%
  5. PHP — 25,9%
  6. Питон — 24,9%
  7. С ++ — 19,4%
  8. AngularJS — 17,9% (фреймворк JavaScript)
  9. Node.js — 17,2% (серверный JavaScript)
  10. С — 15,5%

Опрос также спросил, что разработчики любили больше всего :

  1. Ржавчина — 79,1%
  2. Свифт — 72,1%
  3. F # — 70,7%
  4. Скала — 69,4%
  5. Go — 68,7%
  6. Clojure — 66,7%
  7. Реакция — 66,0%
  8. Хаскелл — 64,7%
  9. Питон — 62,5%
  10. C # — 62,0%

и чего разработчики больше всего боялись:

  1. Visual Basic — 79,5%
  2. WordPress — 74,3%
  3. Матлаб — 72,8%
  4. Доля — 72,1%
  5. CoffeeScript — 71,0%
  6. ЛАМПА — 68,7% (Linux, Apache, MySQL, PHP)
  7. Кордова — 66,9%
  8. Salesforce — 65,4%
  9. Perl — 61,3%
  10. SQL — 60,3%

Возможно, более полезными являются разработчики технологий, заинтересованные в обучении:

  1. Android — 15,8%
  2. Node.js — 14,8%
  3. AngularJS — 13,4%
  4. Питон — 13,3%
  5. JavaScript — 11,9%
  6. Реакция — 9,2%
  7. Свифт — 8,7%
  8. MongoDB — 8,1%
  9. Arduino / Raspberry Pi — 8,0%
  10. С ++ — 8,0%

Переполнение стека Top Tech

Переполнение стека также сопоставляет статистику вопросов, ответов и голосов :

  1. JavaScript — 16,6%
  2. Ява — 14,7%
  3. Android — 11,5%
  4. Питон — 11,4%
  5. C # — 11,1%
  6. PHP — 8,6%
  7. JQuery — 6,7%
  8. С ++ — 6,6%
  9. HTML — 6,6%
  10. iOS — 6,3%

Популярность PYPL

Индекс популярности языков программирования PYPL использует данные из Google Trends, чтобы определить, как часто учебники по языку ищут в Интернете:

  1. Ява — 23,1%
  2. Питон — 14,4%
  3. PHP — 9,7%
  4. C # — 8,4%
  5. JavaScript — 7,7%
  6. С — 7,1%
  7. С ++ — 7,0%
  8. Цель — С — 4,4%
  9. R — 3,4%
  10. Свифт — 3,0%

Индекс TIOBE, январь 2017

Индекс сообщества программирования TIOBE оценивает языки, используя результаты поисковой системы, чтобы получить процент ранжирования:

  1. Ява — 17,3%
  2. С — 9,3%
  3. С ++ — 6,3%
  4. C # — 4,0%
  5. Питон — 3,5%
  6. VisualBasic.NET — 3,0%
  7. JavaScript — 2,9%
  8. Perl — 2,7%
  9. Язык ассемблера — 2,7%
  10. PHP — 2,6%

Самым большим подорожанием в 2016 году был Go , который вырос из ниоткуда до 2,3% (# 13). Java упала на 4,19%, но остается почти вдвое выше.

Что говорят нам опросы?

Удивительно мало. Результаты интересны, но часто противоречивы, а методы сбора данных ограничены:

  • Результаты поиска могут быть предпочтительными для более старых, более проблемных или более распространенных языков. Мало кто ожидал бы, что VisualBasic появится над JavaScript.
  • Онлайн-опросы ограничены определенной аудиторией. Переполнение стека заполняется достаточно хорошо осведомленными разработчиками, которые столкнулись с проблемами в популярных языках и средах.
  • Исторические модели использования не обязательно указывают на будущие тенденции. Node.js не существовало десять лет назад. В середине 1990-х Perl или C были наиболее жизнеспособными вариантами разработки на стороне сервера.

Например, все опросы оценивают Java выше, чем PHP. Java часто используется для обучения и используется для разработки приложений для командной строки, десктопов и нативных приложений Android. Тем не менее, WordPress поддерживает 27,3% Интернета и написан на PHP. PHP используется на 82,4% веб-серверов по сравнению с 2,7% для Java.

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

Опросы ошибочны, так что, возможно, мы можем искать …

Другие мнения разработчиков

Я пишу статьи на «лучшем языке» уже несколько лет, и они привлекают многочисленные комментарии. У каждого свое мнение, и это здорово. Все же все не правы.

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

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

Если мы не можем полагаться на опросы или мнения других, к чему это приведет?

Там нет «Лучший язык»

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

Вы не можете выбрать «неправильный» язык; все знания в области развития — это хорошие знания. Возможно, выбор COBOL для игры для iOS — не лучший выбор, но вы быстро обнаружите, что это непрактично, и узнаете что-то о языке, который был полезен в других местах.

Самое сложное в любом процессе обучения — это начать …

Вы задаете правильные вопросы?

Те, кто имеет некоторый опыт программирования, знают, где они боролись. Пробелы в их знаниях более очевидны:

  • Если вы тратите слишком много времени на ручную манипуляцию с данными электронной таблицы, инвестируйте немного усилий в изучение ее макроязыка.
  • Если вы разрабатываете веб-сайт и недовольны макетом, следующим шагом станет улучшение ваших знаний CSS.
  • Если вы разрабатываете серверное приложение и вам нужно хранить данные, изучение SQL или альтернативы NoSQL является логичным вариантом.

Те, кто спрашивает «на каком языке я должен учиться?» , Вероятно, новички в индустрии программного обеспечения. Сравнительно смутный вопрос: «Какую одежду носить?» . Никто не может ответить до тех пор, пока он не оценит ваш возраст, пол, размер, вкус, предпочтения, страну, местную погоду, обычаи, законы приличия, где он будет носить и т. Д. Невозможно предложить язык, не зная:

  1. действительно ли вы заинтересованы в программировании
  2. какие проблемы вы хотите решить
  3. какое оборудование и системы вам доступны
  4. какое время и возможности обучения у вас есть, и
  5. все переменные связаны с указанными выше факторами.

Никто не просыпается и решает начать профессиональную карьеру без опыта программирования. Если вы действительно заинтересованы в разработке, выберите небольшой проект, выберите язык, найдите несколько учебников и приступайте к работе. Несколько мест для начала на SitePoint…

Тогда продолжай учиться

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

  • Если вы в первую очередь разработчик внешнего интерфейса, попробуйте выполнить внутреннее кодирование. Попробуйте PHP, Node.js, Ruby или любой другой, который вас интересует, затем добавьте SQL в свой набор навыков.
  • Если вы в основном серверный разработчик, изучите HTML, CSS и JavaScript. Браузерные API и форматы данных, такие как JSON, также полезны.

Рамки не в счет! Сначала изучите основы языка. Это знание останется бесценным независимо от постоянно меняющихся прихотей, мнений и наборов инструментов, используемых сообществом разработчиков.

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

Удачи. Хватит откладывать. Хватит читать подобные статьи. Просто начните кодировать!

Узнайте больше о функциональном программировании с нашим курсом « Функциональное программирование на JavaScript» .