April 19th, 2012

sealand

ФП

Функциональное программирование напоминает мне матричную алгебру - для некоторых преобразований над исходными данными можно составить оператор (матрицу), такой что, если перемножить его на матрицу исходных данных то получишь конечные. Соответственно цепочки операторов тоже можно перемножать в один. Теоретически можно скомпилировать это в матрицу ПЛИС (FPGA) и получить аппаратную реализацию программы.
Почитал википедию, оказывается матричный оператор является частным случаем отображения, и действительно, есть прямо-таки функциональный анализ. Непонятно есть ли там формальные способы, как в матрицах, символьного преобразования функций. Написано, что линейная алгебра развита больше всех других отображений, потому что хорошо ложиться на геометрию с координатами.

Я это всё к тому, что в программисты теперь идти бесполезно, если ты не супер математик. Слишком большие плюшки обещает ФП, чтобы позволить старый добрый GOTO.