On 2003.01.09 at 18:52:28 +0200, Andrei Sosnin wrote: > > > > Их истинного (подразумеваемого) значения в данном контексте я не понял, > поэтому, считая, что "языки структурны, потому что оперируют структурами > данных" и что языки функциональны, когда описывают четкие функции > программы (я подменил это понятие понятием процедурного метода > программирования), я и использовал эту идею, которая подходила под то, > как я понял тему. :-)
Основной признак функционального языка - отсутствие side-эффектов у функций. То есть все, что передается в функцию, передается через параметры, все что возвращается - возвращается через результат. Это как раз то ограничение, благодаря которому становятся возможными применяющие функционалы, мемоизация и куча других вкусных фишек. С этой точки зрения C - не функциональный язык, так как функции в нем могут иметь и очень часто имеют побочные эффекты. Т.е. повторный вызов функции (скажем printf) с теми же аргументами компилятор не имеет права заменить на закэшированное значение первого вызова. -- Victor Wagner [EMAIL PROTECTED] 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

