- PVSM.RU - https://www.pvsm.ru -
На днях один популярный вопрос на Stack Overflow [1] отпраздновал свой юбилейный миллионный просмотр.
Ты не одинок, jclancy. За пять лет, которые прошли, с тех пор как был опубликован этот пост, больше миллиона других разработчиков постигла та же участь — они застряли в Vim и не могли выбраться без посторонней помощи. Не зря в IT сообществе столько шуток о том, как трудно найти выход из этого редактора.
От опытных пользователей Vim я слышал, что редактор не заслуживает такой репутации, и они, пожалуй, правы (даже сам я разобрался с этой проблемой за последние пару лет). Думаю, есть две причины, по которым люди постоянно забывают, как выйти из Vim. Во-первых, разработчиков, как правило, перебрасывает в Vim из консоли или в результате еще какой-нибудь непредвиденной ситуации; во-вторых, это случается не слишком часто, так что они успевают забыть, как вышли из положения в прошлый раз.
Чтобы отпраздновать это событие, давайте посмотрим на статистику. В частности, попробуем вычислить, кто чаще всего именно застревает в Vim, а не оказывается там умышленно, и посмотрим, как распределяются эти категории по странам и языкам программирования.
У какого количества людей возникают проблемы с выходом из Vim?
В прошлом году около 0.05% от общего числа просмотров приходилось на вопросы типа «Как выйти из редактора Vim? [2]»; это значит, что каждый 20 000-й посетитель приходил на сайт именно с этой проблемой. Иными словами, по будням в часы, когда трафик достигает пика, примерно 80 человек в час нуждаются в помощи с выходом из Vim.
Менялся ли этот процент со временем? То есть можно ли сказать, что разработчики постепенно осваивают эту функцию собственными силами?
Что-то не похоже. Вопрос появился на сайте в августе 2012 года, первые несколько месяцев число просмотров у него было очень низкое. Затем трафик стал стабильно расти и в течение двух лет оставался на подъеме — вероятно, страница поднялась на первые строки поисковой выдачи и на нее стали ссылаться сторонние ресурсы. В следующие два года прирост был достаточно стабильным. Конечно, из этого не следует, что одни и те же люди заходят на страницу раз за разом — возможно, это программисты-новички, которые попали в такую ситуацию впервые.
Статистика по странам
Как мы уже упоминали в одном из предыдущих постов [3], анализ трафика Stack Overflow позволяет многое узнать о географическом распределении разработчиков. Давайте посмотрим, какой процент составляют вопросы именно о выходе от общего числа постов, связанных с Vim, для каждой страны. Мы предполагаем, что в странах, где много опытных пользователей Vim, процент будет низким. Большие значения, напротив, свидетельствуют о том, что многие разработчики попадают в Vim неожиданно для себя.
Как видим, программисты из Украины, Турции и Индонезии довольно часто застревают в этом редакторе: доля вопросов о Vim, связанных непосредственно с выходом из программы, у них больше, чем у всех остальных государств. На противоположном конце спектра находятся Китай, Корея и Япония — у них процент таких запросов меньше в добрые десять раз. Из этого, по всей видимости, следует заключить, что разработчики из этих стран заходят в Vim не по случайности и хорошо представляют себе, что делать, чтобы выйти.
На каких языках пишут те, кто не может сладить с Vim?
Логичным также представляется, что на опыт работы с Vim будет влиять и тот язык, на котором программист пишет код. Эту гипотезу мы можем проверить так: разобьем пользователей на группы по основной технологии программирования и посмотрим на среднее процентное соотношение «вопросы по выходу из Vim» / «вопросы по Vim» у каждой из групп.
Основную технологию программирования мы будем определять на базе того, какой тэг на Stack Overflow пользователь посещает чаще всего (скажем, в моем случае самый популярный тэг — R, на него приходится 52% просмотров). Способ не идеальный, но достаточно надежный, чтобы в общих чертах представить распределение по языкам. Для этой части анализа в выборку мы включали только зарегистрированных пользователей, у которых более 100 просмотров сайта.
Чаще всего сложности с тем, чтобы покинуть Vim, возникают у фронт-енд разработчиков — то есть тех, которые преимущественно просматривают тэги JQuery, CSS и AngularJS. За ними следом идут разработчики на Microsoft (C# и SQL Server) и мобильные разработчики (Android и iOS). Они работают по большей части с интегрированными средами разработки (Visual Studio, Eclipse, Xcode и так далее), а не простыми текстовыми редакторами, поэтому неудивительно, что они более склонны угодить в Vim случайно, чем открыть его умышленно.
Разработчики, которые реже всего заходят в тупик, пишут на C, C++, Python и Ruby. Этот список, на мой взгляд, вполне закономерен: он представляет собой смесь низкоуровневых и скриптовых языков, которые обычно предполагают простой текстовый редактор без графической оболочки. Соответственно, у тех, кто работает с этими языками, достаточно опыта, чтобы выйти из Vim, не прибегая к помощи Google.
Заключение
Когда я увидел, что число просмотров вопроса подходит к отметке в миллион, меня это позабавило, но вместе с тем, я испытал гордость за то, что работаю (и, среди прочего, отвечаю на вопросы) над сайтом, который оказался полезен такому огромному количеству разработчиков. Подумать только: ответ, который предлагаешь, может помочь миллионам людей, о чем бы ни шла речь — об отмене команды в git [4] или использовании ключевого слова yield в Python [5].
Если вы тоже хотите внести свой вклад, мы приглашаем вас присоединиться [6] к крупнейшему сообществу разработчиков в мире в любой роли, которая вам подходит — задавайте вопросы и предлагайте ответы, устройтесь на работу или сделайте себе имя онлайн, опубликовав свою историю [7]. Также вы можете использовать наши инструменты, например, Stack Overflow Trends [8], которые позволют узнать много нового о разработчиках ПО.
В любом случае, когда вы в следующий раз решите проблему благодаря Stack Overflow, не забывайте о том, что тысячи пользователей ежедневно задают вопросы, публикуют ответы, редактируют и модерируют посты, чтобы дать вам такую возможность.
Автор: nanton
Источник [9]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/vim/256251
Ссылки в тексте:
[1] один популярный вопрос на Stack Overflow: https://stackoverflow.com/questions/11828270/how-to-exit-the-vim-editor
[2] Как выйти из редактора Vim?: http://stackoverflow.com/questions/11828270/how-to-exit-the-vim-editor
[3] в одном из предыдущих постов: https://stackoverflow.blog/2016/11/30/how-do-developers-in-new-york-san-francisco-london-and-bangalore-differ/
[4] отмене команды в git: https://stackoverflow.com/questions/927358/how-to-undo-last-commits-in-git
[5] использовании ключевого слова yield в Python: https://stackoverflow.com/questions/231767/what-does-the-yield-keyword-do-in-python
[6] присоединиться: https://stackoverflow.com/users/login?utm_source=so-owned&utm_medium=blog&utm_campaign=gen-blog&utm_content=blog-link
[7] свою историю: https://stackoverflow.blog/2016/10/11/bye-bye-bullets-the-stack-overflow-developer-story-is-the-new-technical-resume/
[8] Stack Overflow Trends: https://insights.stackoverflow.com/trends?utm_source=so-owned&utm_medium=blog&utm_campaign=trends&utm_content=blog-link
[9] Источник: https://habrahabr.ru/post/329514/
Нажмите здесь для печати.