?

Log in

No account? Create an account
Программирование как контракт с дьяволом - Книга бревна [entries|archive|friends|userinfo]
Книга бревна

[ картинки | галерея ]

Программирование как контракт с дьяволом [May. 3rd, 2015|12:29 am]
Книга бревна
[dow |18,024.06]

The purpose of a program is informal, often unstated, criterion and the transition from informal to formal objects must forever be unformalized, lest we caught in the paradox of assuming the formalization of an object we know only informally.

Social processes and proofs of theorems and programs
DeMillo, Lipton, Perils
Не проси богов ни о чем, рискуешь получить просимое.

Древние греки иллюстрировали эту максиму историями Мидаса и Титона. Первый попросил Диониса, чтобы всё, к чему он прикоснётся, обращалось в золото. И это ему было даровано. Как выяснилось на тестовом прогоне, в обществе где все едят руками такой дар может привести к смерти от истощения. Не говоря уже о сложностях в социальной жизни - ни поздороваться, ни обнять... За второго попросила любовница. Ему посчастливилось любиться с Эос, богиней утренней зари. Та и замолвила словечко Зевсу. Попросила для своего любовника вечной жизни. И это ему было даровано. Как выяснилось на тестовом прогоне, вечная жизнь без вечной молодости штука не очень приятная. Прожив заметно больше отмеренного человеку срока, Титон страдал от всех старческих болезней, включая слабоумие, не мог пошевелить ни рукой, ни ногой, ни, к полному расстройству Эос, более важными для любовника органами. Существует версия, что он постепенно ссохся в цикаду, видимо растворив внутренний скелет и нарастив внешний. Если версия верна, то среди этих мух-переростков есть одна бессмертная.

Античность закончилась, греческих богов дарующих человеку просимое в христианской Европе сменил дьявол. Европейские фольклор и литература во множестве содержат сюжеты сделки с дьяволом, смертный контрагент которых получал именно то, о чём просил. Впрочем, были и сюжеты в которых в формальную ловушку попадал дьявол, а не человек. Наиболее известный, видимо, это сюжет "приходи завтра" ("а чего ты сегодня пришёл, разве сегодня - завтра?").

Все сюжеты объединяет то, что герой комично или трагично проваливается в зазор между формальным (то что попрошено) и неформальным (то что хотелось).

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

В конце концов, компьютер всегда делает именно то, о чём ты его попросил.
LinkReply

Comments:
Page 1 of 2
<<[1] [2] >>
[User Picture]From: ok_66
2015-05-03 05:14 am (UTC)

Надевая фуражку капитана О.

Основные отличия
1. Комп туп, но не злонамерен.
2. С компом можно пробовать много раз.
(Reply) (Thread)
[User Picture]From: zakharov75
2015-05-03 10:19 am (UTC)

Re: Надевая фуражку капитана О.

иногда за каждый раз приходится платить очень очень дорого
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: semonsemenich
2015-05-03 06:16 am (UTC)
Замечательно. К теме формального подхода к исполнению желаний ( столь часто встречающегося в мистической литературе), мне кажется, тесно примыкает тема формального исполнения предсказаний и пророчеств ("Когда придет твой смертный, час Как твой Бирнамский лес"), где героя тоже ожидает облом.
Однако коллега выше верно подметил: компьютер специально не изыскивает бреши в формулировках. Он предсказуем, и правила его поведения зарене оговорены.
(Reply) (Thread)
[User Picture]From: aintlion
2015-05-03 08:18 am (UTC)
Это с точки зрения программиста, оговорены и заранее известны.А с точки зрения пользовaтеля, отнюдь.

Edited at 2015-05-03 08:19 am (UTC)
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: budda777
2015-05-03 07:33 am (UTC)
http://www.ega-math.narod.ru/Quant/Porges.htm

"Но никто ещё не мог найти два куба, которые при сложении тоже давали бы куб или более высокие степени, которые приводили бы к аналогичному результату, — по-видимому, их просто нет. И всё же, — торжествующе закончил он, — до сих пор не доказано, что таких чисел не существует!"
(Reply) (Thread)
[User Picture]From: semonsemenich
2015-05-03 01:20 pm (UTC)
Дыг... Доказано же...
(Reply) (Parent) (Thread)
From: 3mer
2015-05-03 08:45 am (UTC)
Вроде как перевод неформального в формальное есть политика, со всеми вытекающими
(Reply) (Thread)
[User Picture]From: otrubon
2015-05-03 09:51 am (UTC)
метка "ниАчём"

