На просторах бывшего СССР есть устойчивый миф: наши программисты лучшие. Ну или просто очень хорошие. Очень-очень. А если русский программист ещё и китаец, хана всему живому. Тем, кто впервые в интернете, вот быстрый пример: «Не рождаются, а становятся: почему российские программисты сильнее всех».

А, собственно, почему мы (они?) считаем, что они сильнее? Поймите правильно, я б только за. Только не люблю крайности вроде «Россия родина слонов и у этих слонов самый длинный хобот в мире» или «В России все байты разворовали, работать нет смысла, доедаем последние биты с чёрной солью». Истина всегда не бинарная, всегда находится между. Но с нашими программистами она фиг поймёшь где находится.


Во-первых, если мы (они) такие умные, то где софт? Все эти российские операционные системы на каждом столе, российские базы данных (JFYI: я знаю про ClickHouse и Tarantool, только вот они в упор не сравнятся по распространению и популярности с ассортиментом от MySQL до SQLite), браузеры, игры, SAP’ы, системы безопасности, сетевое оборудование, прорывные алгоритмы, языки программирования и прочее? Безусловно, на каждый пункт можно привести пример родного, отечественного, но… ау, в мире давно на каждый такой пример будет минимум десяток аналогов (а зачастую это наш продукт аналог с заметным опозданием), сделанных вполне обычными программистами, видимо.

Напомню, речь не о том, что наши программисты тоже могут, но о том, что они лучшие, сильнейшие. Результат лучших разве не должен быть несколько лучше (смягчу условие: пусть хотя бы заметнее) результатов менее сильных специалистов, нет? По факту у меня вот сейчас на десктопе только три отечественных продукта из всей горы софта: FAR (потомок Norton Commander), стопка IDE от JetBrains (молодцы, но далеко не первопроходцы) и Касперский (вот эти натурально круты). Я.Браузер не считаю, ибо Chromium.

Постоянно слышу, что нашим программистам постоянно что-то мешало и мешает. То бизнес палки в колёса ставит (ведь это в России бизнес настолько глуп, что отказывается продавать полезные и качественные продукты от гениальных ребят), то тупые чиновники, то судьбинушка (родился в России? у тебя не судьба, но судьбинушка), то вот ща Доту пройду… вот ща… ща… ну, чуть позже сделаю прорыв в IT, да.

По гамбургскому счёту же… Торвальдс в 22 года выложил прототип Linux. Гейтс и Аллен в 20 лет портировали BASIC. Кармаку и Ромеро в год основания id Software было 21 и 24 года. Страуструп дошёл до C++ к 33 годам. Ритчи не выдержал и создал C в 28 лет. Гвидо создал богомерзкий Python в 35 лет. Могу ещё накидать десятки примеров программистов, которым не мешала жизнь (возраст, страна, условия). Многим помогала, безусловно. Но особенность работы программиста в том, что ему зачастую нужен только компьютер. Не нужны завод, офис и складские помещения. Сиди в углу и реализуй себя в коде.

Субъективно мне кажется, что вот именно такие индивидуальные прорывы и показывают уровень разработки (и разработчиков) в стране. СССР закончился в 1991 году. Скоро уже 30 лет. Нет всесильного КейДжиБи за плечами, прошла техническая нищета (об этом ща будет PS главки) 1990-х, наши таланты могут показать себя вовсю. Ты крутой? Сделай крутое, это будут продавать, твоё имя войдёт в пантеон из сотен имён (ну вот как Степанов, Рошал, Касперский, Пажитнов, Сысоев) даже если на Западе сотворишь чудесное, наоборот, поднимут знаменем так же, как Сикорского поднимают, мол, на Родине талант чуть не закопали, а на Западе вона как засверкал. Но чёт нет.

PS. Некоторое время я думал, что тишина программистов 1990-х вызвана также и тем, что компьютеров у них (как и у детей, соседей, на работе) не было. Ну вот гробы с турбовентиляторами были, а тех самых заветных персональных ЭВМ, на которых поднялся западный мир, не было. Но вот беда, клоны ZX Spectrum в СССР начали выпускаться уже с 1985 года (Baltik), самый накал массового производства пришёлся именно на начало 1990-х. Скажем, ПЭВМ «Байт» выпустили около 65К экземпляров. Сколько выпустили разных Ленинградов, не угадать, там и серийное производство на заводах (вариации Спектр 48, Урал-48К, Веста ИК-30, Электроника КР-005, Kontact, CIЧ-48, Сункар), и подвальные умельцы клепали (помню, на радиорынке сидели дядьки, продававшие разного качества решения разной степени собранности – от готового компа в корпусе до голой платы и распечатки со списком деталей). Или, скажем, Hobbit – к сентябрю 1990 года более 15К машин. Существовали и другие ПЭВМ, что тоже выпускались отнюдь не штучно. В общем, тема для отдельного эссе, но факт: если у вас тогда не было ПЭВМ, у кого-то он точно был (ну или считайте, что эти сотни тысяч оборудования гнили в ангарах).


Во-вторых, ладно, с бизнесом мистически продолбались, что там со вкладом в мировую computer science? Повторю, СССР уже всё. Несколько поколений как всё. Теперь ничего не должно мешать нашим талантам проявить себя во всей красе не только на студенческих олимпиадах по «наговнякай код быстрее, чем соперник из Чжэцзянского университета», но и в науке с производством. Как проверить?

