В 2019 году доктор философии Массачусетского технологического института. студент Аджай Брахмакшатрия поставил перед собой амбициозную, но важную цель: дать возможность экспертам в конкретных областях, таких как моделирование климата, биоинформатика или архитектура, разрабатывать свои предметно-ориентированные языки (DSL) даже с небольшим опытом или без него. Это потребовало предоставления инструментов для простой отладки, чтобы устранить ошибки и улучшить взаимодействие с пользователем. Результатом совместных усилий Брахмакшатрии и профессора Массачусетского технологического института Самана Амарасингхе из Лаборатории компьютерных наук и искусственного интеллекта (CSAIL) стали BuildIt и D2X, новаторские инструменты, упрощающие создание, отладку и оптимизацию DSL.
Предметно-ориентированные языки существуют для облегчения использования и оптимизации производительности, поскольку специализированные операции могут эффективно выполняться в соответствующих предметных областях. Проблемы, с которыми сталкиваются DSL, часто связаны с отсутствием поддержки отладки, которую Аджай и Амарасингхе называют ахиллесовой пятой. Их система BuildIt упрощает процесс создания DSL, действуя как DSL для создания DSL. Он берет язык программирования общего назначения и сводит его к специализированной форме, соответствующей предметной области. Такой подход позволяет быстро создавать адаптированные программы, оптимально работающие в конкретной области.
Передовой инструмент D2X (произносится как «детокс») взаимодействует с существующими отладчиками DSL, такими как GDB или LLDB, что упрощает добавление компонента отладки в любой DSL. Программа, написанная с помощью BuildIt, не требует дополнительной работы, поскольку D2X предоставляет возможности отладки без написания дополнительных строк кода. Служа связующим звеном между отладчиками и DSL, эта система избавляет разработчиков от необходимости изучать или создавать форматы отладчиков, тем самым демократизируя процесс создания специализированных языков программирования.
Потенциал D2X изменить мир программирования далеко идущий. Адриан Сэмпсон, адъюнкт-профессор компьютерных наук Корнельского университета, хвалит D2X за решение противоречий, присущих высокопроизводительному программному обеспечению, за счет снижения барьера для создания полезных отладчиков для DSL. Это может сделать DSL намного более привлекательными и доступными для разработчиков.
Забегая вперед, Brahmakshatriya стремится включить возможности редактирования в платформу BuildIt. Текстовые редакторы могут улучшить читаемость, выделяя определенные ключевые слова в документе или предлагая функции автозаполнения. Будущие дополнения к платформе могут включать интеграцию с профилировщиками, которые могут помочь разработчикам выявлять и устранять проблемы с производительностью в своих программах.
Новаторская работа Брахмакшатрии и Амарасингхе в конечном счете уравнивает правила игры, предоставляя расширенные возможности небольшим разработчикам языков программирования. BuildIt и D2X позволяют им пользоваться преимуществами традиционных языков, не нуждаясь в больших командах для разработки сложного кода.
Эта разработка также может принести пользу платформам без кода, таким как AppMaster.io, мощный инструмент для создания серверных, веб-приложений и мобильных приложений. Используя инновации, основанные на BuildIt и D2X, такие платформы, как AppMaster.io, могут постепенно предлагать расширенные функции и оптимизировать процесс создания специализированных приложений, расширяя возможности широкого круга разработчиков и предприятий.