[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: kylix 2





Victor Wagner wrote:
On 2003.01.09 at 18:52:28 +0200, Andrei Sosnin wrote:




Их истинного (подразумеваемого) значения в данном контексте я не понял, поэтому, считая, что "языки структурны, потому что оперируют структурами данных" и что языки функциональны, когда описывают четкие функции программы (я подменил это понятие понятием процедурного метода программирования), я и использовал эту идею, которая подходила под то, как я понял тему. :-)


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

С этой точки зрения C - не функциональный язык, так как функции в нем
могут иметь и очень часто имеют побочные эффекты.

Т.е. повторный вызов функции (скажем printf) с теми же аргументами
компилятор не имеет права заменить на закэшированное значение первого
вызова.



Теперь уж окончательно ясно... А как же насчет примеров истинно функциональных языков? Какие языки следуют именно такой жесткой логике? Угадываю, что они, скорее всего, весьма сильно специализированы под определенные задачи... Хотя, понимаю, что это необязательно...

Очень уж любопытно стало про это узнать! :-) Воистину, покуда ты не осознаешь, насколько мало ты знаешь, не станешь настоящим знатоком! :-) Великая мудрость...

--
Andrei Sosnin
http://zzx.ath.cx

 <!-- : it all depends on your vision : -->



Reply to: