TGViewer
.NET Разработчик .NET Разработчик @netdeveloperdiary · 6.75K subscribers
Post #2811 2.46K
День 2334. #Оффтоп
Проклятие Знания или Исправляем Всё. Продолжение

Начало

Энтропия непобедима
А теперь вернёмся назад. Назад, когда мы не знали, что можно лучше. ПО не остаётся сделанным. Каждое написанное вами решение начинает гнить в тот момент, когда оно появляется. Не сейчас, не потом, но в итоге. Библиотеки устаревают. API меняются. Происходит регресс производительности. Ваш некогда идеальный инструмент тихо ломается, потому что libfoo.dll с тех пор сменила десяток версий.

У меня были скрипты, которые молча давали сбой, потому что веб-сайт менял свой HTML-макет.
У меня были форматы конфигурации, которые ломались из-за изменения версий библиотек.
У меня были контейнеры Docker, которые умирали, потому что изменялся URL зеркала Alpine Linux.

В каждом случае немедленной эмоциональной реакцией было не просто неудобство, а что-то, что больше напоминало чувство вины. Я создал это, и я лучше знаю. Как я мог этого не предвидеть? Пора это исправить.

Если вы замените каждую часть системы с течением времени, это всё тот же инструмент? Он все ещё служит той же цели? А вы?

Иллюзия завершённости
Я думаю, мы лжём себе:
«Если я просто правильно настрою эту программу, мне больше никогда не придётся к ней прикасаться»
«Если я просто напишу этот инструмент, мой рабочий процесс станет безупречным»
«Если я автоматизирую это, я сэкономлю время навсегда»
«Напиши один раз, запусти везде». Ну да, конечно.

Признаю, это соблазнительная ложь. Она представляет программирование как своего рода завоевание. Серию сражений, в которых вы побеждаете, или испытаний, которые вы проходите. Но воображаемая война никогда не заканчивается. Вы не строите замок. Вы роете траншеи. И они затапливаются каждый раз, когда идет дождь. Испытания никогда не завершаются.

Техническая работа как эмоциональная регуляция
«У вас есть власть над своим разумом, а не над внешними событиями. Осознайте это, и вы обретёте силу.»

- Марк Аврелий

Но программирование соблазняет нас, заставляя верить, что мы можем контролировать внешние события. Вот где начинаются страдания. Здесь происходит что-то более глубокое. Это касается не только ПО.

Я считаю, что иногда создание вещей — это способ самоуспокоения. Мы пишем новый инструмент или сценарий, потому что отчаянно нуждаемся в маленькой победе. Мы пишем новый инструмент, потому что мы подавлены. Рефакторим его не потому, что код в беспорядке, а потому, что наша жизнь в беспорядке. Мы гонимся за идеальной системой, потому что она даёт нам что-то, за что можно ухватиться, когда все остальное рушится.

Я писал целые приложения, чтобы не думать о том, почему я был несчастлив. Программирование даёт вам мгновенную обратную связь. Вы запускаете что-то, и оно работает. Или не работает, и вы это исправляете. В любом случае, вы что-то делаете.

Такого рода деятельность вызывает привыкание. Особенно, когда остальная жизнь не даёт удовлетворения. Мы программируем, потому что можем, даже когда не должны. Потому что, по крайней мере, это даёт нам что-то, что можно исправить.

Окончание следует…

Источник:
https://notashelf.dev/posts/curse-of-knowing
  • 👍 27
More from @netdeveloperdiary
  1. Oct 2, 2026День 2802. #Карьера #Юмор Секреты Программирования, Известные Только Легендам Ещё один пос…
  2. Oct 1, 2026Post #3357
  3. Sep 30, 2026Post #3356
  4. Sep 29, 2026Фото 3 (с) Анатолий Кулаков
  5. Sep 29, 2026День 2799. Конференция DotNext 2026. Часть 1 25 и 26 сентября в Москве прошла очередная ко…
  6. Sep 28, 2026День 2798. #Оффтоп Утиная Типизация в C# с Помощью Перехватчиков. Часть 2 Некоторое время…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →