Рейтинг мов програмування (результати другого опитування)
В опитуванні, яке проводилося з 5 липня по 9 серпня, взяли участь 3040 чоловік (2663 з Україною), півроку тому ці цифри становили 2394 та 2079 відповідно. Частка учасників минулого опитування в цьому: 23%.
Короткий звіт - лідери все ті ж (С #, Java, PHP), JavaScript набуває значення як основна мова розробки, розробка на чистому З маргіналізується, Scala пророкують велике майбутнє.
Власне результати:
Якою мовою ви написали свою першу програму?

І що зараз:
Якою мовою пишете для роботи зараз?

П'ятірка лідерів не змінилася, більше за все у нас як і раніше пишуть на С #, а потім Java, третій по ємкості ринок розробки PHP, потім С + +. Другий ешелон так же очолює Python, за яким слід Ruby, а 1С знову замикає кордон маргінальності. Єдине значуще зміна - JavaScript, як основну мову використовують вже більше ніж Delphi.
Ще поглянемо детальніше на розподіл часток - чи збільшується розрив між С + + і Java чи ні:
Частки мов у порівнянні з минулим опитуванням

Тут ми бачимо що розрив між С # і Java збільшується, але незначно, єдині зміни «лежачі на кордоні» статистичної значимості: це збільшення частки PHP на 1% а JavaScript - майже на 3.
речі, якщо вже заговорили про статистику - опишемо модель, яку ми використовуємо, щоб назвати зміни в розподілі використання мов програмування в часі статистично значимими - ми вважаємо основна мова програмування нормально розподіленим властивістю і думаємо, що зміни статистично значущі, якщо результати даного опитування та попереднього не можуть бути різними групами в одній популяції c звичайним довірчим інтервалом (0.95%). Насправді це дуже сильне твердження, так як ми при цьому не беремо до уваги такі чинники:
- обсяг всієї популяції у нас порівняно малий (скільки програмістів в Україну - ну явно менше 100000)
- при цих змінах гіпотеза зворотного затвердження (тобто пропозиція про те, що популяція не змінилася) майже завжди невірна
Тому, мені здається, що в нашому випадку:
- не можна говорити про зміни нижче планки 95-ти відсоткової достовірності, як про білому шумі - вони все-таки висловлюють тенденції, інша справа що ми не можемо їх статистично верифікувати.
- звичайна межа ймовірності справедливості гіпотези про зміни занадто висока, введений 2 кордону: 0.05 (звичайна статична значимість) і 0.10 (гранична). Тобто якщо з імовірністю в 90% розподіл мов у минулому і цьому опитуванні не може бути однаковим, то ми це будемо відзначати. ??
Тепер подивимося, які мови люди вважають перспективними для наступних проектів:
Якби ви починали зараз комерційний проект, і у вас була б свобода вибору ...

Як і раніше, Python починає випереджати PHP. З сюрпризів - значне збільшення згадок Scala, що дає мови стійке положення у другій групі. Можна скласти індекс задоволеності мовою як відсоток користувачів мови, які обрали його ж самі в комерційному проекті у своїй області:
Індекс прихильності до мов

Отже, користувачі С #, Python і Ruby найменше схильні змінювати мову розробки, а найбільше - розробники на чистому С (сюрприз) а також 1С та Delphi.
Що б вибрали зараз ті, хто зараз розробляє на С: в основному С + + (31.5%), залишилося б на С 22% (це те що відкладено на графіку), наступні напрями - Python (12.5%), Java (10%), C # (9%) і PHP (4,6%).
Ті, хто розробляє на Delphi, вибрали б у наступних проектах С # (24%), Java (14%), Python (10%) і С + + (8%). У 1C ситуація схожа: C # (20%), Python (12%), Java і С + + (по 8%)
Ще цікаво напрямок міграції з Java - найбільше число тих, хто вибрав би для наступного проекту іншу мову програмування, вибирають Scala (10%), за ним йде С # (5%), Python (3.5%) і Groovy (3.2 %).
Які додаткові мови ви використовуєте для роботи?

Як і раніше, всі використовують JavaScript. Ще С як додатковий входить до основної групи, також як додатковий часто використовується Groovy (частіше ніж Scala). До речі, поява SQL в цій таблиці свідчить про те, що значна частина учасників не прочитала передмову до опитування. Висловлюю щире співчуття їхнім роботодавцям.
Тепер про свої проекти: вони є у 77% людей, які брали участь в опитуванні, розподіл мов наступне:
Чи є у вас свої pet-projects? Якщо є, то на яких мовах?

Що цікаво - значно збільшилася кількість проектів на JavaScript і PHP, Java перемістилася з першого місця на четверте за кількістю власних проектів.
Як приймається рішення про вибір мови?

(як і раніше - по- різному)
Перейдемо до розгляду демографічних характеристик. Спочатку - просто розподіл досвіду роботи програмістів, порівняно з минулим опитуванням:
Розподіл досвіду роботи програмістом

Видно, що наша аудиторія стала трохи досвідченіший. Частка програмістів зі стажем>10 років становить близько 20%. Подивимося ще на розподіл за віковими групами:

Тобто розробка і раніше професія молодих, в основному від 20-ти до 30-ти.
Наступна вікова категорія - вже тільки третину від попередньої.
Ну а розробник старше 50-ти у нас екзотика. До речі, в опитуванні взяло участь 11 людей з цієї групи. На чому вони пишуть: C #, Java (3), C + + (2), а також Ruby, Delphi і С (1).
У розробників від 40 до 50-ти трохи інша картинка: С + + (16), PHP (7), Java (7), C # (5), Delphi (3), Python (2) і по одному для Ruby, PL/SQL, Perl, JavaScript, DBase, Basic і 1С
А ось в основних групах, розподіл мов близько до загального.
Ще питання - наскільки часто люди змінюють основну мову: виявляється міняють, але не дуже часто. Ось діаграма де в якості основного розбиття - досвід роботи програмістом, а в якості додаткового - досвід роботи на даній мові:
Досвід роботи програмістом/обраною мовою

Тобто десь половина програмістів з більш ніж десятирічним досвідом хоч раз та змінили основна мова, а десь 10% освоюють новий. Також зауважимо особливість першої колонки - існують люди з досвідом роботи програмістом рік і менше, але більш ніж десятирічним досвідом роботи на обраною мовою. Очевидно це наші 23-річні сеньйори;)
Ще звернемо увагу на те, чи є різниця у використанні мов програмування для розробників, які перебувають в Україні і за її межами:

