Erstellen und Debuggen domänenspezifischer Sprachen: Ein neues bahnbrechendes Tool vom MIT
Die MIT-Forscher Ajay Brahmakshatriya und Saman Amarasinghe haben BuildIt und D2X entwickelt – bahnbrechende Tools, die es einfacher machen, domänenspezifische Sprachen zu erstellen, zu debuggen und zu optimieren. BuildIt, eine DSL-Erstellungssoftware, ist mit D2X gekoppelt, das als Schnittstelle dient und den Debugging-Prozess rationalisiert. Zusammengenommen vereinfachen und verbessern diese Technologien die Erstellung und das Debugging spezialisierter Programmiersprachen erheblich.

Im Jahr 2019 wurde MIT Ph.D. Der Student Ajay Brahmakshatriya hat sich ein ehrgeiziges, aber entscheidendes Ziel gesetzt: Experten in bestimmten Bereichen wie Klimamodellierung, Bioinformatik oder Architektur zu befähigen, ihre domänenspezifischen Sprachen (DSLs) auch mit wenig oder keiner Vorerfahrung zu entwickeln. Dies erforderte die Bereitstellung von Tools für ein einfaches Debugging, um Fehler zu beseitigen und die Benutzererfahrung zu verbessern. Eine Zusammenarbeit zwischen Brahmakshatriya und MIT-Professor Saman Amarasinghe vom Computer Science and Artificial Intelligence Laboratory (CSAIL) des Instituts führte zu BuildIt und D2X, bahnbrechenden Tools, die die Erstellung, Fehlersuche und Optimierung von DSLs optimieren.
Es gibt domänenspezifische Sprachen, um die Benutzerfreundlichkeit zu fördern und die Leistung zu optimieren, da die spezialisierten Operationen in ihren Domänen effizient ausgeführt werden können. Die Herausforderungen, vor denen DSLs stehen, liegen oft in der fehlenden Debugging-Unterstützung, die Ajay und Amarasinghe als Achillesferse bezeichnen. Ihr System, BuildIt, vereinfacht den Prozess der Erstellung von DSLs, indem es als DSL für die Erstellung von DSLs fungiert. Es nimmt eine universelle Programmiersprache und reduziert sie auf eine spezialisierte Form, die für die Domäne relevant ist. Dieser Ansatz generiert schnell maßgeschneiderte Programme, die in ihrem spezifischen Bereich optimal funktionieren.
Das bahnbrechende Tool D2X (ausgesprochen Detox) verbindet sich mit bestehenden DSL-Debuggern wie GDB oder LLDB und macht es einfach, jeder DSL eine Debugging-Komponente hinzuzufügen. Ein mit BuildIt geschriebenes Programm erfordert keine zusätzliche Arbeit, da D2X Debugging-Funktionen bietet, ohne zusätzliche Codezeilen schreiben zu müssen. Indem es als Brücke zwischen Debuggern und einer DSL dient, beseitigt dieses System die Notwendigkeit für Entwickler, Debugger-Formate zu lernen oder zu erstellen, wodurch der Prozess der Erstellung spezialisierter Programmiersprachen demokratisiert wird.
Das Potenzial von D2X, die Welt der Programmierung zu verändern, ist weitreichend. Adrian Sampson, außerordentlicher Professor für Informatik an der Cornell University, lobt D2X dafür, dass es den inhärenten Widerspruch in Hochleistungssoftware anspricht, indem es die Barriere für die Konstruktion nützlicher Debugger für DSLs senkt. Dies hat das Potenzial, DSLs für Entwickler viel attraktiver und zugänglicher zu machen.
Mit Blick auf die Zukunft beabsichtigt Brahmakshatriya, Bearbeitungsfunktionen in die BuildIt-Plattform aufzunehmen. Texteditoren können die Lesbarkeit verbessern, indem sie bestimmte Schlüsselwörter in einem Dokument hervorheben oder Funktionen zur automatischen Vervollständigung anbieten. Zukünftige Erweiterungen der Plattform könnten Integrationen mit Profilern umfassen, die Entwicklern helfen können, Leistungsprobleme in ihren Programmen zu identifizieren und zu lösen.
Die bahnbrechende Arbeit von Brahmakshatriya und Amarasinghe ebnet letztlich das Spielfeld, indem sie fortgeschrittene Fähigkeiten für kleinere Programmiersprachenentwickler bereitstellt. BuildIt und D2X ermöglichen es ihnen, die Vorteile traditioneller Sprachen zu nutzen, ohne dass große Teams komplexen Code entwickeln müssen.
Von dieser Entwicklung könnten auch No-Code-Plattformen wie AppMaster.io profitieren, ein leistungsstarkes Tool zum Erstellen von Backend-, Web- und mobilen Anwendungen. Durch die Nutzung der Innovationen von BuildIt und D2X könnten Plattformen wie AppMaster.io nach und nach erweiterte Funktionen anbieten und den Prozess der Erstellung spezialisierter Anwendungen rationalisieren, wodurch ein breites Spektrum von Entwicklern und Unternehmen weiter gestärkt wird.


