Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет superhuman ([info]superhuman)
@ 2015-07-08 10:13:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Написал я программу (год назад), генерирующую все бинарные логические операции, и до сих пор размышляю. Операции-то я сгенерировал, а потом "узнал" их и наделил именами.

Более общо, пишем мы прогу, генерирующую некие объекты. Потом вручную пересматриваем, что получилось, и наделяем их именами. Дальше предпочтительней оперировать ими под этими именами, а не как "безликими" объектами. У проги теперь две половины, и первая - генерация объектов - получается, больше и не нужна. Прямо бутстрап какой-то.

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

Некая эволюция программ. В принципе, похоже на суть человеческой деятельности - поступательное накопление знаний. Но обычный процесс разработки как-то не стыкуется с такой идеей. Разве что "ноутбуки" / "workbook-и" в мат-средах типа mathematica & maple что-то смутно навевают. В сознании всплывают слова explorative programming. Хоть в инете по этому термину фигня какая-то закреплена уже.

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