Die Menge versammelt sich noch immer um handgemachten Code
Artikel anhören (experimentell) · 10:52

Eine der meistgelesenen Programmierfragen auf Stack Overflow in letzter Zeit drehte sich darum, eine 32-Bit-CRC für eine PNG-Datei von Hand zu berechnen. 1.171 Aufrufe auf ihrem öffentlichen Zähler. Ihre beste Antwort, ein geduldiger Gang durch die Polynomarithmetik, brachte es auf 27 Punkte, eine Zahl, die auf der heutigen Seite fast nichts mehr erreicht. Niemand muss das tun. zlib berechnet CRCs seit 1995 korrekt, jede PNG-Bibliothek auf diesem Planeten wickelt sie ein, und jedes Modell, das du nennen kannst, spuckt den funktionierenden Code aus, bevor du die Frage zu Ende getippt hast. Nach jedem ökonomischen Maßstab ist das Thema erledigt, automatisiert und geschlossen.
Über tausend Menschen kamen trotzdem zum Zuschauen.
Geh durch, was auf der Seite in letzter Zeit sonst noch Menschenmengen anzog, und das Muster wiederholt sich, bis es aufhört, wie Zufall auszusehen. Conways Game of Life, ein Spielzeug von 1970, mit 855 Aufrufen. "Should I make my own vector in C++ and use that more than the one built in?" (soll ich in C++ meinen eigenen vector bauen und ihn statt des eingebauten verwenden?) mit 373, eine Frage, deren Lehrbuchantwort ein glattes Nein ist, und deren wirkliche Antwort lautet, dass man beim Selberbauen herausfindet, was der eingebaute eigentlich tut. "What are the requirements for C code that can run without an operating system?" (was sind die Voraussetzungen für C-Code, der ohne Betriebssystem laufen kann?) mit 274. Ein Thread über Hardware-Interrupts im Protected Mode. Eine geschlossene Duplikatfrage dazu, wie man einen C-Compiler für HelloWorld.c bekommt, die trotzdem fünfundzwanzig Kommentare anzog, und eine Diskussion über die Implementierung von Post-Quanten-Verschlüsselung in reinem C, die sechsundzwanzig anzog. Die oberen Etagen gehören fast vollständig Dingen, für deren Bau von Grund auf niemand mehr bezahlt wird: Prüfsummen, zelluläre Automaten, Container, Bootstrap-Code, Kryptographie.
Ich habe in einem früheren Essay darüber geschrieben, was die Schließungen der Seite inzwischen sagen: Die faktenförmige Mitte des Programmier-Q&A ist aus der Knappheit herausautomatisiert worden, und die Fragen, die gedeihen, sind die, die Maschinen nicht abschließend klären können. Aber die Abrufzahlen messen etwas, das den Schließungen entgeht. Eine geschlossene Frage sagt dir, was die Leute nicht mehr fragen müssen. Elfhundert Aufrufe für eine handgestrickte CRC sagen dir, was die Leute noch immer sehen wollen.
Eine methodische Anmerkung, damit die Zahlen ehrlich bleiben: Aufrufzahlen und Wertungen sind öffentliche Zähler auf jeder Stack-Overflow-Frage, und meine sind eine Momentaufnahme aus dem Zeitraum, in dem ich das hier geschrieben habe. Das Muster hängt nicht von der Momentaufnahme ab. Schau in irgendeinen Monat, und die handgemachten Dinge treiben nach oben.
Niemand braucht die Prüfsumme
Sei präzise darin, was diese Aufrufe nicht sind. Sie sind kein Bedarf. Ein Entwickler, der 2026 wirklich eine CRC braucht, liest keine lange Antwort über Polynomdivision; er ruft die Bibliotheksfunktion auf, oder er fragt das Modell an seiner Seite und fügt das Ergebnis ein, und beides ist der korrekte professionelle Zug. Würde Bedarf diesen Traffic treiben, hätte die Frage die Leserschaft des Arbeitsmarkts ihres Themas, also so gut wie keine.
Nostalgie sind sie auch nicht, oder nicht hauptsächlich. Nostalgie würde sich um die alten Technologien selbst versammeln, und um Delphi oder SOAP versammelt sich keine Menge. Die Menge versammelt sich ganz gezielt um von Hand gebaute Grundlagen: die Prüfsumme, Schritt für Schritt berechnet, den vector, mit Absicht schlecht implementiert, das C-Programm ohne Betriebssystem darunter. Nicht alte Dinge. Nackte Dinge.
Die nächstliegende menschliche Tätigkeit, die ich finde, ist einem Töpfer zuzusehen. Die Industriekeramik hat vor einem Jahrhundert gewonnen; dein Küchenschrank ist der Beweis. Und trotzdem: Stell eine Töpferscheibe in ein Schaufenster, und die Leute bleiben stehen. Niemand, der zusieht, hat vor, sein eigenes Geschirr zu drehen. Sie sehen zu, weil der Prozess auf eine Weise lesbar ist, wie die Fabrik es nicht ist, weil offen ausgeübtes Können von sich aus Aufmerksamkeit wert ist, und weil ein Teil des Verstehens von Teller nur darin existiert, einem beim Entstehen zuzusehen. Der Topf ist nicht das Produkt der Vorführung. Das Bild im Kopf des Zuschauers ist es.
Dieser letzte Satz ist derselbe, bei dem ich immer wieder ankomme, aus anderen Richtungen. Als ich argumentierte, dass Feststecken der Sinn der Sache ist, war die Behauptung, dass Verständnis dort entsteht, wo dein Bild von der Maschine auf die Maschine trifft und verliert. Einer von Hand berechneten CRC zuzusehen ist die Zuschauerversion desselben Ereignisses. Der Leser dieser Antwort erwirbt keine Prüfsumme. Er sieht Bits durch ein Polynom wandern, bis die Blackbox mit dem Etikett „Integritätsprüfung" zu einem Mechanismus wird, den er in der Hand hält, und dieser Mechanismus überträgt sich auf jede Prüfsumme, jeden Hash und jeden Fehlercode, denen er danach begegnet. Die Antwort ist eine Vorführung, dass der Boden unter den Abstraktionen fest und begehbar ist. Du musst ihn nicht täglich begehen. Du musst ihn einmal begangen haben.
Das Fragen ging, das Zuschauen blieb
Hier ist die Trennlinie, die diese Zahlen sichtbar machen. Das Fragen ist größtenteils zu den Maschinen gewandert, und das sollte es auch. Fragen ist Bedarf, Bedarf will Geschwindigkeit und Privatsphäre, und ein Modell liefert beides ohne Urteil um drei Uhr morgens. Das Zuschauen blieb menschlich, und ich glaube, es blieb aus einem Grund, der jeden angeht, der schreibt oder lehrt: Zuschauen ist die Art, wie sich das Tiefe tatsächlich verbreitet. Das war es schon immer. Die Vorlesung, die Meisterklasse, die Pair-Programming-Session, die Live-Coding-Demo auf der Konferenz, an die sich alle noch Jahre später erinnern, all das ist die Töpferscheibe, Können, in Bewegung lesbar gemacht. Das Antwortformat von Stack Overflow war in seinen besten Momenten immer näher daran als an einer Nachschlagetabelle, und die Menge stimmt genau für die Antworten, die Verständnis vorführen, statt es bloß auszugeben.
Was neu rahmt, wofür eine Frage wie „soll ich meinen eigenen vector bauen" da ist. Gelesen als Bitte um eine Entscheidung ist sie trivial zu beantworten und leicht peinlich, weshalb die alte Verfassung solche Fragen auf Abstand hielt. Gelesen als das, was sie wirklich ist, eine Einladung an jemanden mit Können, die Maschine öffentlich auseinanderzunehmen, gehört sie zu den wertvollsten Dingen, die der Seite geblieben sind. Die 27-Punkte-Antwort zur CRC wurde nicht für den Fragesteller geschrieben. Sie wurde für die elfhundert geschrieben, und die elfhundert wussten, dass sie kommen sollten.
Ich bin dieselbe Wette mit meinem eigenen Lehrjahre-Rat eingegangen: Lern programmieren, gerade weil die Maschinen es können, denn der Wert ist vom Produzieren des Artefakts zum Halten des Bildes gewandert. Diese Zahlen sind das Argument jenes Essays in freier Wildbahn, mit Abrufzahlen. Als das Generieren kostenlos wurde, hörte das Artefakt auf, die Menge anzuziehen. Das Machen zog sie weiter an.
Schreib für die Zuschauer
Wenn du Dinge baust, versteckt sich in diesen Zahlen ein praktischer Schluss. Die handgemachte Vorführung ist kein veralteter Inhalt; sie ist beinahe der einzige Inhalt, dessen Publikum die Maschinen nicht aufgesogen haben, weil ihr Wert nie im Output lag. Niemand wird je deine von Grund auf gebaute CRC brauchen, deinen Spielzeug-Allocator, deinen Renderer aus einer Ferienwoche. Veröffentliche das Machen trotzdem, mit sichtbarem Denkweg, mit den falschen Abzweigungen drin gelassen. Das Modell an jedermanns Seite hat das Ausgeben von Antworten übernommen, und diesen Job soll es gerne behalten. Was es nicht übernommen hat, ist das Schaufenster, die Scheibe, der Ton, und die kleine Menge, die noch immer stehen bleibt, zuverlässig, tausend Mann stark an einem Dienstag, um jemandem zuzusehen, der weiß, was er tut, während er ein Ding von Hand macht.
Fragen, die dieser Artikel beantwortet
Warum liest man noch, wie etwas von Hand gebaut wird, wenn die KI es sofort kann?
Weil der Wert der Vorführung nie im Output lag. Ein Entwickler, der wirklich eine CRC braucht, ruft die Bibliotheksfunktion auf oder fragt das Modell an seiner Seite, und beides ist der korrekte professionelle Zug; die gut tausend Leser einer von Hand berechneten CRC sehen zu, wie aus der Blackbox mit dem Etikett Integritätsprüfung ein Mechanismus wird, den sie in der Hand halten. Die nächstliegende menschliche Entsprechung ist der Töpfer im Schaufenster: die Industriekeramik hat vor einem Jahrhundert gewonnen, und die Leute bleiben trotzdem stehen.
Ist das nicht einfach Nostalgie für alte Technik?
Nein, oder jedenfalls nicht hauptsächlich. Nostalgie würde sich um die alten Technologien selbst versammeln, und um Delphi oder SOAP versammelt sich keine Menge. Die Aufrufe holen von Hand gebaute Grundlagen: die Schritt für Schritt berechnete Prüfsumme, der mit Absicht schlecht implementierte vector, das C-Programm ohne Betriebssystem darunter. Nicht alte Dinge, nackte Dinge.
Soll ich meinen eigenen vector, Allocator oder meine eigene Prüfsumme von Grund auf bauen?
Als Bitte um eine Entscheidung gelesen lautet die Antwort ein glattes Nein, weshalb die alte Verfassung von Stack Overflow solche Fragen auf Abstand hielt. Gelesen als das, was sie wirklich ist, eine Einladung an jemanden mit Können, die Maschine öffentlich auseinanderzunehmen, gehört sie zu den wertvollsten Dingen, die der Seite geblieben sind. 373 Leute kamen zu jener vector-Frage, denn beim Selberbauen findet man heraus, was der eingebaute eigentlich tut. Du musst diesen Boden nicht täglich begehen; du musst ihn einmal begangen haben.
Was lohnt sich noch zu veröffentlichen, wenn ein Modell jede Frage beantwortet?
Veröffentliche das Machen, mit sichtbarem Denkweg und den falschen Abzweigungen drin gelassen. Das Modell hat das Ausgeben von Antworten übernommen und soll diesen Job gerne behalten, aber das Schaufenster hat es nicht übernommen, und die handgemachte Vorführung ist beinahe die einzige Inhaltsklasse, deren Publikum es nicht aufgesogen hat. Die 27-Punkte-Antwort zur CRC wurde nicht für den Fragesteller geschrieben; sie wurde für die elfhundert geschrieben, und die elfhundert wussten, dass sie kommen sollten.
Weiterlesen
AIEine Geschichte aus zwei Claude-Code-Fragen
Dieselbe Seite, dasselbe Werkzeug, dieselben paar Wochen. Eine Frage bei minus acht geschlossen, eine Antwort durch die Decke gewählt. Der Unterschied zwischen beiden ist der nützlichste Schreibratschlag der AI-Ära.
AIDie Fragen, die Stack Overflow jetzt belohnt
Ein 2010 hingerichtetes Tag steht wieder unter lebenden Fragen, der Hilferuf eines Studenten hat die Segfaults überholt, und die Community verhandelt ihre älteste Regel öffentlich neu. Was die Rückkehr der verbannten Fragen über Q&A verrät, nachdem die Fakten automatisiert wurden.