Вопрос хороший, уместный.Виктория писал(а):А чем может помочь простому программисту-труженику функциональное программирование? Изучив эту очередную парадигму, а автоматизации своего труда может и не научишься...
В принципе, на Python можно вполне писать код совершенно в стиле C++: классы есть? - есть, if-then-else есть? - есть, ... немножко другая (но похожая вомногом) библиотека встроенных функций + здоровенный набор функций в модулях (библиотека)...
Вполне возможно ... и имеет право быть.
Но только один и тот же код, эквивалентный, на Python будет по разным источниками раз в 40-100 медленнее, чем C ... а на C++ разницы с C нет, чтобы объектные альтернативы сравнивать.
И тогда рационально такой код записать всё-таки на C++.
(всё таки нужно платить быстродействием за интерпретацию ... пусть и не исходного кода, но компилированного байт-кода Python, в этом смысле близкая аналогия с Java)
Для Python декларируется быстрая разработка кода, нужно (там где уместно) использовать именно это его достоинство (пусть в 100 раз медленнее на исполнении, но зато в 5 раз быстрее код будет создан). А использовать это преимущество можно если пользовать те динамические возможности, гибкость периода исполнения, которые позволяют интерпретирующие языки. Иначе получится, что от эффкетивности реализации C++ мы отказались, а производительность разработки Python не использовали.
Для эффективного использования в кода на Python плодотворны те идеи и приёмы, которые тянутся из таких языков (из числа старых) как LISP, Forth, APL ... ну и нескольких новых языков последнего времени. Поэтому очень полезно представлять как такие приёмы выражаются средствами Python (потому что идеи идеями, но их ещё нужно и записать в предлагаемом синтаксисе).