Wednesday, September 15, 2010

Как-то.

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

Только сейчас, спустя много лет, я понимаю весь маразм этой ситуации. Правильный алгоритм чистки зубов такой:
почистить зубы
Всё.

Ну, максимум такой:
подготовиться к чистке зубов,
чистить зубы,
вытереть кровь со стен убрать за собой.

Именно это - алгоритм. Вы спросите: "а что же такое [подготовиться к чистке зубов]"? "А это совершенно другая задача", - отвечу я. И буду прав. Потому что кто как привык, так и готовится. По-моему этот алгоритм достаточно абстрактен для того, чтобы подходить людям, которые либо не убирают за собой, либо чистят зубы без подготовки. Отличный такой generic алгоритм. Но есть большие сомнения, что за такой алгоритм я бы получил хорошую оценку.

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

И ведь работает. Как-то.

No comments:

Post a Comment