23 Apr 2023·1 menit membaca

Membuat dan Men-debug Bahasa Khusus Domain: Alat Terobosan Baru dari MIT

Peneliti MIT Ajay Brahmakshatriya dan Saman Amarasinghe telah mengembangkan BuildIt dan D2X – alat terobosan yang mempermudah pembuatan, debug, dan pengoptimalan bahasa khusus domain. BuildIt, perangkat lunak pembuat DSL, dipasangkan dengan D2X, yang berfungsi sebagai antarmuka, menyederhanakan proses debug. Gabungan, teknologi ini secara dramatis menyederhanakan dan meningkatkan pembuatan dan debugging bahasa pemrograman khusus.

Membuat dan Men-debug Bahasa Khusus Domain: Alat Terobosan Baru dari MIT

Pada 2019, MIT Ph.D. mahasiswa Ajay Brahmakshatriya menetapkan tujuan yang ambisius namun krusial: memungkinkan para ahli di bidang tertentu, seperti pemodelan iklim, bioinformatika, atau arsitektur, untuk mengembangkan bahasa khusus domain (DSL) mereka bahkan dengan sedikit atau tanpa pengalaman sebelumnya. Ini mengharuskan penyediaan alat untuk debugging yang mudah untuk menghilangkan kesalahan dan meningkatkan pengalaman pengguna. Upaya kolaboratif antara Brahmakshatriya dan Profesor MIT Saman Amarasinghe di Laboratorium Ilmu Komputer dan Kecerdasan Buatan (CSAIL) Institut menghasilkan BuildIt dan D2X, alat terobosan yang merampingkan pembuatan, debugging, dan pengoptimalan DSL.

Bahasa khusus domain ada untuk mempromosikan kemudahan penggunaan dan mengoptimalkan kinerja, karena operasi khusus dapat dijalankan secara efisien di domain mereka. Tantangan yang dihadapi DSL sering kali disebabkan oleh kurangnya dukungan debugging, yang oleh Ajay dan Amarasinghe disebut kelemahan Achilles. Sistem mereka, BuildIt, menyederhanakan proses pembuatan DSL dengan bertindak sebagai DSL untuk membuat DSL. Dibutuhkan bahasa pemrograman tujuan umum dan menguranginya menjadi bentuk khusus yang relevan dengan domain. Pendekatan ini dengan cepat menghasilkan program yang disesuaikan dengan kinerja optimal di bidang spesifiknya.

Alat terobosan, D2X (diucapkan detoks), berinteraksi dengan debugger DSL yang ada seperti GDB atau LLDB, membuatnya mudah untuk menambahkan komponen debug ke DSL mana pun. Program yang ditulis menggunakan BuildIt tidak memerlukan kerja ekstra, karena D2X menyediakan kemampuan debug tanpa menulis baris kode tambahan. Dengan berfungsi sebagai jembatan antara debugger dan DSL, sistem ini menghilangkan kebutuhan pengembang untuk mempelajari atau membuat format debugger, sehingga mendemokratisasikan proses pembuatan bahasa pemrograman khusus.

Potensi D2X untuk mengubah dunia pemrograman sangatlah luas. Associate Professor of Computer Science Cornell University, Adrian Sampson, memuji D2X karena mengatasi kontradiksi yang melekat pada perangkat lunak berkinerja tinggi dengan menurunkan penghalang untuk membuat debugger yang berguna untuk DSL. Ini berpotensi membuat DSL jauh lebih menarik dan dapat diakses oleh pengembang.

Ke depan, Brahmakshatriya bertujuan untuk memasukkan kemampuan pengeditan sebagai bagian dari platform BuildIt. Editor teks dapat meningkatkan keterbacaan dengan menyorot kata kunci tertentu dalam dokumen atau menawarkan fungsi pelengkapan otomatis. Penambahan platform di masa mendatang dapat mencakup integrasi dengan profiler, yang dapat membantu pengembang mengidentifikasi dan menyelesaikan masalah kinerja dalam program mereka.

Karya inovatif Brahmakshatriya dan Amarasinghe pada akhirnya menyamakan kedudukan dengan menyediakan kemampuan tingkat lanjut untuk pengembang bahasa pemrograman yang lebih kecil. BuildIt dan D2X memungkinkan mereka menikmati manfaat bahasa tradisional tanpa perlu tim besar untuk mengembangkan kode yang rumit.

Pengembangan ini juga dapat menguntungkan platform tanpa kode seperti AppMaster.io, alat yang ampuh untuk membuat aplikasi backend, web, dan seluler. Dengan memanfaatkan inovasi yang berasal dari BuildIt dan D2X, platform seperti AppMaster.io dapat secara progresif menawarkan fitur-fitur canggih dan merampingkan proses pembuatan aplikasi khusus, yang selanjutnya memberdayakan berbagai pengembang dan bisnis.

Easy to start
Create something amazing

Experiment with AppMaster with free plan.
When you will be ready you can choose the proper subscription.

Get Started