Chreke's blog 30.11.2022, 09:38 Uhr

Sind kleine Sprachen die Zukunft der Programmierung?

Es gibt Programmiersprachen, mit denen man alle Aufgaben lösen kann und kleine Sprachen, die nur für spezielle Aufgabenstellungen taugen. Sind letztere die Zukunft der Programmierung?
Big Code steht hier für das dramatische Wachstum von Volumen und Komplexität des Codes.
(Quelle: info.sourcegraph.com, The Emergence of Big Code, 2020)
Mit einer Sprache wie C++ kann man alles machen. Ob dabei die kürzeste, eleganteste und wartungsfreundlichste Lösung herauskommt steht auf einem anderen Blatt. Vielleicht wäre Python eine bessere Lösung. Auch Python ist dafür konzipiert, dass man damit prinzipiell alle Probleme angehen kann. Als "kleine Sprachen" (little languages) bezeichnet Chreke's blog Sprachen, die nur für einen klar eingegrenzten Bereich taugen. Die Datenabfragesprache SQL ist ein Beispiel dafür. Oder Dhall, eine kleine Sprache für das Konfigurationsmanagement. Jon Bentley definierte eine little language so: "eine kleine Sprache ist auf einen bestimmten Problembereich spezialisiert und enthält nicht viele Funktionen, die in herkömmlichen Sprachen zu finden sind."
Andere Bezeichnungen für diese Sprachen sind: Domänenspezifische Sprachen (DSLs), problemorientierte Sprachen und so weiter. Chreke mag jedoch den Begriff "little languages" lieber, einerseits weil der Begriff "DSL" überladen ist und alles von einer Bibliothek mit einer fließenden Schnittstelle bis hin zu einer vollwertigen Abfragesprache wie SQL bedeutet und andererseits weil "kleine Sprachen" ihren winzigen Charakter betont.
Warum Entwickler kleine Sprachen brauchen liegt unter anderem daran, dass die Codebasen immens wachsen. Als Beispiel dient in Chreke's blog der Linux-Kernel, der mit rund 10.000 Zeilen startete und inzwischen mehr als 30 Millionen Zeilen umfasst. Das inzwischhen abgeschlossene Projekt STEPS versuchte zu belegen, dass das nicht zwingend notwendig ist. STEPS führte zu KSWorld, einem kompletten Betriebssystem, das sowohl einen Dokumenten-Editor als auch eine Tabellenkalkulation enthält und mit etwa 17.000 Zeilen Code auskommt.
Den kompletten englischsprachigen Beitrag "Little Languages Are The Future Of Programming" lesen Sie hier.


Das könnte Sie auch interessieren