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