Bei der Arbeit am Paper „Evolution of Functional UI Paradigms“, das beim FUNARCH-Workshop der ICFP 2025 veröffentlicht wurde, kam mir ein Gedanke zu puren Funktionen, den ich hier gern separat kurz erläutern möchte. Als Argument für pure Funktionen führen wir funktional Programmierenden gern die bessere Testbarkeit ins Feld: Pure Funktionen erfordern keine komplizierten Test-Setups und Mocks, sind deterministisch, parallelisierbar etc. In der Tendenz ist das sicherlich richtig. Pure Funktionen sind oft besser testbar. Notwendig ist dieser Zusammenhang allerdings weder in die eine noch in die andere Richtung. Es gibt pure Funktionen, die sind schlecht testbar und es gibt auch nicht-pure Funktionen, die gut testbar sind. Die Purity selbst kann also der Stoff nicht sein, der es erlaubt, Programmstücke ordentlich zu testen. Was aber ist dann dieser Stoff?
Weiterlesen...