-- Leo's gemini proxy

-- Connecting to hugeping.ru:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

0 или 1

by hugeping on 2021-09-21 15:32:40


Когда долго программируешь, привыкаешь проверять все причинно-следственные связи от начала и до конца, разворачивать их. Отладка учит быть подозрительным. Не верь тому, что написано и вроде-бы "работало раньше". Ошибка могла не проявляться. Ошибка может скрывать проявление другой ошибки. Ошибка может быть следствием гонки. Несколько ошибок могут входить в суперпозицию и выглядеть как одна ошибка или наоборот. Чтобы действительно разобраться в проблеме, ты должен понять что именно происходит максимально педантично и досконально. Никаких домыслов! Никаких непроверенных предположений! Каждый раз ты должен учиться смотреть на код, как будто он написан только что.


Не удивительно, что с годами это начинает отражаться и на психике. Один из таких "синдромов" я замечаю у себя и у некоторых знакомых программистов. Я назвал его синдром "0 или 1". Проявляется он в различных формах, но стоит за всем одно и то же.


Если высказано какое-либо суждение, ты начинаешь его раскручивать и доводить до логического конца. Интерпретация событий всегда чёрно-белая. 0 или 1? Ведь нужен конкретный и простой факт в основе. То, что хорошо помогает искать ошибки может навредить в общении. Например?


> - Смотри, я тут игру написал Color Lines.

> - Неплохо. Только цвета шариков мне не нравятся.

> - А мне, кажется, красиво.

> - Нет, слишком яркие.


(сценарий 0) Я подобрал плохие цвета. -> Они мне нравятся, значит, у меня нет вкуса. -> Зря я написал игру.


(сценарий 1) Цвета мне нравятся, а оппоненту -- нет. -> У оппонента нет вкуса, не надо учитывать его мнение. -> Зря я его спросил.


Следствие синдрома. "Если что-то может случиться, то это обязательно случится." Перекликается с законами Мерфи, да? Не случайно, ой не случайно... :)


> - Где мой паспорт?

> - Зачем тебе?

> - Я всегда беру паспорт, когда выхожу на улицу... И, кстати, где зонт?


Усиление следствия. "Если что-то случится в будущем, то это уже случилось."


> Мы смертны -> мы уже мертвы -> нас не существует и никогда не существовало.


Ещё одно следствие -- если назревает конфликт, нет смысла тянуть, ведь "он уже случился".


> - Не могу тебя видеть!

> - Если мы враги, то давай расстанемся. Если нет, то зачем эта ссора?


Наконец, невозможность делать простейшие вещи без детального понимания задачи.


> - Отрежь кусочек скотча.

> - Какой длины?

> - Просто кусочек скотча.

> - Для какой задачи нужен скотч? (попытка узнать точную длину отрезка под задачу)

> - Блин, да ты издеваешься!


// Все диалоги являются вымышленными, любое сходство -- случайно.


Годами выработанная привычка сводить всё к "да" или "нет", "всё" или "ничего", 0 или 1 -- рано или поздно находит выход, нередко приводя к раздражению, непониманию, ссорам.


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


Когда я слышу очередную "печальную" новость про программиста, я всегда с сожалением думаю, что не последнюю роль здесь сыграл синдром 0 или 1.


Мне кажется, любой программист в качестве противоядия должен иметь "аналоговое" хобби. Велосипед, гитара, рыбалка... Что угодно, что позволяет не терять связь с реальным миром и напоминать себе, что не всё решается через 0 или 1.


Берегите себя!



-- Response ended

-- Page fetched on Wed May 1 11:10:00 2024