MITの博士課程の学生であるAjay Brahmakshatriya氏と同大学のコンピュータ科学 人工知能研究所(CSAIL)の教授であるSaman Amarasinghe氏は、ドメイン固有言語(DSL)にデバッグ機能を簡単に追加できるツール「D2X」を3月に発表した。
2019年にBrahmakshatriya氏が、気候モデリングやバイオインフォマティクス、建築などの分野の専門知識を持ち、プログラミング言語を開発したことがないような人々が、独自のプログラミング言語であるDSLを開発できるようにしたいと考え、これにAmarasinghe氏が、DSLにデバッグ用のツールを含めた補助機能を組み込もうとし、ソフトウェア開発を開始。
そして両社は2021年に、DSLの開発作業を大幅に簡略化するソフトウェアパッケージ「BuildIt」を発表。Brahmakshatriya氏は、BuildItを「DSLを作成するためのDSL」と表現しており、今回発表されたD2XはこのBuildItと特にうまく連携するツールとなる。
D2X(プログラムから毒や欠陥を取り除くという概念から「デトックス」と呼ばれる)自体は、プログラムではなくライブラリに分類されるもので、既存のデバッガー(GDBやLLDBなど)と連携し、これらのツールとDSLの間の架け橋として機能する。
また、通常のデバッガーにはクリーンアップするプログラムまたはプログラミング言語に関するドキュメントが必要になるが、D2Xを使えばそれらが必要なく、D2Xをインターフェイスとして機能することで、デバッガー自体を変更せずプログラミング言語をデバッグできるという。そして、D2XとBuildItを組み合わせることで、余分なコードを1行も書かずにデバッガーを入手できるという。
両者はBuildItやD2Xを使用することで、少人数が使用しているDSLであってもデバッガー機能に加えて、プログラムの作成を容易にするエディター機能やバグを見つけるのを助けるプロファイラー機能などを複雑なコードを書かずに使用できると述べている。
コメント