On Sat, 21.03.2009 20:22:27 , Aleksey Cheusov wrote: > >> Шаг 10: Почитал книжку > >> Шаг 11: Лег спать > >> > >> Именно вот так, последовательно, императивно, по шагам человек думает > >> всю свою жизнь. > > Глупости. Это последовательность отдельных, не связанных между собой > > задач. Она не имеет никакого отношения ни к императивному подходу, ни > > к функциональному, ни к какому другому. > Ничего подобного. Это АЛГОРИТМ поведения человека в течение рабочего > дня. Вместе вспоминаем определение алгоритма (одно из, да, я в курсе). > Алгоритм - это последовательность действий... Это высокоуровневый алгоритм. Какая связь между ним и конкретной парадигмой программирования?
> >> map? -- банальный foreach или итераторы с циклами делают то же самое в > >> любом языке таким же количеством строк. > > Только не стоит забывать, что и eval, и foreach позаимствованы именно > > из функционального подхода. > Не надо ляля. eval вообще к функциональной парадигме не имеет ни > малейшего отношения. Читаем lambda-исчисление. Хотя бы у Харрисона. > Где там eval??? Функциональный подход -- это не только лямбда-исчисление. И map, и apply -- это принцип "всё есть функция" в чистом виде. > foreach - это syntactic sugar для цикла, не более того. Ну да, не более того; и одновременно полная замена map... > > Другими словами, грань между этими двумя подходами вообще весьма > > размыта. > Нет. Чистая функциональщина - это lambda исчисление. > И в Лиспе ее нет. Нет ее и в SML и CAML. А чистая императивщина где есть, интересно?.. Конечно, если под функциональным подходом понимать только лямбда-исчисление и более ничего, а в императивный притягивать за уши eval и прочее, то императивный становится интереснее. Но давай всё-таки оставаться в одной и той же системе координат. В любой -- но в одной и той же. > >> >Думаю, в том же "Мире лиспа" можно найти однострочники, > >> >которые при переводе на императивный язык развернутся не в два цикла с > >> >одним оператором > >> Лаконичность не является и никогда не являлась критерием качества языка > >> сама по себе. На перле тоже вот можно такого наворотить... > > Речь не о лаконичности, а о ёмкости. > Программирование - это "разделяй и властвуй". После того, как ты > разделил и овладел, никого больше не интересует мифическая и непонятная > мне разница между лаконичностью и ёмкостью. Мы об образе мышления и обучения всё ещё говорим, или уже о технических подходах? Если о первом, то эта разница тебя должна интересовать _до_ того, как ты разделил и овладел, а не после. -- С уважением, Тихон Тарнавский. http://linuxforum.ru http://posix.ru -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