Є і все та ж: там більше пишуть на С + + і Python і менше - на PHP і Java.
Нарешті, фінальна таблиця:
| Мова | Частка ринку | diff (зміна щодо опитування 2010-11) | Робоча мова зараз | Частка ринку в перспективі | Почали б проект зараз | Як додатковий робочий | У хобі проекті | Індекс прихильності | 
|---|---|---|---|---|---|---|---|---|
| С # | 22.33 | 678 | 25.11 | 752 | 594 | 673 | 0.84 | |
| Java | 20.38 | 619 | 20 | 610 | 558 | 570 | 0.68 | |
| PHP | 17.35 | 1.07 (p = 0.06) | 527 | 10 | 308 | 523 | 631 | 0.50 | 
| C + + | 11.72 | 356 | 10 | 301 | 526 | 498 | 0.59 | |
| Python | 6.29 | 11 | 348 | 485 | 424 | 0.81 | ||
| Ruby | 4.05 | 123 | 6.5 | 196 | 179 | 198 | 0.78 | |
| Objective-C | 3.06 | 93 | 2.7 | 81 | 131 | 132 | 0.59 | |
| JavaScript | 2.60 | 0.7 (p = 0.058) | 79 | 2.8 | 86 | 1757 | 649 | 0.45 | 
| Delphi | 2.27 | 61 | 1.0 | 31 | 125 | 135 | 0.39 | |
| C | 2.14 | 65 | - | 23 | 382 | 186 | 0.23 | |
| ActionScriot | 2.07 | 63 | 1.16 | 35 | 0 | 0 | 0.5 | |
| Perl | 1.54 | 47 | - | 29 | 184 | 83 | 0.46 | |
| 1C | 1.11 | 34 | 13 | 36 | 24 | 0.35 | ||
| PL/SQL | 12 | 0 | 9 | 0 | 0.16 | |||
| Basic | 10 | 0 | 62 | 26 | 0.30 | |||
| Scala | 9 | 3 | 91 | 57 | 66 | 0.55 | ||
| Groovy | 8 | 1 | 29 | 96 | 40 | 0.62 | ||
| Lua | 6 | 0 | 53 | 25 | 0.16 | |||
| DBase | 5 | 0 | 11 | 5 | 0 | |||
| Erlang | 4 | 17 | 15 | 22 | 0.5 | |||
| Lisp | 4 | 16 | 32 | 43 | 0.75 | |||
| Haskell | 2 | 21 | 22 | 37 | 0.5 | |||
| Fortran | 1 | 0 | 8 | 6 | 0 | |||
| Asm | 1 | 0 | 77 | 35 | 0 | |||
| F # | 1 | 7 | 7 | 7 | 0 | |||
| Cobol | 0 | 0 | 2 | 1 | 0 | 
Дані опитування і скрипт обробки мовою R можна знайти на github.com/... pl_questionare
. Plr-table td,. Plr-table th { border: 1px solid # 999; line-height: 1.3; } . Plr-table th { text-align: center; vertical-align: middle; padding-top: 8px! important; } . Plr-table p { padding: 0; }Опубліковано: 16/08/11 @ 07:38
Розділ  Різне  
Рекомендуємо:
Google + ... Так, інвайт теж будуть.
 Історія про те, як хлопчик змінив світ
 Як збільшити кількість переглядів сторінок
 BuyPost як біржа для вебмайстрів
 Нові правила спілкування на ДОУ