[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) с теми же аргументами
> > компилятор не имеет права заменить на закэшированное значени
> е первого
> > вызова.
> > 
> > 
> 
> Теперь уж окончательно ясно... А как же насчет примеров истинно 
> функциональных языков? Какие языки следуют именно такой жестко
> й логике? 
> Угадываю, что они, скорее всего, весьма сильно специализированы под 
> определенные задачи... Хотя, понимаю, что это необязательно...
> 
> Очень уж любопытно стало про это узнать! :-) Воистину, покуда ты не 
> осознаешь, насколько мало ты знаешь, не станешь настоящим знат
> оком! :-) 
> Великая мудрость...

из известных мне - haskel

практического опыта со строго функциональными языками я (пока) не имею. Идея
на мой взгляд очень красивая, но, на сколько я понимаю, проблемы начинаются
когда из такой программы надо обшаться с внешним миром (IO, UI и тп). Тут
вроде на настояший момент нет решения которое было бы одновременно
элегантно, функционально (в широком смысле) и удобно в употреблении...

Федя (знакомый с вопросом лишь теоретически)

Reply to: