-
Kurzes Interview mit Dr. Brian Kernighan, dem Erfinder von AWK
-
Vorstellung von Dr. Brian Kernighan
- Dr. Brian Kernighan ist ein kanadischer Informatiker, der bei Bell Labs zur Entwicklung von UNIX beigetragen hat
- Zusammen mit Dennis Richie verfasste er das Standardwerk zur Programmiersprache C, "The C Programming Language"
- Seit dem Jahr 2000 bildet er an der Princeton University die nächste Generation von Programmierern aus
- Er ist bekannt als die Person, die das erste "Hello World!"-Programm schrieb
-
Die neue Idee von AWK
- Die zentrale Idee von AWK sind assoziative Arrays (associative arrays)
- Damals war das ein neues Konzept, heute wird es in den meisten Sprachen entweder als Bibliotheksfunktion (hashmaps in Java oder C++) oder direkt in der Sprache selbst (dictionaries in Perl und Python) verwendet
- Assoziative Arrays sind eine sehr mächtige Struktur und können zur Simulation verschiedenster Datenstrukturen verwendet werden
- Das Pattern-Action-Paradigma war damals ebenfalls noch nicht weit verbreitet, ist aber eine effektive Methode, bestimmte Berechnungen zu strukturieren
-
Referenzen beim Entwurf der Programmiersprache
- Dr. Kernighan: "Keine"
- In den 1970er Jahren gab es viele neue spezialisierte Sprachen, und es gab kaum frühere Arbeiten, auf die man sich beziehen konnte
- Yacc war ein wichtiges Werkzeug, mit dem sich Grammatiken leicht erstellen und experimentell erproben ließen
- Lex erfüllte auf lexikalischer Ebene dieselbe Rolle und ersetzte viel mühsamen Code durch Regelsätze
- Lex und Yacc sind Beispiele für Pattern-Action-Sprachen und bildeten gemeinsam einen positiven Kreislauf
-
Ratschläge für junge Menschen mit Interesse am Entwurf von Programmiersprachen
- Er rät dazu, eine kleine spezialisierte Sprache zu entwerfen und zu implementieren
- Das ist sehr unterhaltsam und nützlich und deutlich einfacher, als eine Alternativsprache zu Rust oder C++ zu entwickeln
- Er empfiehlt, nach Aufgaben zu suchen, die sich automatisieren lassen, und dafür einen einfachen Compiler und eine Runtime zu bauen
- Ein Artikel, den Jon Bentley vor langer Zeit schrieb, ist weiterhin relevant
-
Bildquelle
- Wikimedia Commons
-
Zusammenfassung von GN⁺
- Dr. Brian Kernighan ist eine wichtige Persönlichkeit, die zur Entwicklung von UNIX und der Programmiersprache C beigetragen hat, und der Erfinder der Sprache AWK, die assoziative Arrays und das Pattern-Action-Paradigma eingeführt hat
- Assoziative Arrays sind eine mächtige Datenstruktur, die heute in den meisten Programmiersprachen verwendet wird
- Für junge Programmierer ist es hilfreich, kleine spezialisierte Sprachen selbst zu entwerfen und zu implementieren
- Yacc und Lex sind Werkzeuge, die Grammatik- und Lexikanalyse erleichtern, und gute Beispiele für Pattern-Action-Sprachen
1 Kommentare
Hacker-News-Kommentare