3 Punkte von GN⁺ 8 시간 전 | 1 Kommentare | Auf WhatsApp teilen
  • Auch im Zeitalter von LLMs und Vibe Coding bleibt Programmieren mehr als nur eine Jobqualifikation: Es ist ein Medium, um Mathematik, Lernmethoden und kreativen Ausdruck zu erlernen.
  • Die Stimmung, in der „learn to code“ wie ein Slogan für schnellen sozialen Aufstieg verwendet wurde, hat nachgelassen, und ein paar Zeilen JavaScript garantieren kein sechsstelliges Gehalt.
  • Wie die Beispiele LOGO und Mathland zeigen, hilft Programmieren dabei, Mathematik durch Erkundung statt durch das Auswendiglernen von Anweisungen zu verstehen, und trainiert zugleich Debugging, Strukturierung und Logik.
  • Programmieren verbindet die Vorstellungskraft des Schreibens, die Präzision der Mathematik und die unmittelbare Rückkopplung eines Spiels und zwingt dazu, gewünschte Ergebnisse in eine Sprache zu formen, die der Computer ausführen kann.
  • Auch wenn LLMs gut mit Englisch und Code umgehen können, verschwindet die Bedeutung der Geisteswissenschaften nicht — ebenso bleibt die Notwendigkeit einer allgemeinen Code-Kompetenz bestehen.

Der Wert des Programmierens jenseits von Jobgarantien

  • Steve Krouse, Gründer von Val Town, sagt, dass alle Programmieren lernen sollten, obwohl er ein „Silicon Valley startup“ zum Schreiben und Deployen von Code betreibt.
  • In Making Sense with Sam Harris #481 fällt sinngemäß die Aussage, dass man im Silicon Valley mehrere Monate lang den Satz „learn to code“ nicht mehr gehört habe.
  • Früher wurde „learn to code“ wie ein wiederholter Weg aus der Armut propagiert, doch nur weil man ein paar Zeilen JavaScript aneinanderreihen kann, folgt daraus noch kein sechsstelliges Gehalt.
  • Programmieren ist wie Mathematik, Literatur, Wissenschaft oder Geisteswissenschaften nicht nur wegen seines beruflichen Nutzens lernenswert, sondern auch aus pädagogischen Gründen.

Ein Medium, um Mathematik zu lernen und Denken zu schulen

  • Programmieren kann ein mächtiges Medium sein, um Mathematik zu lernen.
    • Steve Krouse begann Mathematik durch ein Nachmittags-Programmierprogramm zu mögen und wurde darin besser, als er erwartet hatte.
    • Seymour Papert wollte, dass Kinder Mathematik so lernen wie Sprache: nicht durch Anweisungen, sondern durch Erkundung.
    • Paperts „Mathland“ war die Programmiersprache LOGO, bei der man einer Schildkröte auf dem Bildschirm Befehle gibt, um Zeichnungen zu erstellen.
    • Steve Krouse hat auch eine LOGO-Version gebaut, die man online ausprobieren kann.
  • Beim Erlernen des Programmierens entwickeln sich zugleich Meta-Fähigkeiten wie Debugging, Strukturierung und Logik, ebenso wie das Gefühl, dass es nichts gibt, was man nicht lernen könnte.

Programmieren als kreative Tätigkeit

  • Coden ist eine Tätigkeit, in der die Kreativität des Schreibens, die Präzision der Mathematik und die unmittelbare Feedback-Schleife eines Videospiels zusammenkommen.
    • Es zwingt dazu, das Gewollte in eine präzise Sprache zu verfeinern, die der Computer ausführen kann.
    • Nachdem man eine ungewohnte Syntax gelernt hat, kann man den Computer Dinge erschaffen lassen, die man sich vorgestellt hat — daher der Vergleich mit dem Sprechen eines Zauberspruchs.
  • LLMs können sowohl Englisch als auch Code gut schreiben, doch so wie dadurch die Relevanz der Geisteswissenschaften nicht verschwindet, bleibt auch Code weiterhin wichtig.
  • Wie juristische Dokumente kann Code wie eine Ansammlung schwer verständlicher und langweiliger Details wirken, doch er ist die Grundlage dafür, wie die Welt funktioniert, und eine elegante einzelne Zeile Code kann die Welt verändern.
  • Programmieren ist eine freudvolle Tätigkeit, und auch im LLM-Zeitalter lebt der Traum von allgemeiner Code-Kompetenz oder einer „echten Computerrevolution“ weiter.

