сочетания с другими частями. Изменения этих (и множества других условий) приводят к образованию и изменению сложных структур, модулей и подсистем: структуры эти обладают своей логикой и стройностью, но эта логика практически не может быть в точности спланирована заранее. На уровне отдельных функций и объектов программист - царь и бог; на уровне общей цели проекта царь и бог - системный архитектор; но вот сочетание отдельных мельчайших частей в более крупные сущности, направление и скорость роста этих сущностей - все это происходит как бы 'само по себе'.

Не вызывает ли такое описание аналогий с органической системой, ее моделью жизни и развития? Возможно, это и есть такая метафора, сполна описывающая процесс разработки нетривиальных программных систем; она представляется вполне полезной 'ментальной моделью'.

Следует заметить, что взгляд на программный проект как на форму органической жизни, конечно же, не нов (хотя и не слишком распространен). Другое дело, что большинство апологетов 'органической метафоры' смотрят на нее, как на нечто, требующее создания новых, особенных языков, технических средств или методологий (например, см. [1], [2], [3]). В явном виде мысль 'мы все работаем именно так, достаточно просто это осознать сполна' выражена, пожалуй, только в работе [4]; а ведь ценность объемлющей метафоры - именно в 'сдвиге точки зрения', а не в разработке новых инструментов и средств (по крайней мере - не в первую очередь).

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

Манифест органического программирования

1. Исключение - это правило.

2. Наш мир богат и сложен, а не стуктурирован и прост.

3. Программы должны соответствовать нестандартным, меняющимся проблемам, а не стандартным, статичным паттернам.

4. Программная система - органическое создание, а не набор математических алгоритмов.

5. Программные компоненты - составная часть нашего сложного мира, а не описательные мета-сущности.

6. Разработка программ эволюционирует от малого к большому, а не от конкретного к абстрактному.

Автор считает пункты 1-3 общим местом, а пункты 4-6 - своим нововведением.

O. Imbusch, F. Lanhammer, G. von Walter, 'Ercatons and Organic Programming'

 

Ссылки

O. Imbusch, F. Lanhammer, G. von Walter, 'Ercatons and Organic Programming' (

www.oopsla.org/2005/ShowEvent.do?id=60,

www.organic-computing.org,

web.archive.org/web/20050412193622,

www.carc.aist.go.jp/gaea)

Cees de Groot, 'Towards Organic Software'

Информация forever

Автор: Ваннах Михаил

В старых энциклопедиях 'Информации' не было. За 'Инфлянтами Польскими' там сразу следовали 'Инфралапсарии'. И когда такая статья появилась в общедоступном издании, Малой Советской Энциклопедии 1929 года выпуска, смысл термина информация был очень далек от современного.

'ИНФОРМАЦИЯ (лат.), осведомление.

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату
×