Existem muitos argumentos "teóricos" sobre por que a programação funcional é uma boa idéia (muitos para que isso permaneça como uma questão em aberto, e corretamente).
No entanto, a maioria deles são argumentos feitos a partir de teoria ("elegância", etc ...) ou direcionados a desenvolvedores.
O problema é que a maioria deles é totalmente inútil quando o objetivo é apresentar a idéia à gerência sênior de uma grande empresa , algumas das quais nem mesmo são desenvolvedores, e todas se preocupam principalmente com argumentos de negócios : custo, gerenciamento de capital humano entrega de produtos, atendimento ao cliente e receita; bem como fatos quantitativos sobre pontos teóricos que não podem ser totalmente respaldados por fatos.
Existem argumentos convincentes a serem apresentados para abordar essas preocupações de negócios, considerando a adoção da programação funcional como um conceito (não qualquer linguagem específica), versus a combinação típica de procedimentos / OOP, por exemplo, Java / C ++ / (Perl | Python) .
De preferência, procuro argumentos quantitativos e / ou baseados em pesquisas ou estudos de caso. Por exemplo, "de acordo com essa referência, a taxa de erros dos sistemas multithread no Lisp / F # é 10% da do Java" ou "80% dos graduados expressam preferências da tecnologia desejada denominada programação funcional como um dos 3 principais interesses".
Eu sei que Graham apresentou casos de uso de programação funcional para uma iniciação e estaria aberto a alguns de seus argumentos, assumindo que eles podem ser válidos para uma empresa estabelecida maior.
psI estou perfeitamente ciente de que você pode fazer algo próximo à programação funcional em Perl, provavelmente Python e (possivelmente) até Java 8 ou C ++ 14. Mas isso não significa que uma organização usando Perl, C ++ ou Java endossaria funcional vs OOP / abordagens processuais mesmo nesses idiomas
Para os propósitos dessa linguagem, "grande" é definido como grande o suficiente para ter um grupo dedicado de engenharia / ferramentas de desenvolvimento, que determina o que todos os desenvolvedores têm permissão para usar / fazer; e pelo menos centenas de desenvolvedores de gama baixa .