Re: kylix 2
On 2003.01.09 at 18:52:28 +0200, Andrei Sosnin wrote:
>
>
>
> Их истинного (подразумеваемого) значения в данном контексте я не понял,
> поэтому, считая, что "языки структурны, потому что оперируют структурами
> данных" и что языки функциональны, когда описывают четкие функции
> программы (я подменил это понятие понятием процедурного метода
> программирования), я и использовал эту идею, которая подходила под то,
> как я понял тему. :-)
Основной признак функционального языка - отсутствие side-эффектов у
функций. То есть все, что передается в функцию, передается через
параметры, все что возвращается - возвращается через результат.
Это как раз то ограничение, благодаря которому становятся возможными
применяющие функционалы, мемоизация и куча других вкусных фишек.
С этой точки зрения C - не функциональный язык, так как функции в нем
могут иметь и очень часто имеют побочные эффекты.
Т.е. повторный вызов функции (скажем printf) с теми же аргументами
компилятор не имеет права заменить на закэшированное значение первого
вызова.
--
Victor Wagner vitus@ice.ru
Chief Technical Officer Office:7-(095)-748-53-88
Communiware.Net Home: 7-(095)-135-46-61
http://www.communiware.net http://www.ice.ru/~vitus
Reply to: