Вопросы производительности
for — 5M операций в секунду
forEach — 1,5M операций в секунду
reduce — 1.5M операций в секунду
Работа с DOM — 50K операций в секунду
Так что беспокоиться стоит не о функциональном подходе, а о тормозах работы с DOM. Само собой, тут все зависит от вашей задачи, поэтому если сомневаетесь — делайте замеры. Особенно на мобильных устройствах.
Заключение
Используем чистые функции
Используем функции высшего порядка (map, reduce).
Используем небольшие абстракции.
Много мелких абстракций могут легко собираться в одну большую мощную вещь.
P.S. Слайды оригинального выступления можно посмотреть по адресу cjohansen.no/talks/2012/javazone/
P.P.S. А почему нету хаба функциональное программирование?