Павлов Р. А. : другие произведения.

Чудо в программировании

Самиздат: [Регистрация] [Найти] [Рейтинги] [Обсуждения] [Новинки] [Обзоры] [Помощь|Техвопросы]
Ссылки:
Школа кожевенного мастерства: сумки, ремни своими руками
 Ваша оценка:

Тут давеча на администрируемом мною веб 2.0-сайте развернулась
дискуссия о вопросах Божественных
(http://www.infostart.ru/blogs/459/). Я лично ничего не имею против
того, чтобы на программистских сайтах обсуждались Божественные
вопросы, но, конечно, лучше было бы, чтобы вместо тупого флуда о
костях динозавров и новомодной ереси под названием "научный
креационизм" было филиокве и чтобы разрешалось всё это кровавым
образом в оффлайне. Но вот что меня тут наиболее развеселило, так это
само явление верующего программиста, то есть не абстрактно как-то
верующего, как сейчас модно, а именно буквально придерживающегося
традиционного христианства, воскресение есть величайшее событие
истории и т.п.  При том что этот человек один из наиболее знаменитых и
уважаемых в своей среде.

Лично для меня совмещение веры с программированием
упиралось бы в некоторые непреодолимые логические тупики, которые в
общем сводятся к неизбежной необходимости для верующего программиста
учитывать возможность чуда.

Предположим, имеется следующий код (пример на некоем перлообразном псевдокоде,
обсуждаемый здесь программист использует другие языки, но это в нашем
случае не важно):

if (0 and $condition) {
   do something;
}

Программист-материалист вполне может таким способом закомментировать
if, потому что знает, что do something никогда не будет выполнено,
однако программист-теист тут вынужден всегда предполагать возможность
чуда, благодаря которому этот код всё же будет выполнен. И что же тут
делать, спрашивается? Жизнь программиста-теиста превращается в кошмар,
ибо он в принципе не может написать работоспособного кода, поскольку
любые его потуги будут пресекаться возможностью чуда! Единственным
решением было бы, пожалуй, добавление в существующие языки
программирования обработку чуда, наподобие обработки исключений, но,
опять же, всемогущий Бог легко обходит эти суетные уловки ума
человеческого.

А с другой стороны, верующий программист в определённых ситуациях,
напротив, будет уповать на чудо и отлынивать от своих прямых
обязанностей: зачем, скажем, проверять делитель на равенство нулю,
если Бог милостив и непременно отвратит сию страшную чашу? Что ему
стоит в последний момент взять и обратить ноль в любое нормальное
число? Кроме того, зная об этом, критические куски кода такой
программист заранее будет сопровождать комментариями типа 

#Зде, Господи, спаси и сохрани!  

(впрочем, на случай, если Бог игнорирует
комментарии, эта молитва должна периодически также посылаться на
stderr или, ещё лучше, на управляющий терминал процесса).

Я уж не говорю про тестирование. Единственные полноценный QA-engineer
- это Бог, Который найдёт такие баги, которые вам и не снились.

 Ваша оценка:

Связаться с программистом сайта.

Новые книги авторов СИ, вышедшие из печати:
О.Болдырева "Крадуш. Чужие души" М.Николаев "Вторжение на Землю"

Как попасть в этoт список

Кожевенное мастерство | Сайт "Художники" | Доска об'явлений "Книги"