| |||
|
|
Таки о консерватизме и buzzwords Ну вот - да сейчас считаю - лымбды - очень круто (или сложный отстой), функциональное программирование, прогресс-прогресс. И какую-то теоретическую хуйню вокруг этого разводят - хотя то, что возможность передать в функциюю параметром callback, привязанный к локальной среде - удобное - веещь которая была общеизвестной в 60-е годы - отчасти из-за лиспа, но не только: есть такая старая техника использования А-60 - "прием Йенсена" - основанная на эксплутации того странного факта, что в А-60 параметры передавались в виде кода для их вычисления - и такое работало: begin integer i; real procedure sum (i, lo, hi, term); value lo, hi; integer i, lo, hi; real term; comment term is passed by-name, and so is i; begin real temp; temp := 0; for i := lo step 1 until hi do temp := temp + term; sum := temp end; comment note the correspondence between the mathematical notation and the call to sum; print (sum (i, 1, 100, 1/i)) end Понятно что несколько через жопу - но в сравнении с плюсовыми итераторами - это можно сказать верх краткости и удобства. Черезжопность исправили уже в А-68, где просто были анонимные процедуры. Лет же 6 назад еще автор перла руками и ногами отпихивался от требований вставить туда что-то похожее - типа "я не понимаю зачем". Да затем что куча программерских идиом начинает писаться в разы короче и яснее - неужели недостаточая причина? |
||||||||||||||