Яку мову програмування буде найкращим для вивчення в 2015 році?

Ось уже кілька років я слідкую за статистикою в мовах програмування. Існує велика кількість джерел даних, включаючи сховища коду, обговорення питань і відповідей, пропозиції роботи, згадки в соціальних медіа, відвідування сторінок з навчальними матеріалами, перегляди навчальних відео, опитування розробників та ін. Дані публікувалися в різні періоди часу, жодні з них не можуть вважатися абсолютно точними, скрізь містяться недоліки, але вони можуть бути корисні для виявлення трендів в індустрії.

GitHut
GitHut — це відносно новий ресурс, який аналізує 2.2 мільйона активних репозиторіїв на GitHub. Перша десятка:
  1. JavaScript
  2. Java
  3. Python
  4. CSS
  5. PHP
  6. Ruby
  7. C++
  8. C
  9. Shell
  10. C#
джерело: GitHut

RedMonk
Мовний рейтинг RedMonk за 2015 рік визначає популярність за допомогою аналізу активності як на GitHub, так і на StackOverflow. Ось ці результати:
  1. JavaScript
  2. Java
  3. PHP
  4. Python
  5. C#
  6. C++
  7. Ruby
  8. CSS
  9. C
  10. Objective-C
Дані взяті на RedMonk

Jobs Tractor
За допомогою мовних трендів Jobs Tractor проводиться аналіз багатьох тисяч постів Twitter, які стосуються роботи. Останні дані за вересень 2014:
  1. Java
  2. Objective-C
  3. PHP
  4. SQL
  5. Java (Android)
  6. C#
  7. JavaScript
  8. Python
  9. Ruby
  10. C++


TIOBE Index
TIOBE Index становить мовний рейтинг за кількістю кваліфікованих інженерів, курсів і ранжирування в пошукових системах.
  1. C
  2. Java
  3. C++
  4. Objective-C
  5. C#
  6. JavaScript
  7. PHP
  8. Python
  9. VisualBasic.NET
  10. Visual Basic


Абсолютно ненаукова мета-дослідна ранжування
Якщо ми об'єднаємо всі ці чотири дослідження, то прийдемо до наступного результату:
  1. Java (все)
  2. JavaScript
  3. PHP
  4. Python
  5. C / C++
  6. C#
  7. Objective-C
  8. Ruby
  9. Visual Basic
Я об'єднав С і С++ і проігнорував CSS з shell-скриптингом. CSS не є мовою програмування як таких, хоч і близький до препроцессорам. Shell сценарії корисні незалежно від освоюваних вами технологій, але ви не знайдете роботу, де був би затребуваний лише ця мова.

Спостереження і застереження
GitHut і RedMonk по суті аналогічні, але цього і варто очікувати, оскільки вони використовують GitHub як первинне джерело даних. Обидва аналізують швидше публічні, ніж приватні репозиторії, що може викликати відхилення результатів в бік open source технологій.

TIOBE схильний до впливу ресурсів пошукових систем. Можливо з цієї причини З очолює список — мова був створений в 1969 і доступно безліч історичних документів. Нові мови, такі як Ruby і Go, неминуче виявляються внизу списку.

Освітні ресурси, швидше за все, впливають на результати. Наприклад, Python в основному використовується для вивчення програмування у школах і коледжах. Тисячі студентів задають питання і завершують проекти, але, судячи з мого досвіду, трудові пропозиції по Python рідко порівнюються з аналогічними по PHP або Ruby, незважаючи на те, що він стоїть вище в кількох списках. У Java схоже перевагу, оскільки у нього різноманітні сфери застосування: в освіті, вебі, настільних і мобільних розробках.

Затребуваність розробників рідних додатків залишається високою, особливо в оглядах, що стосуються роботи. RedMonk повідомляє, що Swift менш ніж за шість місяців, обійшовши 46 позицій, перемістився на 22ю. Однак, розробка додатків — молода дисципліна. У сфері десктопного і веб програмування існує набагато більше вакансій і їх легше заповнити, можливо тому пропозиції роботи видаляються швидше.

