Essa é uma questão teórica, mas depois de muitos anos de programação no que agora percebo ser uma técnica imperativa "normal", usando C ++ principalmente, descobri esse outro mundo de programação funcional, que me deparei acidentalmente enquanto aprendia JavaScript casualmente.
Isso me levou a pensar se você poderia substituir tecnicamente qualquer programa completo orientado a estado por uma implementação diferente que seja puramente funcional e sem estado?
É uma ideia intrigante e devo admitir que há uma clareza e elegância na programação funcional que realmente me surpreendeu.