[Из песочницы] Самые оупенсорсные города мира
По мотивам «Самые оупенсорсные города России» проверил 1000 самых населённых городов мира на количество разработчиков имеющих аккаунт на гитхабе.
В сотню самых программирующих городов из прошлого рейтинга вошла только Москва, она занимает 97 место, а первую пятёрку заняли американские города.
Прошу любить, жаловать и анализировать (первая сотня):
Город | Аккаутов на 1000 | Население | Аккаунтов | C# | Java | PHP | JavaScript | |
1 | San Francisco | 39.21330 | 732072 | 28707 | 259 | 1857 | 964 | 5168 |
2 | Seattle | 23.65600 | 569369 | 13469 | 499 | 940 | 470 | 2058 |
3 | Austin | 13.45580 | 678368 | 9128 | 237 | 617 | 400 | 1322 |
4 | Washington | 11.29047 | 552433 | 7129 | 143 | 353 | 338 | 1008 |
5 | Portland | 9.13443 | 540513 | 6724 | 119 | 319 | 473 | 1078 |
6 | Denver | 7.84379 | 555981 | 4361 | 107 | 254 | 254 | 644 |
7 | Amsterdam | 6.51773 | 745811 | 4861 | 87 | 340 | 429 | 876 |
8 | Paris | 6.26618 | 2110694 | 13226 | 230 | 1104 | 1467 | 2277 |
9 | Stockholm | 4.62854 | 1253309 | 5801 | 244 | 548 | 340 | 917 |
10 | San Jose | 4.19405 | 897460 | 3764 | 43 | 473 | 109 | 505 |
11 | Helsinki | 3.96270 | 558457 | 2213 | 26 | 251 | 124 | 379 |
12 | Lyon | 3.92926 | 463700 | 1822 | 37 | 171 | 328 | 315 |
13 | Edinburgh | 3.92846 | 435794 | 1712 | 57 | 181 | 115 | 189 |
14 | Chicago | 3.85087 | 2841952 | 10944 | 203 | 614 | 455 | 1584 |
15 | London | 3.77969 | 7421228 | 28050 | 837 | 2113 | 2025 | 4619 |
16 | Oslo | 3.77895 | 808690 | 3056 | 104 | 343 | 151 | 509 |
17 | Nashville | 3.65638 | 530852 | 1941 | 57 | 76 | 145 | 311 |
18 | Shenzhen | 3.63856 | 1002592 | 3648 | 49 | 501 | 150 | 564 |
19 | San Diego | 3.63000 | 1287050 | 4672 | 101 | 310 | 296 | 647 |
20 | Bristol | 3.52205 | 430714 | 1517 | 63 | 98 | 121 | 255 |
21 | Berlin | 3.35808 | 3398362 | 11412 | 145 | 1067 | 937 | 1745 |
22 | Vancouver | 3.33030 | 1837970 | 6121 | 169 | 438 | 408 | 906 |
23 | Dublin | 3.32803 | 1024027 | 3408 | 114 | 383 | 222 | 484 |
24 | Bangalore | 3.23687 | 4931603 | 15963 | 180 | 1925 | 535 | 1822 |
25 | Barcelona | 3.15465 | 1570378 | 4954 | 72 | 430 | 516 | 765 |
26 | Ottawa | 3.11516 | 874433 | 2724 | 60 | 211 | 145 | 430 |
27 | Munich | 3.01251 | 1246133 | 3754 | 81 | 439 | 313 | 515 |
28 | Baltimore | 2.94651 | 610892 | 1800 | 40 | 116 | 101 | 212 |
29 | Dallas | 2.92563 | 1211704 | 3545 | 128 | 251 | 196 | 505 |
30 | Athens | 2.91988 | 729139 | 2129 | 34 | 254 | 147 | 285 |
31 | New York | 2.82267 | 8107916 | 22886 | 315 | 1452 | 1093 | 3558 |
32 | Las Vegas | 2.65686 | 540111 | 1435 | 23 | 64 | 120 | 154 |
33 | Copenhagen | 2.53587 | 1089958 | 2764 | 167 | 218 | 212 | 433 |
34 | Philadelphia | 2.48887 | 1453268 | 3617 | 69 | 253 | 181 | 527 |
35 | Charlotte | 2.39658 | 598351 | 1434 | 51 | 95 | 100 | 231 |
36 | Los Angeles | 2.38527 | 3877129 | 9248 | 153 | 546 | 502 | 1317 |
37 | Columbus | 2.30851 | 736836 | 1701 | 54 | 132 | 81 | 260 |
38 | Cleveland | 2.28246 | 449514 | 1026 | 45 | 75 | 66 | 120 |
39 | Pune | 2.16896 | 2935968 | 6368 | 92 | 620 | 254 | 701 |
40 | Sofia | 2.15052 | 1062065 | 2284 | 368 | 204 | 184 | 332 |
41 | Toronto | 2.10615 | 4612187 | 9714 | 224 | 723 | 564 | 1554 |
42 | Hamburg | 2.10341 | 1733846 | 3647 | 55 | 405 | 356 | 542 |
43 | Leeds | 2.03021 | 455124 | 924 | 49 | 42 | 114 | 161 |
44 | Newcastle | 1.90376 | 497961 | 948 | 27 | 75 | 82 | 153 |
45 | Stuttgart | 1.90133 | 591688 | 1125 | 28 | 139 | 118 | 172 |
46 | Dresden | 1.89267 | 480801 | 910 | 20 | 120 | 84 | 100 |
47 | Glasgow | 1.85819 | 610271 | 1134 | 36 | 80 | 78 | 172 |
48 | Hangzhou | 1.85290 | 1878129 | 3480 | 45 | 545 | 145 | 738 |
49 | Quebec | 1.78432 | 645623 | 1152 | 38 | 88 | 68 | 175 |
50 | Melbourne | 1.77791 | 3730212 | 6632 | 247 | 436 | 502 | 1005 |
51 | Indianapolis | 1.75614 | 773283 | 1358 | 68 | 54 | 57 | 225 |
52 | Sacramento | 1.74824 | 467898 | 818 | 13 | 42 | 56 | 118 |
53 | Madrid | 1.73755 | 3102644 | 5391 | 81 | 612 | 398 | 902 |
54 | Minsk | 1.72835 | 1742123 | 3011 | 142 | 353 | 264 | 424 |
55 | Brooklyn | 1.72819 | 2300664 | 3976 | 28 | 168 | 244 | 813 |
56 | Sydney | 1.64930 | 4394585 | 7248 | 294 | 448 | 476 | 1192 |
57 | Hyderabad | 1.60663 | 3598199 | 5781 | 89 | 605 | 186 | 717 |
58 | Hyderabad | 1.60663 | 3598199 | 5781 | 89 | 605 | 186 | 717 |
59 | Rotterdam | 1.59807 | 603851 | 965 | 29 | 84 | 128 | 158 |
60 | Singapore | 1.59478 | 3547809 | 5658 | 112 | 511 | 306 | 818 |
61 | Vilnius | 1.53950 | 542381 | 835 | 31 | 62 | 100 | 122 |
62 | Houston | 1.53917 | 2027712 | 3121 | 136 | 152 | 121 | 365 |
63 | Warsaw | 1.52875 | 1651676 | 2525 | 90 | 288 | 183 | 293 |
64 | Leipzig | 1.48994 | 492637 | 734 | 16 | 85 | 109 | 110 |
65 | Tucson | 1.48966 | 518907 | 773 | 7 | 49 | 41 | 80 |
66 | Milwaukee | 1.46931 | 579180 | 851 | 35 | 64 | 61 | 134 |
67 | Cologne | 1.45537 | 968823 | 1410 | 20 | 142 | 177 | 223 |
68 | Calgary | 1.43834 | 968475 | 1393 | 60 | 90 | 87 | 174 |
69 | Sheffield | 1.43385 | 447048 | 641 | 12 | 42 | 80 | 76 |
70 | Montreal | 1.42021 | 3268513 | 4642 | 131 | 421 | 318 | 672 |
71 | New Orleans | 1.36501 | 459336 | 627 | 10 | 23 | 34 | 81 |
72 | Brisbane | 1.34692 | 1843459 | 2483 | 148 | 169 | 179 | 332 |
73 | Kiev | 1.30139 | 2514227 | 3272 | 118 | 453 | 366 | 502 |
74 | Zagreb | 1.29476 | 698967 | 905 | 41 | 87 | 98 | 111 |
75 | Taipei | 1.28917 | 2514794 | 3242 | 66 | 311 | 151 | 539 |
76 | Budapest | 1.27862 | 1708088 | 2184 | 60 | 242 | 209 | 324 |
77 | Colombo | 1.27754 | 648119 | 828 | 28 | 167 | 80 | 104 |
78 | Birmingham | 1.26379 | 984336 | 1244 | 50 | 81 | 120 | 161 |
79 | Albuquerque | 1.24133 | 487378 | 605 | 7 | 42 | 28 | 58 |
80 | Cluj | 1.23672 | 692149 | 856 | 34 | 105 | 75 | 128 |
81 | Kathmandu | 1.22310 | 790612 | 967 | 9 | 91 | 121 | 130 |
82 | Phoenix | 1.20965 | 1428509 | 1728 | 49 | 107 | 116 | 251 |
83 | Belfast | 1.19455 | 585994 | 700 | 19 | 58 | 38 | 98 |
84 | Brussels | 1.19231 | 1019022 | 1215 | 23 | 95 | 118 | 202 |
85 | Edmonton | 1.18810 | 822319 | 977 | 42 | 83 | 65 | 126 |
86 | Porto Alegre | 1.17718 | 1372763 | 1616 | 23 | 211 | 132 | 226 |
87 | Islamabad | 1.17353 | 601600 | 706 | 18 | 61 | 38 | 56 |
88 | Detroit | 1.14809 | 884941 | 1016 | 28 | 79 | 68 | 187 |
89 | Yogyakarta | 1.13552 | 636711 | 723 | 6 | 61 | 129 | 98 |
90 | Milan | 1.06750 | 1156903 | 1235 | 24 | 116 | 126 | 191 |
91 | Antwerp | 1.05479 | 459805 | 485 | 29 | 34 | 65 | 82 |
92 | Bandung | 1.03599 | 1699822 | 1761 | 23 | 194 | 208 | 179 |
93 | Bremen | 1.02849 | 546429 | 562 | 9 | 67 | 42 | 71 |
94 | Campinas | 0.99847 | 1031573 | 1030 | 23 | 133 | 70 | 113 |
95 | Liverpool | 0.99798 | 468946 | 468 | 12 | 29 | 44 | 73 |
96 | Riga | 0.99115 | 742570 | 736 | 17 | 75 | 98 | 118 |
97 | Moscow | 0.98089 | 10381288 | 10183 | 372 | 782 | 887 | 1425 |
98 | Belgrade | 0.94243 | 1115200 | 1051 | 26 | 100 | 115 | 164 |
99 | San Antonio | 0.94206 | 1256810 | 1184 | 30 | 63 | 102 | 101 |
100 | Dubai | 0.92933 | 1137376 | 1057 | 9 | 53 | 94 | 150 |
101 | Xiamen | 0.88183 | 578337 | 510 | 13 | 65 | 29 | 104 |
Полную таблицу с тысячей городов и распределением по языкам программирования можно посмотреть на github, там же доступна сортировка по любому столбцу, благодаря этому например можно узнать что больше всего Java программистов в живёт Лондоне.
Рейтинг был полученен следующим образом.
1) Города взяты здесь:
www.tiptopglobe.com/biggest-cities-world?p=0
2) Написан небольшой код на bash (смотреть не советую):
github.com/Danyboy/city_github
— Берём sed'ом название городов и их население с сайта
— Ищем через апи github сколько человек вписала у себя в аккаунте каждый город. Пример.
— Мучительно сводим это вместе
— Генерируем html
К апи github для получения все информации пришлось сделать 9000 запросов, что занимает очень много времени, ведь для не авторизованных пользователей разрешено только 10 запросов в минуту.
К сожалению, есть неточности, связанные с разным написанием городов, как было отмечено в комментариях к оригинальному посту (например Saint-Petersburg, St-Petersburg). Кроме того, на сайте tiptopglobe.com не очень свежая статистика по населению.
С радостью приму пожелания, исправления и подсказки на тему, как можно реализовать перебор по всем вариантам названия городов.
Ссылки по теме:
— Красивая визуализация представляющая github комьюнити в виде городов на интерактивной карте и статья о ней.
— Самые популярные пользователи github, статья c анализом полученных данных.
Update: исправил таблицу в статье благодаря замечания lolmaus и m0sk1t