На закінчення, застосування мови піддається сильному впливу.

1. Окремий веб-сайт або додаток вимагає величезної кількості технологій, і можливо це ставить їх вище десктопних мов.
2. Ви можете на швидку руку накидати зразки коду з допомогою кількох рядків CSS, JavaScript, PHP, Ruby, Python або shell-скрипта. Але це не обов'язково стосується таких мов як З, C#, Objective-C і Java, які, як правило, застосовуються серед меншої кількості проектів більшого розміру.

Тренди
Порівнюючи сьогоднішні списки RedMonk і Jobs Tractor зі старими за 2014 рік, виявляємо, що на здивування змінилося дуже мало. Кілька мов перемістилися вище або нижче, але нових не з'явилося, так само як і немає різких стрибків в першу десятку.

Про що вам не скаже огляд
Не існує «найкращого» мови.

Мало розробників мають розкіш (або нудьгу?) працювати з однією технологією.

Якщо ви розглядаєте клієнтський JavaScript, то ви далеко не просунетеся без належного розуміння HTML, CSS, форматів зображень, інструментів і заморочок браузерів. Розробникам серверної сторони на NodeJS, PHP, Ruby, .NET і Java в нормі потрібне розуміння web-серверів HTTP, SQL/NoSQL баз даних, а також форматів обміну даними, таких як XML, JSON. Навіть тим, хто пише на одній платформі просте десктопное додаток або рідне додаток для мобільного пристрою, потрібні знання й досвід щодо веб сполук, зберігання даних, IDE і інструментів розробки.

Чим більше технологій ви знаєте, тим більшою кількістю знань вам необхідно розташовувати.

Добре, але що я повинен вивчати?
Огляди цікаві, але не покладайтеся на них при виборі кар'єри. Якщо ви більше нічого не почерпнули з цієї статті, то пам'ятайте:
ті, хто вибирають мову, орієнтуючись на дані досліджень/оглядів або на грошові перспективи, програють
Існує один секрет, стосується того, як стати чудовим розробником:
просто створюйте що-небудь
Спершу знайдіть проблему — особливо таку, яка вам цікава або з якої ви можете отримати користь. Можливо це буде створення сайту-візитки, приведення в порядок своїх фінансів, автоматизація свого будинку або розсилка випадкових твітів своїм передплатникам. Переконайтеся, що цілі досяжні; навіть кращих розробників кинуло б в тремтіння від думки, що необхідно створити клон Call of Duty або WordPress.

Тепер виберіть відповідний набір технологій. Може бути кілька варіантів, але не намагайтеся нав'язати мову для вирішення. Ви можете написати рідне мобільний додаток на Perl, але ресурси зустрічаються рідко і це буде вправу, яке призведе до розчарування.

Потім створіть своє рішення. Google, зразки коду і розробники, які пишуть на тому ж мовою, будуть допомогу, але не чекайте, що вони дадуть відповіді на всі питання. Ваш проект унікальний (або повинен бути унікальним) і існує лише одна людина, яка може вас навчити програмувати — це ви.

Нарешті, не сподівайтеся відразу ж стати кодовою ніндзя. У деяких людей є природні здібності, але і вони також витрачають величезну кількість часу на відточування своїх навичок і весь час вивчають нові техніки і технології. Навіть найменші ролі передбачають наявність досвіду розробок у кілька років. Якщо ви визначитеся з тим, над чим хочете весь час працювати, то існує велика кількість онлайн ресурсів, таких як наш власний Learnable, які можуть вам у цьому допомогти.

Підіб'ємо підсумок: лише кілька людей доб'ється успіху у вивченні мови заради вивчення як такого — це нудне академічне вправу. Краще вивчати мову, який допоможе вам вирішити реальну проблему. Не хвилюйтеся, якщо ця технологія застаріла або не входить в першу десятку — всі мови концептуально схожі і ваші навички можна перенести.

Не переживайте з приводу свого вибору: просто створюйте що-небудь.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.