1 Kommentare

 
GN⁺ 8 시간 전
Meinungen auf Hacker News
  • Selbst bei Menschen, die schon vor LLMs programmieren konnten, nimmt die Programmierkompetenz bereits ab, und das dürfte in den nächsten 10 bis 20 Jahren so weitergehen.
    Im selben Zeitraum könnte sich auch das Erlernen des Programmierens kaum lohnen.
    Am Ende wird der Code, mit dem künftige LLMs trainiert werden, nur noch von LLMs erzeugter Code sein, und die Qualität produktiver Codebasen dürfte so weit sinken, dass sie für Menschen schwer zu verstehen und für LLMs schwer zu warten sind, bis die Risse sichtbar werden.
    Dann wird Programmieren wieder eine wertvolle Fähigkeit sein, aber aus Sicht der Karriereplanung ist der Zeitpunkt ungewiss, und Märkte können länger irrational bleiben, als Einzelne durchhalten können.

    • Das ähnelt Isaac Asimovs Profession.
      Es wird weiterhin Menschen brauchen, die selbst Code schreiben und handwerkliches Können wiederherstellen.
      Wenn alle auf generierten Code angewiesen sind, können sie nur bereits Bekanntes wiederholen; nur diejenigen, die durch echtes Lernen den schwierigen Weg gegangen sind, werden die Kreativität und den Verstand haben, neues Wissen zu schaffen und neue Lehr-Tapes zu erstellen.
    • Das ist eine ziemlich optimistische Prognose.
      Die Punkte 1 und 2 — dass produktive Codebasen für Menschen unverständlich und auch für LLMs schwer wartbar werden — werden eintreten, aber Punkt 3, dass Programmieren danach wieder wertvoll wird, wohl eher nicht.
      Insbesondere wird das Management die Erwartungen senken oder dazu gezwungen werden.
      Man muss nur daran denken, wie häufig eine „neue und verbesserte Version“ wichtige Funktionen, die man bisher genutzt hat, ohne angemessenen Ersatz entfernt.
      Wenn eine Codebasis nicht mehr wartbar ist, wird man wahrscheinlich einfach wieder einen neuen Müllhaufen generieren und zufällige Änderungen an allen möglichen Stellen als Verbesserungen bezeichnen.
    • Ich habe eines der letzten erwähnenswerten Fujitsu-Notebooks und bin ein großer Fan.
      Als Fujitsu vor etwa fünf Jahren versuchte, die Notebook-Produktion wieder aufzunehmen, bestand der praktisch umsetzbare Weg darin, pensionierte japanische Arbeitskräfte wieder zusammenzubringen.
      Die jüngere Generation hatte offenbar entweder nicht die Fähigkeiten oder wollte es schlicht nicht machen, und nach einigen Produktionsläufen scheint es vorbei gewesen zu sein.
      Panasonic stellt noch Business-Notebooks her, aber sie sind sehr teuer, und diese Geschichte hängt direkt mit diesem Thema zusammen.
    • Um mit Claude ein produktiver Programmierer zu sein, muss man immer noch verstehen, was man tut.
      Programmieren zu lernen ist unerlässlich, und man muss wissen, was möglich und einfach ist, um auch zu wissen, wie viel man verlangen kann.
      Weniger wichtig wird es, die Klinge ständig scharf zu halten.
      Wenn man eine Zeit lang weniger Code schreibt, nehmen einmalige Fehler oder Copy-and-paste-Patzer zu, aber durch LLMs wird es weniger wichtig, das Programmiergefühl warmzuhalten.
      Trotzdem hätte ich meine Arbeit wohl auch mit Fable nicht erledigen können, wenn ich es nicht selbst gekonnt hätte.
    • Es läuft eher auf „ältere Entwickler werden weiter den Verfall der Codequalität beklagen und den alten Programmiertagen nachtrauern“ hinaus.
      In der Zwischenzeit werden mehr Menschen als je zuvor Software erstellen und nutzen, und die Tiraden darüber, dass „alles den Bach runtergeht“, werden wahrscheinlich lächerlich übertrieben wirken.
  • Die Aussage „Code ist eine schöne Form kreativen Ausdrucks, so reich wie Literatur oder Musik“ wirkt übertrieben, und man fragt sich, wie vertraut der Autor mit Literatur und Musik ist.
    Der Großteil der Programmierung ist eher Klempnerarbeit.
    Man kommt, schimpft über den vorherigen Arbeiter und löst ein Puzzle mit eigenen Einschränkungen.
    Der Grund, warum LLMs gut im Programmieren sind, ist, dass man beim Programmieren langweiligen, gewöhnlichen Code will.

    • Der Großteil der Programmierung ist eher Wegwerf-Müll, und wenn Klempnerarbeit so behandelt würde, würden wir buchstäblich in ernsthaftem Dreck leben.
      Ich habe nie erlebt, dass ein Klempner kam und den Vorgänger beschimpfte; er hat etwas geändert oder etwas repariert, das ich kaputt gemacht hatte.
      Das Ergebnis funktionierte jahrelang, jahrzehntelang perfekt, selbst wenn ich nicht gut damit umging.
      Auch etwas langweilig und gewöhnlich zu machen, kann man mangels eines besseren Wortes Kunst nennen.
      Man kann Funktionsnamen weder wie Abkürzungscode wählen noch wie ThisIsTheEntryPointOfTheProgram(), und was besser ist, wird zum Gegenstand endlosen Nachdenkens und Diskutierens.
      Weil wir häufige Ersetzungen und Aufblähung als selbstverständlich hinnehmen, nehmen wir solche „kleinen“ Dinge als gegeben hin, aber Klempner tun das nie.
      Sie führen nicht jede Woche neues Rohrmaterial ein, nur um es beim nächsten Hype wieder auszutauschen, und weil sie meist Dinge bauen, die länger halten als Menschen, wirkt ihr Beruf wie von einem völlig anderen Planeten.
    • Die beiden scheinen auf gegenüberliegenden Seiten desselben Zauns zu stehen.
      Die Demoszene ist Programmierung zum Spaß und als kreativer Ausdruck, und es gibt auch den IOCCC.
      Das entspricht kreativ geschriebener Literatur.
      Umgekehrt gibt es auch Schreiben, das man einfach beruflich macht, etwa wie das Verfassen einer Wissensdatenbank; das ist dann klempnerartige Programmierung wie CRUD und Cloud.
    • Für den Großteil der Programmierung mag das stimmen, aber der Großteil von Musik und Literatur dürfte ebenfalls uninspiriertes Zeug sein.
      Trotzdem gibt es viele schöne Algorithmen, wie man sie etwa in Knuths Büchern findet, und persönlich empfinde ich sie als schöner als jede Musik.
    • Ich halte das überhaupt nicht für übertrieben.
      Im Gegenteil: Man könnte argumentieren, dass Code ausdrucksstärker ist als Literatur oder Musik, weil er allgemeiner ist.
      Wenn man an den Raum aller möglichen Videospiele, Demos/Intros, generativen Bilder und generativen Musik denkt: All das wäre ohne Code unmöglich.
      Hier wird offenbar die übliche Nutzung eines Mediums mit seiner Ausdruckskraft verwechselt.
      Auch viele Verwendungen der Alltagssprache sind nicht interessant, aber man muss den gesamten Raum der Möglichkeiten betrachten.
    • Der Zweck von Kunst wie Musik oder Literatur ist die Kunst selbst.
      Code ist Handwerk und ein Mittel zum Zweck.
      Er kann trotzdem schön, beeindruckend und kreativ sein, aber es ist eine andere Art.
      Das ist kein Werturteil.
      Kunst kann ebenfalls schlecht oder fade sein, und Code kann ein geniales Ergebnis hervorbringen.
      Aber der Grund, warum eine Mondlandefähre oder eine handgefertigte Uhr schön ist, liegt darin, dass sie tatsächlich funktioniert; mit Musik lässt sich das schwer vergleichen.
  • Als professioneller Programmierer, der ins letzte Drittel einer erfüllenden Karriere eintritt, ordne ich Coden lernen inzwischen in dieselbe Kategorie ein wie „als Dichter den Lebensunterhalt verdienen“
    Es ist eine wirklich schöne Kunst, und einige wissen ihren Wert zu schätzen, aber man sollte besser einen anderen Plan für den Broterwerb haben
    Seniors, die bereits coden können, wirken im Moment noch halbwegs okay, aber die Arbeit entwickelt sich immer mehr dahin, Modelle wie Junior-Beitragende zu betreuen

    • Wenn man tatsächlich nicht coden kann, ist auch diese Betreuungsarbeit unmöglich
    • Das ist nicht falsch, vermutlich
      Ich muss an einen alten Freund denken
      Er studierte Alte Musik in Harvard, hatte einen MFA und war außerordentlich begabt
      Er konnte Latein und Griechisch lesen und schreiben, Musik in mittelalterlicher Notation komponieren und aufführen und veröffentlichte auch ein Buch über frühe Stickerei
      Aber er bekam keine Stelle in der Wissenschaft und fand auch keinen Job, der diese Fähigkeiten gebraucht hätte
      Vor einigen Jahren starb er allein
      Das könnte auch das Schicksal vieler Programmierer sein
    • Ich sage das schon seit einer Weile und habe am Ende das Feld komplett gewechselt
      Die Leute klammerten sich daran, dass LLMs Entwickler nicht wirklich ersetzen können, und das stimmt, ist aber nicht entscheidend
      Damit der Arbeitsmarkt stark ins Wanken gerät, reicht es, wenn weniger Menschen für die Teile gebraucht werden, die LLMs nicht können
      Wenn die Effizienz bestehender Entwickler nur um 30 % steigt, kann die Nachfrage nach Entwicklern um 20 % sinken, und das hätte enorme Auswirkungen auf Nachfrage und Löhne
    • Es scheint stark von der Region abzuhängen
      Außerhalb des Westens, wo KI nicht angenommen wird, hat KI die Nachfrage nach Software laut https://hai.stanford.edu/ai-index/2026-ai-index-report gesteigert
    • Mich würde interessieren, auf welche Daten du schaust
  • Was ich jetzt vorhabe, ist, etwas zu bauen, aber den Code nicht mit einem LLM zu schreiben
    Zur Beratung nutze ich es weiterhin
    Ich baue in Elixir einen Aggregator für Dota2-Turnierspiele: Er nimmt Turnier-Streams, sortiert sie chronologisch und soll das Problem entschärfen, dass es auf YouTube unpraktisch ist, eine fortlaufende Videoserie anzusehen
    Ich mache das, weil ich Programmieren mag und weil ich es mag, Dinge zu bauen
    LLMs machen mich intellektuell faul, und etwas damit zu bauen fühlt sich weniger erfüllend an
    Ich will bauen, und bauen zu wollen ist menschlich

    • Alles, was Menschen empfinden, ist menschlich, ob sie nun etwas bauen wollen oder nicht
      Manche bevorzugen eine bestimmte Art des Bauens, andere eine andere, und das ist in Ordnung
      Am Ende scheinen viele zu vergessen, dass Programmieren eine ziemlich kreative Tätigkeit ist
      Etwas zugespitzt gesagt: Programme zu bauen ist, im Guten wie im Schlechten, eher mit Malen vergleichbar als mit dem Bau einer Brücke
    • Ich lese zurzeit Seneca, und in einem der Briefe stand sinngemäß:
      „Die Vertiefung in die Arbeit selbst ist zutiefst erfreulich. Die Freude am fertigen Werk nach Abschluss der Arbeit ist nicht dasselbe. Der Künstler genießt das Ergebnis, aber während er malt, genießt er die Kunst selbst“
      Genau das ist das Problem mit LLMs
      Sie haben mir den Moment genommen, in dem ich die Kunst des Programmierens selbst genieße
    • Ich habe mit stratz / opendota viel Aggregation von Dota2-Spielen gemacht
      Die Datenmenge ist riesig, es macht wirklich Spaß und hat mich definitiv zu einem besseren Programmierer gemacht
  • Persönlich sehe ich, dass Bekannte, die schon vor LLMs keine besonders guten Entwickler waren, auch heute mit den neuesten Modellen schlechten Code produzieren
    Solides Wissen und Verständnis von guter Architektur und gängigen Praktiken bleiben zentral
    Man vergisst leicht, dass die Grundlagen und das Gespür, die einem heute selbstverständlich erscheinen, in Zeiten mit wenig Erfahrung viel Zeit und Mühe gekostet haben

    • Stimme völlig zu
      Das ist ein Phänomen, das ich ständig beobachte
      LLMs können ein Kraftverstärker sein, aber wer nicht die richtigen Fragen stellen kann oder die Nuancen nicht versteht, produziert schlechten Code, und genau das Schlechte wird verstärkt
      Ich glaube nicht, dass die aktuellen Modelle das vermeiden können, besonders weil die Trainingsdaten historisch gesehen von Menschen erzeugt wurden und das ebenfalls eine Grenze darstellt
  • Kennt jemand einen Mathematiker, der keine schriftliche Division oder keine grundlegende Algebra kann?
    Wahrscheinlich nicht
    Denn Grundlagenmathematik ist nötig, um höhere Mathematik zu lernen, deshalb gibt es solche Leute nicht
    Ob ein Taschenrechner die Grundrechenarten übernimmt, ist unerheblich, wenn man Mathematiker werden will
    Ebenso halte ich die Frage, „ob der durchschnittliche Entwickler in fünf Jahren Code von Hand schreiben wird“, für unabhängig davon, ob man Coden lernen sollte, wenn man komplexe Software entwerfen und bauen beherrschen will, egal mit welcher Methode

    • Heute nicht mehr, aber früher war ich Forschungsmathematiker
      Ich weiß überhaupt nicht mehr, wie schriftliche Division geht, aber irgendwann konnte ich sie definitiv gut
      Heute bin ich auch im Kopfrechnen miserabel
      Trotzdem waren diese Dinge auf dem Weg zum Mathematiker notwendig; sie wurden nur irrelevant, als die Abstraktionsebene stieg
    • Gegenteilige Perspektive, aber gleiche Schlussfolgerung
      Ich habe von Mathematikern oft den Witz gehört: „Je weiter man kommt, desto schlechter wird man in Mathe“
      Die meisten Mathematiker müssten bei einer Aufgabe zur schriftlichen Division ziemlich nachdenken, weil sie diese Fähigkeit vor langer Zeit hinter sich gelassen haben
      Trotzdem lernen und betreiben Menschen Mathematik auf allen Ebenen von Hand, selbst mit Taschenrechnern und Python-Notebooks, um das Fach weiterzuentwickeln
      Die Leute sind zu sehr darin vertieft, LLMs so zu behandeln, als wären sie die gesamte Zukunft, aber LLMs selbst sind vollständig ein Produkt der Vergangenheit
      LLMs sind weniger denkende Maschinen als vielmehr ein verlustbehaftetes JPEG von Sprache und dem in Sprache ausgedrückten Wissen
      Wenn man ein Fach erweitern und in die Zukunft führen will, kann man sich daher nicht allein auf einen Algorithmus verlassen, der zur Mitte zurückregrediert
  • Ersetzt der AI-Agent beim Coden nicht vor allem die äußere Schicht der Entwicklung?
    Also Dinge wie Endnutzeranwendungen, Apps, Dashboards und Business-Anwendungen.
    Bei dieser „Außenhülle“ können Menschen 99 % Genauigkeit oder aufgeblähten Code bis zu einem gewissen Grad tolerieren, und Vibe-Coding-Apps können behaupten, „gut genug“ zu sein.
    Man muss sich nur ansehen, zu welcher Katastrophe Microsoft-Apps seit der AI-Einführung geworden sind.
    Aber bei den zentralen Compilern, Frameworks, Tools und Libraries, auf die Menschen sich wirklich verlassen müssen, meidet man LLMs weiterhin.
    Niemand will auf 99 % genauem oder aufgeblähtem Code aufbauen, und niemand will einen von AI gecodeten Webbrowser verwenden.
    Wenn man wirklich gute Baumaterialien herstellen will, muss man selbst coden und wissen, was man tut.
    Wo gibt es in solchen Kernbereichen ein Beispiel, das auch nur annähernd daran herankommt, Coding schrittweise abzuschaffen?

    • Es gibt eine richtige Art, es zu tun.
      Allerdings verbringt man dann viel Zeit damit, Abstraktionen zu konzeptualisieren und zu verfeinern.
      Das Problem ist, dass Konzeptualisierung einen bestimmten Geisteszustand erfordert.
      Vor LLMs waren es 10 % schwieriges Nachdenken und 90 % Implementierung.
      Die Implementierung war eine Art Belohnung, und es fühlte sich im Flow sehr gut an, Ideen zu konkretisieren.
      Seit LLMs laufe ich ziemlich oft nur hin und her und denke nach.
      Jetzt ist es eher 40 % Nachdenken und 60 % Planung/Code-Review.
      Seitdem habe ich keinen Flow-Zustand mehr erlebt.
      Nachdenken macht Spaß, ist aber ermüdend, und Review ist einfach lästig.
      Besonders dann, wenn ein LLM in seltsame Fehlermuster gerät.
      Früher konnte ich bei schlechtem Code sofort erkennen, was sich der Autor gedacht hatte und warum es nicht funktioniert.
      Heute gibt es weniger Code Smells, aber viele falsch gewählte Abstraktionen, sodass man viel vorsichtiger sein muss.
      Wirklich Anleitung
    • Solche Aussagen schreiben von Menschen geschriebenem Code nachträglich eine Qualität zu, die er ursprünglich gar nicht hatte.
      Du sagst: „Niemand will auf 99 % genauem oder aufgeblähtem Code aufbauen“, aber, mein Freund, hast du schon einmal Windows benutzt?
    • Ich weiß nicht, welche Leute so etwas tolerieren sollen.
      Wenn ich Freunde und Familie in meinem Umfeld frage, hassen sie alle langsame, aufgeblähte Software.
      Man kann kaum beziffern, wie viel Zeit und Produktivität das frisst.
      Seit dem Aufkommen von LLMs ist es nicht besser, sondern schlimmer geworden.
    • Machen die Dinge im zweiten Absatz nicht nur einen kleinen Anteil der Coding-Jobs aus?
      Wenn man, um als Programmierer seinen Lebensunterhalt zu verdienen, nur noch solche Jobs bekommen muss, könnte Programmieren Sport sehr ähnlich werden.
      Man kann Basketball als Amateur genießen und es in der Highschool oder an der Uni ernster betreiben, aber um mit Basketball seinen Lebensunterhalt zu verdienen, muss man gut genug sein, um in die NBA zu kommen.
    • Zeigt die jüngste Bun-Kontroverse nicht eine andere Geschichte?
  • Ich halte die vorgebrachten Argumente für sehr schwach.
    Statt hoffnungsvoll zu sein, hat mich das eher deprimiert; wenn die verbleibende Logik so aussieht, fühlt es sich an, als werde es wirklich verzweifelt.
    Ausgeführt: Wenn Coding Kunst ist, dann die schlechteste Kunst.
    Es ist viel eher wie Lego und näher an der Befriedigung, die man empfindet, wenn man eine sinnvolle Konstruktion fertiggestellt hat.
    Vielleicht ist genau das auch der Punkt des Autors.
    Als reines Hobby hat es weiterhin einen gewissen Wert.
    Die Behauptung „Coding hilft bei Mathematik“ ist ähnlich schwach.
    Bei Algebra hilft es sicher, aber insgesamt denke ich, dass Coding-Mathematik vor allem bei Coding-Mathematik hilft.
    Es ist eine seltsame Art von Mathematik mit Schleifen, Regeln und Bedingungen, und sie wäre wohl gar nicht Mainstream geworden, wenn Software nicht von Anfang an so sehr Mainstream geworden wäre.
    Wenn man die Schale abzieht, klingt diese Logik eher zirkulär als nach einer substanziellen Behauptung.

  • Coden zu lernen bedeutet, ein Problem zu verstehen, es in kleine, handhabbare Teile zu zerlegen und wieder zusammenzusetzen.
    Dazu gehören auch Debugging und iteratives Verbessern anhand besserer Metriken.
    Das sind enorm wertvolle Fähigkeiten und Denkweisen, die sich auch auf andere Problemlösungsbereiche übertragen lassen.

    • Stimmt.
      Schon vor LLMs war allgemein bekannt, dass man ein Programm nicht wirklich verstanden hat, wenn man es nicht selbst geschrieben hat.
      Dafür gibt es keine Abkürzung.
    • Wenn man nicht coden kann und nur prompten kann, hat man keine Möglichkeit, gute von schlechten Lösungen zu unterscheiden.
      Das Beste, was man tun kann, ist, das Modell es stellvertretend herausfinden zu lassen.
      Man weiß auch nicht, wie man eine gute API entwirft oder ein System in Module zerlegt.
      Das Problem ist, dass viele Manager den Unterschied zwischen guten Programmierern und Vibe-Codern nicht gut erkennen.
      Vibe-Coder reichen viele PRs ein.
      Vielleicht können die Manager selbst sogar vibe-gecodete PRs einreichen.
      Sie mögen die Vorstellung nicht, dass Programmierer mehr wissen könnten als sie.
    • Steve Jobs sagte früher, jeder sollte Programmieren lernen.
      Weil es einem beibringt, wie man denkt.
      https://youtu.be/BRTOlPdyPYU
  • Kein überzeugendes Argument
    Wenn das beste Argument, um Menschen davon zu überzeugen, Programmieren zu lernen, ist, dass es der mathematischen Notation ähnelt – also dem Teil der Mathematik, den Einsteiger am meisten hassen –, oder dass es so schön ist wie eine Geige – also für Neueinsteiger nutzlos –, dann steckt das Programmieren in einer ernsthaften Krise.
    Das bessere Argument ist meiner Meinung nach, dass es hilft, wie ein Computer zu denken.
    Aber wenn man das lernen will, gibt es viele Videospiele, die ich empfehlen würde, bevor man sich im Programmieren einarbeitet.
    Für die meisten Menschen ist „Lerne programmieren“ ungefähr so wie einem Programmierer zu sagen: „Lerne Assembler.“
    Ich programmiere seit etwa 30 Jahren.

    • Der überzeugendste Grund, Programmieren zu lernen, ist exakt derselbe wie der Grund, viel zu lesen.
      Weil es das Gehirn trainiert.
      Ein Gehirn, das grundlegende Logik und Kontrollfluss leicht einordnen, interpretieren und verstehen kann, ist besser gegen Propaganda und Einflussnahme gewappnet.
      Das hat denselben Nutzen wie viel zu lesen, wirkt aber auf einen anderen Denkpfad.
      Man wird mehr Weltanschauungen ausgesetzt, denkt über jede davon kritischer nach, und das allgemeine kritische Denken nimmt zu.
    • Die Formulierung „Für die meisten Menschen ist Programmieren lernen so, als würde man einem Programmierer sagen, er solle Assembler lernen“ gefällt mir wirklich gut.
      In einer Uni-Vorlesung lernt man vielleicht Assembler, aber abgesehen davon fehlt die Motivation.
      Niemand wollte Assembler lesen, und heute will niemand Code lesen.
    • Ich habe einem Freund, der Mathematik mag, einmal gesagt, dass ich mich manchmal frage, ob ich hätte aufwachsen können, ohne zu glauben, dass ich „schlecht in Mathe“ sei; ich glaube, genau daran liegt es.
      Problemlösen an sich ist nicht schwer.
      Ich habe gesehen, wie Leute unwissentlich „schwierige“ Mathebrocken als Code neu erfinden.
      Deshalb begann ich zu denken, dass Mathematik vielleicht absichtlich schrecklich gemacht wurde.
    • Ich finde, Videospiele sind zu abstrakt, um sie mit dem Lernen, wie ein Computer zu denken, zu verbinden.
      Das Nützlichste, was ich über Computer gelernt habe, war, Logikgatter von Hand zu bauen.
      Nichts hat mir ein tieferes Verständnis dafür gegeben, wie Computer funktionieren.
      Programmieren ist der nächste Schritt.
      Alle Schichten dazwischen kann man durch Schlussfolgerungen ergänzen, also darf man sie überspringen.
      Man muss Assembler nicht lernen, aber es lohnt sich, einmal hineinzulesen, um ein Gefühl dafür zu bekommen.
      Die Schichten von Logikgattern über Assembler, Programmierung, Spiele und nun KI zu verstehen, ist ähnlich wie das Lesen des OSI-Modells, um Networking zu verstehen.
      Es ist eine Struktur, in der sich Abstraktionsschichten nacheinander stapeln.
      Programmieren zu lernen ist deshalb wertvoll, weil es die höchste Abstraktionsschicht ist, die alles darüber gemeinsam hat.
      Auch wenn es Hunderte Programmiersprachen gibt, sind die Konzepte im Großen und Ganzen dieselben; wenn man eine Sprache lernt und Programmierung versteht, lässt sich das auf fast alle anderen Sprachen anwenden.
      Spiele hingegen gibt es zu Zehntausenden, unterteilt in Hunderte Arten, und wenn man andere Anwendungen dazunimmt, explodiert der Baum der Varianten auf dieser Ebene.