>Пожалуйста. Для приминения функциональных языков требуется функциональное мышление. Т.е. глубого технический склад ума. Хм, а для императивного какой?
Если пойти на компромисс с педантичностью, то функциональное мышление - это декларативное мышление (прошу прощения за утрирование). Декларативное мышление во многом ближе к повседневному человеческому мышлению, чем алгоритмическое.
>Самый просто подход в этом случае -- процедурный.
Самый простой для Вас, возможно, в связи с Вашей (без знака плюс-минус) парадигмой мышления (о чем и речь в статье).
>Более легкий в сопровождении -- объектный. И ООП как раз ближе к
>реальному миру, чем к железу.
Только не нужно ООП противопоставлять функциональному подходу, Вы это напрямую не сделали, конечно, но косвенно так получилось.
>А смоделировать работу предприятия торговли, например, на функциональных
>языках -- врагу не пожелаешь.
Почему??? Вот уж где сплошная декларативность, при минимуме алгоритмов.
>Хе, широко распространенное в узких кругах. ФЯ короче, пока на них пишутся
>алгоритмы функционального поведения. Это скорее синтетические алгоритмы, мир на много сложнее.
Ну нет, программы на ФЯ короче практически всегда. Возьмите вон xmonad - оконный менеджер на Хаскелле, 500 строк. Ну или контрпример приведите, по возможности общего характера, где ФЯ были бы менее эффективны чем ИЯ (допускаю что приведете, но уверен что не сходу..)
>Чушь, простите. ООП кушает больше, чем ФОП.
Во-первых, опять же - не надо противопоставлять ООП и ФОП. Во-вторых, почему больше? Обоснуйте. ФОП со своими списками да рекурсиями естественно жрет больше (памяти).
>Функциональная парадигма изначально заложена во всех языках программирования, ибо она лежит в
>основе любой железки с логикой.
Ничего себе. А я думал императивная. Вы уверены, что понимаете, что такое функциональная парадигма?
>Проблем у С++ крайне не много. Одна из них -- наследственность. От
>С достались функции и макросы, от которых следовало бы отказаться, но
>в целях совместимости они сохранены.
Отказаться от функций?
Да у него полно проблем, связанных с наследственностью. Ну чтоб далеко не ходить - убогая модульная система.
>Вторая проблема (за что многие критикуют С++) это отсутствие асинхронных вызовов в
>самом языке.
>Треться проблема, которая в целом является родителем второй, но почему-то выделяется как
>правило в отдельную -- это проблема невозможности прозрачно средствами языка создавать
>многопоточные и распределенные системы.
Вот уж за что мне не пришло бы в голову критиковать С++)
>И над последними двумя наши люди (ну, вы понимаете) уже работают :)
Что тут скажешь.. верной дорогой идете, товарищи)
Да, кстати, ФЯ и параллелятся лучше (ну, вы понимаете)
>Это как раз про "Очень-очень сложный язык". МН реализовано не коряво, а
>изящно :) Просто это сложно понять.
Практически невозможно) То-то оно и используется повсеместно.