Die ehrlichste Zeile Code
Im Juni 2025 haben die Go-Maintainer eine Entscheidung getroffen, die auf den ersten Blick wie Aufgeben aussieht - und auf den zweiten wie Reife. Seit Jahren stört sich die halbe Go-Community an einer Sache: der Fehlerbehandlung. Nach fast jedem Funktionsaufruf dieselbe Geste: `if err != nil { return err }`. Drei Anläufe in sieben Jahren sollten das beheben: erst das check/handle-Modell aus dem Go-2-Entwurf, dann die try()-Funktion, zuletzt ein „?"-Operator nach Rust-Vorbild. Keiner hat es in die Sprache geschafft. Im Juni 2025 zogen die Maintainer einen Schlussstrich: keine neue Syntax für Fehlerbehandlung, die offenen Proposals werden geschlossen. Die drei Zeilen bleiben. Der elegante Gegenentwurf Java löst dasselbe Problem scheinbar schöner. Eine Methode wirft eine Exception, irgendwo weiter oben fängt sie jemand. Dazwischen muss niemand etwas tun. Checked Exceptions sollten genau das erzwingen: der Compiler verlangt, dass man sich kümmert. In der Praxis endet das oft in ein...