Go's Speichersicherheit: Die verborgene Gefahr unsicherer Threads
Dieser Artikel hinterfragt das allgemeine Verständnis von Speichersicherheit in Go. Der Autor argumentiert, dass einfache Speichersicherheit (z. B. Verhinderung von Out-of-Bounds-Zugriffen) nicht ausreichend für robuste Programme ist; wahre Sicherheit liegt in der Vermeidung von undefiniertem Verhalten (UB). Ein Go-Programmbeispiel zeigt, wie Datenkonkurrenz zu UB und Abstürzen führen kann, sogar ohne `unsafe`-Operationen. Der Autor behauptet, dass Go's Umgang mit Datenkonkurrenz nicht streng genug ist, im Widerspruch zu seinen Behauptungen der Speichersicherheit, wodurch Go-Programme anfälliger für Sicherheitslücken werden. Die Schlussfolgerung betont, dass Sprachsicherheit nicht binär ist, aber das Verständnis der Sicherheitsgarantien einer Sprache und der Kompromisse entscheidend ist.