Есть Премия Грейс Мюррей Хоппер – награда, присуждаемая молодому (до 35 лет) специалисту, сделавшему значительный вклад в области вычислительной техники. С 1971 года по 2018 год ни одного Иванова.

Есть Премия Тьюринга – самая престижная премия в информатике, вручаемая Ассоциацией вычислительной техники за выдающийся научно-технический вклад в этой области. С 1966 года по 2018 год ни одного Петрова.

Есть Пионер компьютерной техники – за выдающиеся достижения в компьютерных науках, притом основной вклад должен быть совершён более 15 лет назад. Ура, с 1981 года по 2018 год есть Ляпунов, Лебедев, Глушков, Лопато, Столяров. Правда, после 2000 года наших нет. Торвальдс есть. Страуструп. Гради Буч. Успехи Сидоровых закончились вместе с СССР.

Есть Медаль Джона фон Неймана – за выдающиеся теоретические, технологические и деловые достижения. C 1992 года по 2019 год только Вапник. А в 2015 году, кстати, Гослинг – за Java.

Желающим проверить свои теории о выдающихся программистах вот список, проверяйте. Уверен, это какие-то очень несправедливые награды (в самом деле, какому-то Дональду Кнуту медальку дали, а нашему Денису Кнутовскому зажилили), а были бы справедливыми, так там каждая пестрила бы либо красным флагом, либо триколором.


В-третьих, хорошо, на фоне планеты бизнес, наука и производство в IT у нас как-то не задались быть лучшими, что с обучением? Для меня уже лет 30 существует загадка (ок, кокетство, ни фига не загадка): как так получилось, что в стране лучших программистов классически рекомендуемые учебники по дисциплинам программирования сплошь не отечественные? Заходишь, бывало, в библиотеку, а самое ожидаемое – либо книги издательства «Мир», либо всплытия потенциальных противников в Физматлите, например (в «Библиотечке Программиста» Брукс и Коэн).

Не знаю, как можно с чистыми честными глазами рассказывать о достижениях преподавания, пока в top-N книг для программиста поди найди аборигена. Разве что по совсем узким и специальным темам. И ладно бы языки программирования (тут едва с колен поднимается страна, опираясь на пахнущий берёзовым соком Kotlin), про них обычно авторы хорошие мануалы писали, а у нас с авторами и текстом не для докторов наук напряг после 1980-х. Алгоритмы? Операционные системы? Базы данных? Разработка? Архитектура компьютера? Давно вы искренне советовали коллеге почитать учебник Фёдорова и Хохлова вместо Цейнтфельда и Чи Циань Хэ (из Франции)? Отож.


В-четвёртых, про спортивное программирование. Тут студенты молодцы, конечно. Но… Но. То, чем они занимаются, не является ни наукой, ни производством. Это спорт на время. Спор о том, насколько спортсмены всё-таки программисты и нафига это всё, ведётся давно. Ничего нового не добавлю в аргументацию сторон. Сам считаю, что практическая польза от такой дисциплины примерно рядом с влиянием игры «Что? Где? Когда?» на урожайность пшеницы юга России. Насколько могу судить (по статьям, знакомым знакомых, интервью, просмотром ФИО творцов всякого интересного), средний ботан с факультета информатики для дела едва ли не результативнее, чем яростно шпарящий олимпиадник.

Для меня весомым аргументом является изучение биографии основателей современных российских компаний, занимающихся оригинальным продуктом (не перепродажей, не интеграцией, не наростом на теле чужой разработки и т.п.). Прямая интуиция говорит, что вот там же должны быть все эти оптимизаторы счётчика ступенек Эйфелевой башни в условиях Меркурия, а по факту нет. Та же история в США. Занимался реальной разработкой во время учёбы, участвовал в реальных проектах, двигал науку на своём уровне в MIT? Ты крутой боец, обязательно всплывёшь в чём-нибудь занятном. Занимался какой-то спортивной ботвой? После выпуска… ну, просто чувак. Что-то делаешь. Чуть ли не поголовье бульбы в Айдахо считаешь теперь, молодец.

Но в этой главке могу ошибаться с выводами.


В-пятых, участие в open source. Сейчас очень удобно стало – заходишь в репку чего-нибудь и смотришь коммитеров. Кто, когда, что. Ведь если наши флаги на школьных и студенческих олимпиадах в топе списка, значит, программисты программируют? Должен же быть хоть один Игнатьев в хотя бы top 10 списка самых упоротых разработчиков чего-то многим важного, сложного и популярного? Должен. Но там его обычно нет.

Ведь тоже загадка (нет). Страна большая. Талантов много. А участие этих талантов в мировом потоке байтов настолько незаметное, что диву даёшься. Единственная без иронии клёвая новость последних лет в этой области – «Сотрудники Яндекса будут представлять Россию в комитете по стандартизации C++». Это офигенно. А и всё, пожалуй.


Как итог, не пойму, с чего это наши программисты лучшие? У лучших должен быть результат. Нельзя считать Васю лучшим бегуном, если он дальше областных соревнований не прошёл, а международные медали сплошь у Джона из США и Мбеге из Кении. А мы почему-то считаем.