2019 年、MIT Ph.D.学生の Ajay Brahmakshatriya は、野心的かつ重要な目標を設定しました。それは、気候モデリング、バイオインフォマティクス、建築などの特定の分野の専門家が、経験がほとんどまたはまったくなくてもドメイン固有言語 (DSL) を開発できるようにすることです。そのため、エラーを排除し、ユーザー エクスペリエンスを向上させるために、簡単にデバッグできるツールを提供する必要がありました。 Brahmakshatriya と MIT のコンピューター サイエンスおよび人工知能研究所 (CSAIL) のサマン アマラシンハ教授の共同作業により、DSL の作成、デバッグ、最適化を効率化する画期的なツールである BuildIt と D2X が生まれました。
ドメイン固有言語は、ドメイン内で特殊な操作を効率的に実行できるため、使いやすさを促進し、パフォーマンスを最適化するために存在します。 DSL が直面する課題は、多くの場合、Ajay と Amarasinghe がアキレス腱と呼んでいるデバッグ サポートの欠如によるものです。彼らのシステムである BuildIt は、DSL を作成するための DSL として機能することで、DSL の作成プロセスを簡素化します。汎用プログラミング言語を、ドメインに関連する特殊な形式に縮小します。このアプローチは、特定の分野で最適に機能するカスタマイズされたプログラムを迅速に生成します。
画期的なツールである D2X (デトックスと発音) は、GDB や LLDB などの既存の DSL デバッガーと連携し、あらゆる DSL にデバッグ コンポーネントを簡単に追加できるようにします。 BuildIt を使用して作成されたプログラムは、余分な作業を必要としません。D2X は追加のコード行を記述せずにデバッグ機能を提供するからです。このシステムは、デバッガーと DSL の間のブリッジとして機能することにより、開発者がデバッガー形式を学習または作成する必要がなくなるため、特殊なプログラミング言語を作成するプロセスが民主化されます。
プログラミングの世界を変える D2X の可能性は、広範囲に及びます。コーネル大学のコンピューター サイエンス准教授である Adrian Sampson は、D2X が DSL 用の便利なデバッガーを構築するための障壁を下げることで、高性能ソフトウェアに内在する矛盾に対処したことを称賛しています。これにより、DSL が開発者にとってより魅力的でアクセスしやすくなる可能性があります。
Brahmakshatriya は今後、編集機能を BuildIt プラットフォームの一部として組み込むことを目指しています。テキスト エディターは、ドキュメント内の特定のキーワードを強調表示したり、オートコンプリート機能を提供したりすることで、読みやすさを向上させることができます。プラットフォームへの将来の追加には、開発者がプログラムのパフォーマンスの問題を特定して解決するのに役立つプロファイラーとの統合が含まれる可能性があります。
Brahmakshatriya と Amarasinghe の画期的な仕事は、小規模なプログラミング言語開発者に高度な機能を提供することで、最終的に競争条件を平準化します。 BuildIt と D2X を使用すると、複雑なコードを開発する大規模なチームを必要とせずに、従来の言語の利点を享受できます。
この開発は、バックエンド、Web、およびモバイル アプリケーションを作成するための強力なツールであるAppMaster.ioなどのノーコード プラットフォームにも利益をもたらす可能性があります。 BuildIt と D2X に由来するイノベーションを活用することで、 AppMaster.ioのようなプラットフォームは、高度な機能を徐々に提供し、特殊なアプリケーションを構築するプロセスを合理化し、幅広い開発者や企業に力を与えることができます。