Edited at 2015-05-03 09:52 am (UTC)
(Reply) (Thread)
[User Picture]From: agasfer
2015-05-03 02:10 pm (UTC)
Да, к сожалению, повода обматерить Исаева лишний раз этот текст не дает.
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: semonsemenich
2015-05-03 03:14 pm (UTC)
"Похоже, джинн глуховат. Я ведь тоже не теннис большой просил"
(Reply) (Thread)
[User Picture]From: b_graf
2015-05-03 10:44 pm (UTC)
Это с точки зрения программиста, а вот с точки зрения юзера (особенно - массового) компьютер явно обладает свободной волей ("хочет - а сейчас не хочет"). Уж не знаю, как это интерпретировать с дьявольской или божественной стороны...
:-)
(Reply) (Thread)
[User Picture]From: agasfer
2015-05-05 07:48 pm (UTC)
Ага. Особенно я люблю, когда после ребута эта сволочь выдает мне "Операционная система не найдена" или еще что-то подобное.
(Reply) (Parent) (Thread)
From: (Anonymous)
2015-05-04 11:22 pm (UTC)
О, спасибо!
Этой цитатой вы прояснили для меня, что мне не нравится в "не делайте метод больше 4-х строчек" Робетра Мартина - таким образом он пытается формализировать знания о поведении объекта, которые мы знаем только по сильно неформализированному рассказу юзера.
Т.е. это как в советское время технологию пытались прописать в документах слишком детально, до отдельного движения.
(Reply) (Thread)
[User Picture]From: shadow_ru
2015-05-07 10:26 am (UTC)
(Reply) (Thread)
[User Picture]From: viakviak
2015-05-07 04:10 pm (UTC)

Программирование как контракт с дьяволом

Одно из имен дьявола Люцифер часто переводится как "Свет несущий". Но можно увидеть в имени Лю-цифер слово "цифра" с арабским префиксом "ла". Перевод всей информации в цифровой вид как одна из форм служение "цифре".
(Reply) (Thread)
[User Picture]From: collegaproul
2015-07-07 04:51 pm (UTC)

Re: Программирование как контракт с дьяволом

Нет у арабов префикса "ла", а тем более "лю".
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: deadmadcat
2015-07-06 01:14 pm (UTC)
Занятная аналогия.
(Reply) (Thread)
[User Picture]From: volch555
2015-07-09 04:33 am (UTC)
"В конце концов, компьютер всегда делает именно то, о чём ты его попросил."

Да ладно? Даже в процессорах баги находят, что уж говорить об осях и трансляторах, тем более о фреймворках и коде предшественников?
(Reply) (Thread)
[User Picture]From: korado_katani
2015-07-09 05:24 am (UTC)
Процент этих багов, в соотношении с багами в терабайтах ежедневно высираемых бинарников НИЧТОЖЕН!
(Reply) (Parent) (Thread)
[User Picture]From: greygreengo
2015-07-09 04:38 am (UTC)
Как показательно, что на роль дьявола может реально претендовать искусственный интиллект.
(Reply) (Thread)
[User Picture]From: full_sid
2015-07-09 05:31 am (UTC)
Идиотский вопрос. А что нельзя автоматизировать процесс составления программного кода?
1.Назначение и менеджмент программы.(дизайн, архитектура)
2.Алгоритм работы.
3.Автоматический перевод в программный код.
Действие - язык - код.
(Reply) (Thread)
[User Picture]From: korado_katani
2015-07-09 05:35 am (UTC)
Угу, диктовать: "Нарисуй комбо в левом верхнем. Левее, левее, назад. Стоп! Фух, перекур..."
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: dviglo
2015-07-09 05:43 am (UTC)

Ага, ага... А в армейской мифологии...

... популярен такой анекдот...

Поймал мужик джинна. Тот, само собой, предложил выполнить одно, единственное желание. Мужик подумал и заказал: "А пусть чтоб у меня был хуй до колена!". Утром просыпается, а у него ножки - коротенькиеээээээээ.... Назывался этот эпик "Сказ о неправильно поставленной задаче".
(Reply) (Thread)
Page 1 of 2
<<[1] [2] >>