O problema com a programação funcional não é a programação funcional em si - é a maioria das pessoas que faz isso e (pior) a maioria das pessoas que cria linguagens para fazê-lo.
O problema decorre do fato de que, apesar de serem muito inteligentes (às vezes francamente brilhantes), muitas pessoas são fanáticas demais por pureza, perfeição e por impor sua própria visão (geralmente bastante estreita) do mundo e programar no mundo. linguagem e todos que a usam.
Um dos resultados é uma falha no comprometimento. Isso leva (entre outras coisas) a aproximadamente 10.000 idiomas e dialetos que são diferentes o suficiente para incomodar, mas raramente são suficientemente diferentes para que um tenha uma vantagem verdadeiramente significativa sobre os outros. Muitos também olham para o mundo real e decidem que, como ele não se encaixa muito bem no modelo funcional, é basicamente errado e é melhor ignorá-lo.
A incapacidade de comprometer também levou a algumas linguagens absolutamente lindas para um tipo específico de problema (ou alguns tipos específicos de problemas), mas que realmente são péssimas para muitas outras. Parte disso é provavelmente causada pelo próprio modelo funcional, mas muito mais parece (pelo menos para mim) ser causado pelo tipo básico de personalidade que é atraído para essa área, para começar.
Isso leva a uma série de problemas. Primeiro de tudo, aprender "programação funcional" é principalmente de valor filosófico. Com a maioria dos outros tipos de idiomas, conhecer um idioma de um gênero específico é de grande ajuda para o aprendizado de outro. Se meu projeto usa a linguagem XI, geralmente posso contratar alguém que conheça a linguagem Y (mas não X) com bastante segurança. Com linguagens funcionais, isso é muito menos verdadeiro. Você pode conhecer Erlang muito bem, mas ainda acha as mônadas de Haskell completamente estranhas e incompreensíveis.
Junte o número de idiomas com a portabilidade limitada de talento entre eles e você terá uma situação feia: é quase impossível para um idioma ou dialeto formar a "massa crítica" necessária para torná-lo um uso razoavelmente geral. Isso está mudando lentamente, mas ainda é muito parecido com o Linux se tornar o sistema operacional dominante para desktop - todos os anos, as pessoas criam argumentos convincentes de que finalmente esse será o ano - e assim como as pessoas que prevêem isso a cada ano. ano por décadas, eles estarão errados mais uma vez. Isso não quer dizer que (um ou outro) nunca possa acontecer - apenas que as pessoas que olham para as previsões e pensam "não, não este ano" foram as que estavam certas até agora.