Рейтинг мов програмування (результати другого опитування)
В опитуванні, яке проводилося з 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 як біржа для вебмайстрів
 Нові правила спілкування на ДОУ