Непейвода Н.Н. Программирование. Раздел 2

Непейвода Н.Н. Программирование. Страница 144

Внимание!

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

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

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

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

Новости

  • 1
  • 2
Prev Next

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

24.01.2016

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

Роскосмос не планирует в течение ближайшего десятилетия осуществлять пуск тяжёлой ракеты-носителя А...

Ученые РФ опровергли выводы исследований о вреде ГМО

24.01.2016

Ученые РФ опровергли выводы исследований о вреде ГМО

Исследователи из Института проблем передачи информации (ИППИ РАН) проанализировали несколько самых п...

Летающие "Крокодилы"

24.01.2016

Летающие "Крокодилы"

20 удивительных фактов о боевом вертолете Ми-24.Этот вертолет стал таким же узнаваемым символом сове...

В Аргентине описали новый вид динозавра-гиганта

24.01.2016

О ранее неизвестном виде динозавра, относящемуся к инфраотряду зауроподов, рассказали аргентинские п...

Реклама