Обсуждение:Императивное программирование

Последнее сообщение: 8 лет назад от 95.181.136.132 в теме «тема не раскрыта»

тема не раскрыта править

знания из этой статьи не помогут человеку разобраться с тем, что же такое императивное программирование 95.181.136.132 06:13, 19 июля 2015 (UTC)Ответить

Не следует ли объединить эту статью с Процедурное программирование? Суть одна, здесь больше истории, там - лучше описание понятия (ИМХО). 95.28.28.116 22:56, 8 декабря 2009 (UTC) Поляк МаркОтветить

Статью явно надо улучшать, ничего не понятно, и история тоже написана через пень-колоду. sergamena 23:59, 7 января 2011 (UTC)Ответить

В статье явно путается императивное программирование и программирование с мутабельным состоянием. Можно писать полностью иммутабельный императивный код, и там не будет никакого глобального состояния. Unnamed666 17:53, 20 октября 2013 (UTC)Ответить

что и как править

Хорошо бы найти АИ на тему разницы "что" и "как" (я пока убрал из текста статьи): "Логические языки программирования, такие как Prolog, обычно определяют что надо вычислить, а не как это надо делать."

Многие знают ("слышали") о таком делении, но я пока не нашел, откуда "звон".

Из перевода этого источника нашел нечто близкое, но все-таки не совсем:

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

"Декларативные и императивные описания тесно связаны между собой, как и математика с информатикой. Например, сказать, что ответ, получаемый программой, «верен», означает сделать об этой программе декла- ративное утверждение. Существует большое количество исследований, направленных на отыскание методов доказательства того, что программа корректна, и большая часть сложности этого предмета исследования свя- зана с переходом от императивных утверждений (из которых строятся программы) к декларативным (которые можно использовать для рассуждений). Связана с этим и такая важная область современных исследований по проектированию языков программирования, как исследование так называемых языков сверхвысокого уров- ня, в которых программирование на самом деле происходит в терминах декларативных утверждений. Идея состоит в том, чтобы сделать интерпретаторы настолько умными, чтобы, получая от программиста знание типа «что такое», они были бы способны самостоятельно породить знание типа «как». В общем случае это сделать невозможно, но есть важные области, где удалось достичь прогресса. Мы вернемся к этой идее в главе 4."

РоманСузи 18:16, 20 октября 2013 (UTC)Ответить