Sie können ein Problem, das für die eigentliche funktionale Programmierung nicht geeignet ist, nicht einfach ausschließen.
Viel hängt von der tatsächlichen Sprache ab, die für die funktionale Programmierung und deren Funktionen verwendet wird.
Ein Beispiel ist das bereits erwähnte Erlang für eingebettete Echtzeitsysteme.
Zustandsfülle ist auch kein gutes Kriterium gegen funktionale Programmierung, es gibt mehrere erfolgreiche Wege, um mit funktionalen Programmiersprachen umzugehen.
Nebenwirkungen werden auch häufig gegen funktionale Programmierung erwähnt. Jedes Programm, das nicht ganz solipsistisch ist, hat Nebenwirkungen. Daher hat jede reale FP-Sprache eine Möglichkeit, damit umzugehen. Es ist nur eine Frage, wie elegant die Nebenwirkungen der Welt zusammengefasst werden können.
Willkürliche Nebenwirkungen wie globale Variablen sind überhaupt nicht erforderlich.
Es gibt jedoch Problemgruppen, die den Einstieg in die funktionale Programmierung erleichtern, da sie Ihre gewohnte Sichtweise auf das Problem nicht so stark verdrehen. Aber wenn Sie erst einmal davon überzeugt sind, dass mehr und mehr Problemstellungen für weniger Nebenwirkungen offen sind.
Auch bei der Programmierung von C ist es immer eine gute Idee, beliebige Nebenwirkungen wie globale Variablen so weit wie möglich zu reduzieren.