9 Punkte von davespark 2026-01-29 | Noch keine Kommentare. | Auf WhatsApp teilen

7 Lehren von Anders Hejlsberg, dem Architekten hinter C# und TypeScript

Wiederkehrende Muster aus Hejlsbergs 40-jähriger Karriere:
Schnelles Feedback > Eleganz, Kompatibilität und Pragmatismus > Reinheit, transparente Trade-offs > intransparente Entscheidungen

1. Schnelles Feedback ist wichtiger als fast alles andere

  • Schon in der frühen Zeit mit 64-KB-Beschränkungen waren schnelle Ausführung und schnelle Fehlerprüfung entscheidend
  • Sowohl Turbo Pascal als auch TypeScript betonen inkrementelle Prüfungen und unmittelbares Feedback
  • Langsames Feedback → mehr Umgehungslösungen, sinkendes Vertrauen der Entwickler
    → fördert Experimente und Refactoring, maximiert die Produktivität

2. Software zu skalieren heißt, persönliche Vorlieben zurückzustellen

  • Diese Erkenntnis kam beim Wechsel von Einzelprojekten zu Team- und Großprojekten
  • Ein Erfolgsfaktor von C#: VB-Nähe + C++-Power + Windows-Pragmatismus konnten koexistieren
  • Vorrang für Code, den viele Menschen verstehen und warten können, statt für theoretische Reinheit
    → Offenheit für Vielfalt ist der Schlüssel zu langfristigem Erfolg

3. Warum TypeScript JavaScript nicht ersetzt, sondern erweitert hat

  • Das bestehende JS-Ökosystem, die Tools und die Gewohnheiten ließen sich nicht einfach verwerfen
  • Statt eines vollständigen Austauschs wurde eine schrittweise Verbesserung gewählt, durch das Hinzufügen von Typen
  • Dadurch werden statische Analyse und Refactoring möglich, die für große Anwendungen nötig sind
    → Realistische Kompromisse bringen größeren Fortschritt als reine Innovation

4. Der Schlüssel zum Open-Source-Erfolg ist Sichtbarkeit (visibility)

  • Nach dem Umzug von TypeScript auf GitHub im Jahr 2014 wurden PRs, Issues und Diskussionen öffentlich
  • Entscheidungsprozesse, Trade-offs und Prioritäten wurden transparent gemacht
    → mehr Vertrauen der Nutzer, mehr Beiträge auf Basis von Verständnis
    → Wichtig ist nicht nur der Code, sondern auch zu teilen, „warum es so gemacht wurde“

5. Warum man die Pflege des Compilers in JavaScript aufgegeben hat

  • Ein self-hosted Compiler auf JS-Basis stieß an Leistungsgrenzen (Single-Threading, langsam bei großen Projekten)
  • Portierung nach Go: Semantik und Eigenheiten bleiben erhalten, zugleich native Performance und Parallelisierung
  • Statt neuer Sprachen wie Rust hatten Verhaltenskonsistenz und Kompatibilität oberste Priorität
    → stabile Evolution statt disruptiver Veränderung

6. Das Wichtigste in einer KI-getriebenen Entwicklungsumgebung ist Grounding

  • Bei KI sind Genauigkeit und Constraints wichtiger als reine Generierung
  • Type Checker und Refactoring-Tools dienen als Guardrails für die Validierung von KI-generiertem Code
  • Ein starkes Typsystem = Schutz vor plausibel wirkenden Fehlern in KI-Ausgaben
    → strukturierter Code ist im KI-Zeitalter der Schlüssel zu effizientem Review

7. Warum offene Zusammenarbeit wichtig ist

  • Öffentlich dokumentierte Diskussionen und Entscheidungsverläufe bewahren das institutionelle Gedächtnis
  • Durchsuchbarer Kontext → leichteres Onboarding für Neuzugänge, langfristige Weiterentwicklung möglich
  • Anders als in geschlossenen Systemen kann geteiltes Wissen akkumuliert und weitergegeben werden
    → stärkt Nachhaltigkeit und Anpassungsfähigkeit des Systems

Noch keine Kommentare.

Noch keine Kommentare.