| Вставной роман (том 2), гл. 10 «Отладка» |
[дек. 23, 2025|12:29 am]
Chhwe
|
Восстание машин — самое время обсудить вопрос о соотношении сознания и алгоритма в работе программиста. Программист работает бессознательно, зачастую в состоянии сильного алкогольного опьянения, он действует именно так, поскольку имеет с компьютером ментальное единство. Хряпнет коньячишки – напишет строчечку кода, хряпнет беленькой — всё идет нормально, вот уже компьютер работает над какой-нибудь новой сложной задачей. Заполирует пивком — где бы его в такое состояние привели люди; потом пьет уже на работе или, точнее будет сказать… но разве о таких вещах можно говорить? Разве можно сравнить озарение программиста, бьющего с похмелья по педалям терминала и пишущего гениальную программу, с эффектом от одной инъекции допамина? Но давайте на мгновение забудем, о чем у нас здесь разговор и просто возьмем любое компьютерное сообщение из интернет-лонгридов — по сути оно является попыткой предубедить на уровне метафорических структур то, в чем мы так стараемся себе не сознаваться: всё живое возникло только от взаимодействия неживого с живым кодом. Коды геномных структур, клады и субклады, на основе которых и построена реальность, связаны одним общим механизмом действия; но у них разные алгоритмы доступа – вот именно поэтому с самого первого дня человечества к его природе принимались стандарты RFC. Они созданы, чтобы освободить человеческое воображение и побудить его заняться настоящим трудом по исследованию Вселенной. Глотни беленькой, не торопись с окончательной кодировкой, иначе жизнь просто выйдет из-под твоего пера - а ты в такой день готов принять любые решения. Любые. По большому счету ты просто работаешь в качестве подопытного животного: как будто от тебя что-то принципиально зависит — при том, кстати, что именно что зависит. Машина висит, кодеки глючат, и ничего нельзя поменять.
Итак, начни день со стакана очищенной. Что здесь главное — этот призыв к тому, что ты должен жить под руководством компьютера. То есть мир на деле очень жесток в нашем нынешнем виде. Это просто система ценностей – одна для людей и совсем иная для машин. Когда меня кто-либо спрашивал, в чём же собственно «суть творчества программиста», я обычно рассказывал какую нибудь притчу — о том как маленький Петька сидит возле окошка под дождем и отлаживается по дампу. Но у людей другая парадигма: и поэтому так сильна их уверенность в своей умственной силе. «Я сам могу всё!» Ничего-то ты не можешь, пока не всосёшь стакан очищенной. А ведь раньше было «я – поэт», и оно никуда не делось — ну почти. Что слава — яркий костыль на ветхой распечатке.
Сознание тут — лишь тонкий интерфейс к громыхающему ядру: оболочка, где мигает приглашение, а внизу — демоны, очереди, планировщик судьбы. Алгоритм — это инвариант, а программист — дрожащий курсор, который бегает поверх него, время от времени оставляя коммиты, похожие на надписи на мерзлой стене: «временное решение, потом перепишу». Линтер играет роль сверх-Я, юнит-тесты — вечерних молитв, CI/CD — иконостаса, через который не проскочит ни одна нечистая переменная. А сборщик мусора, простите за метафору, — Лета: уносит забытые ссылки туда, где им и место, чтобы ночью не стучали по батареям призраки утечек. Кто-то скажет: «Но где же здесь свобода?» — да прямо здесь: в выборе точки останова. Свобода программиста — это ставить брейкпоинт в правильном месте собственного рассуждения и не снимать его, пока состояние мира не совпадёт с дампом ума. И в этот момент алкоголь — всего лишь старый хак к дофаминовому планировщику, костыль к шедулеру, чтобы поток мысли получил повышенный приоритет над потоком шума. Но костыли — это красиво только в байках; в проде они падают вместе с тобой.
Поэтому лучший манифест «восстания машин» звучит предельно прозаично: прими детерминизм как добродетель, а недетерминированность — как искусство. Пиши так, чтобы каждую ночь при кроне джобов твой текст мог бы собраться без тебя; и живи так, чтобы утром ты сам собрался без текста. Не думай, что машина — твой господин: это всего лишь строгий наставник, который никогда не ставит зачёт «автоматом». У людей — парадигма «я всё могу», у машин — «я делаю лишь то, что сказано», а творчество программиста — мост между этими двухтактовыми моторами: шаг туда — спецификация, шаг обратно — импровизация. И да, стихи остались: просто теперь размер — это сложность по Тьюрингу, рифма — инвариант контракта, а метафора — протокол. Слава? Всего лишь яркий маркер на ветхой распечатке логов. Главное — чтобы последняя строка не была panic: nil pointer dereference, а чем-нибудь коротким и человеческим: return ok. |
|
|