Решил поделиться наблюдениями с редакцией и читателями. Почти все программисты годами занимались какой-то ерундой и писали безумные (в плане практической бессмысленности) pet-проекты.
И на GitHub, и на других платформах они выбирали себе из open source-проектов бессмыслицу всякую и активно коммитили туда. То компилятор выберут, то очередной клон vim, то движок базы данных, то стек сетевых протоколов, то ядро экзотической ОС на Rust, то оконный менеджер наподобие wayfire, то математическую либу какую-то... То формальную верификацию куда-то приделают на скотч (все вот эти модел-чекеры, теорем-пруверы, всюду пихали Idris, TLA+, Isabelle, Liquid Haskell, Agda, F*, Lean) — туда, где здравомыслящему человеку ясно, что верификация вообще не нужна. Это игры разума какие-то... Фильм был такой про человека с медицинским диагнозом — "Игры разума" ("A Beautiful Mind").
А я напоминаю, что на Земле существуют четыре направления:
- B2B — это софт для коммерческих корпораций. Пример: помочь автоматизировать комплаенс для юрлица.
- B2N — софт для некоммерческих организаций (благотворительных фондов). Пример: web-приложение для ветклиники, где лечат бездомных животных.
- B2C — софт для физических лиц. Пример: да любой SaaS, где юзер оплачивает подписку и получает нужный ему результат.
- B2G — софт для государств. Пример: сайт, где государство принимает жалобы на ямы на дорогах, исполняет эти материалы, присылает ответы жалобщику на его email.
Так вот, почему почти все программисты в свободное время годами и даже десятилетиями писали исключительно софт, который не являлся ни B2B, ни B2N, ни B2C, ни B2G? Они не понимали, что коммиты в клоны или даже оригиналы sway WM, Linux kernel, Neovim или playwright никому не нужны? На мой взгляд, это помешательство как-то связано с литкод-фанатами, олимпиадниками, делением программистов на настоящих ("системных", "низкоуровневых", "инфраструктурных", "гениальных", "задротов", "ботанов", "разработчиков либ и фрэймворков") и опущенных ("прикладных программистов", "глупеньких", "web-макак", "перекладывателей джейсонов").
У программистов отсутствует не только этика, как мы уже убедились на примере двух статей (ссылка-1, ссылка-2), но и разум.
Я вовсе не утверждаю, что важна только коммерческая полезность софта. Я предлагаю мыслить шире: важна полезность софта для человечества, людей, то есть даже некоммерческий софт хорош, если он полезен для организаций, благотворительных фондов, людей. Программисты этого не понимают, увы. Знаю одного девелопера, который на Расте клон mc (Midnight Commander) пишет в свободное время, уставившись красными глазами в монитор и питаясь энергетиками. А несколько лет назад он писал гипервизор — разумеется, тоже никому не нужный. А ещё планировал портировать Erlang VM на этот гипервизор, чтобы виртуальная машина без операционной системы работала, на голом железе, словно unikernel. И этот хрен всегда хвастался тем, что на каждом собеседовании был гейткипером, не пропустил ни одного волка на борт галеры. Пропускал он только таких чудаков, как он, которые пишут гипервизоры.
Какие такие тёмные, бесовские силы смогли привить русским айтишникам культ системного программирования?


Комментарии (27)