Năm 2019, MIT Ph.D. sinh viên Ajay Brahmakshatriya đặt ra một mục tiêu đầy tham vọng nhưng quan trọng: cho phép các chuyên gia trong các lĩnh vực cụ thể, chẳng hạn như mô hình hóa khí hậu, tin sinh học hoặc kiến trúc, phát triển ngôn ngữ dành riêng cho miền (DSL) của họ ngay cả khi có ít hoặc không có kinh nghiệm trước đó. Điều này đòi hỏi phải cung cấp các công cụ để gỡ lỗi dễ dàng nhằm loại bỏ lỗi và nâng cao trải nghiệm người dùng. Nỗ lực hợp tác giữa Brahmakshatriya và Giáo sư Saman Amarasinghe của MIT tại Phòng thí nghiệm Khoa học Máy tính và Trí tuệ Nhân tạo (CSAIL) của Viện đã tạo ra BuildIt và D2X, các công cụ đột phá giúp hợp lý hóa việc tạo, gỡ lỗi và tối ưu hóa DSL.
Các ngôn ngữ dành riêng cho miền tồn tại để thúc đẩy tính dễ sử dụng và tối ưu hóa hiệu suất, vì các hoạt động chuyên biệt có thể được thực hiện hiệu quả trong miền của chúng. Những thách thức mà DSL gặp phải thường là do thiếu hỗ trợ gỡ lỗi, mà Ajay và Amarasinghe gọi là gót chân Achilles. Hệ thống của họ, BuildIt, đơn giản hóa quá trình tạo DSL bằng cách hoạt động như một DSL để tạo DSL. Nó sử dụng một ngôn ngữ lập trình có mục đích chung và rút gọn nó thành một dạng chuyên biệt có liên quan đến miền. Cách tiếp cận này nhanh chóng tạo ra các chương trình phù hợp thực hiện tối ưu trong lĩnh vực cụ thể của chúng.
Công cụ đột phá, D2X (phát âm là detox), giao tiếp với các trình gỡ lỗi DSL hiện có như GDB hoặc LLDB, giúp dễ dàng thêm thành phần gỡ lỗi vào bất kỳ DSL nào. Một chương trình được viết bằng BuildIt không yêu cầu thêm công việc vì D2X cung cấp khả năng sửa lỗi mà không cần viết thêm dòng mã. Bằng cách đóng vai trò là cầu nối giữa trình gỡ lỗi và DSL, hệ thống này giúp các nhà phát triển không cần phải tìm hiểu hoặc tạo các định dạng trình gỡ lỗi, từ đó dân chủ hóa quy trình tạo ngôn ngữ lập trình chuyên biệt.
Tiềm năng của D2X để thay đổi thế giới lập trình là rất lớn. Phó Giáo sư Khoa học Máy tính của Đại học Cornell, Adrian Sampson, ca ngợi D2X vì đã giải quyết mâu thuẫn cố hữu trong phần mềm hiệu suất cao bằng cách hạ thấp rào cản để xây dựng các trình sửa lỗi hữu ích cho DSL. Điều này có khả năng làm cho DSL hấp dẫn hơn và dễ tiếp cận hơn đối với các nhà phát triển.
Sắp tới, mục tiêu của Brahmakshatriya là bao gồm các khả năng chỉnh sửa như một phần của nền tảng BuildIt. Trình soạn thảo văn bản có thể nâng cao khả năng đọc bằng cách đánh dấu các từ khóa cụ thể trong tài liệu hoặc cung cấp các chức năng tự động hoàn thành. Các bổ sung trong tương lai cho nền tảng có thể bao gồm tích hợp với trình biên dịch, có thể giúp nhà phát triển xác định và giải quyết các vấn đề về hiệu suất trong chương trình của họ.
Công việc đột phá của Brahmakshatriya và Amarasinghe cuối cùng đã tạo ra sân chơi bằng cách cung cấp các khả năng nâng cao cho các nhà phát triển ngôn ngữ lập trình nhỏ hơn. BuildIt và D2X cho phép họ tận hưởng những lợi ích của ngôn ngữ truyền thống mà không cần các nhóm lớn để phát triển mã phức tạp.
Sự phát triển này cũng có thể mang lại lợi ích cho các nền tảng không cần mã như AppMaster.io, một công cụ mạnh mẽ để tạo các ứng dụng phụ trợ, web và di động. Bằng cách tận dụng những đổi mới bắt nguồn từ BuildIt và D2X, các nền tảng như AppMaster.io có thể dần dần cung cấp các tính năng nâng cao và hợp lý hóa quy trình xây dựng các ứng dụng chuyên biệt, tiếp tục trao quyền cho nhiều nhà phát triển và doanh nghiệp.