функциональное программирование
31-12-2006 18:04
к комментариям - к полной версии
- понравилось!
когда мы начали проходит функциональное программирование оно мне показалось примерно таким же бестолковым и по сути бесполезным как и рекурсивно-логическое.
а когда я сталкулся с Lisp я понял почему его называют Lots of Idiotic Silly Parentheses. язык очень неудобный. а самое отстояное в нём это префиксная запись.
т.е. формала 2 + 2 будет писаться как + 2 2.
ну и т.д. 2 + 2 * 3 = 8 будет = 8 (+ 2 (* 2 3))
вот такая вот жопа. очень не удобный и сложный в использовании язык.
но! когда мне пришлось писать сложный разборщик выражений я оценил всю прелесть функционально программирования.
у меня получился язык, который на много удобнее лиспа а по функционалу не так уж и отстаёт от него.
вот к примеру факториал:
F(n) = if (n <= 1; 1; n * F(n-1));
вот сейчас занимаюсь усовершенствованием языка и делаю код красивым.. получается прикольная штуковина..
это аппарат я буду, кстати, очень скоро использовать в одном комммерческом проекте. там будет граф и на каждое ребро будет навешиваться по одной сложной функции, которая будет определять можно ли по этому ребру в данный момент перейти.
вообще функциональное программирование (как и рекурсивно-логическое) ближе к математике чем к программированиею так, как делает основную ставку на понятность записи а не на скорость.
уверен на все 100 что челы, которые пишут на асссемблере или просто мечтают уменьшить время выполнение процедуры ещё хоть на милесекунду, посчитают функциональное программирование просто теоритическим бредом математиков а не языком программирования..
но.. что может быть лучше чем написать qsort в 2 строчки? (код на Haskell)
qsort[] = []
qsort(x:xs) = qsort[y | y < -xs, y < x] ++ [x] ++ qsort[y | y < -xs, y >= x]
мне кажестя, что языки программирования никогда не будут похожи на естественные языки.
может будут скрипты, которые будут созданы для смарт юзеров.
конечно, останутся паскаль и делфи для тех, кто плохо разбирается в програмировании.
но программисты всегда будут стремиться к математическому псевдокоду.
вверх^
к полной версии
понравилось!
в evernote