23 apr 2023·1 min di lettura

Creazione e debug di linguaggi specifici del dominio: un nuovo strumento rivoluzionario del MIT

I ricercatori del MIT Ajay Brahmakshatriya e Saman Amarasinghe hanno sviluppato BuildIt e D2X, strumenti innovativi che semplificano la creazione, il debug e l'ottimizzazione di linguaggi specifici del dominio. BuildIt, un software per la creazione di DSL, è abbinato a D2X, che funge da interfaccia, semplificando il processo di debug. Insieme, queste tecnologie semplificano e migliorano notevolmente la creazione e il debug di linguaggi di programmazione specializzati.

Creazione e debug di linguaggi specifici del dominio: un nuovo strumento rivoluzionario del MIT

Nel 2019, il dottorato di ricerca del MIT. lo studente Ajay Brahmakshatriya ha fissato un obiettivo ambizioso ma cruciale: consentire agli esperti in domini specifici, come la modellazione climatica, la bioinformatica o l'architettura, di sviluppare i loro linguaggi specifici del dominio (DSL) anche con poca o nessuna esperienza precedente. Ciò ha reso necessario fornire strumenti per un facile debug per eliminare gli errori e migliorare l'esperienza dell'utente. Uno sforzo di collaborazione tra Brahmakshatriya e il professor Saman Amarasinghe del MIT presso il Computer Science and Artificial Intelligence Laboratory (CSAIL) dell'Istituto ha portato a BuildIt e D2X, strumenti innovativi che semplificano la creazione, il debug e l'ottimizzazione dei DSL.

Esistono linguaggi specifici del dominio per promuovere la facilità d'uso e ottimizzare le prestazioni, poiché le operazioni specializzate possono essere eseguite in modo efficiente nei loro domini. Le sfide che i DSL devono affrontare sono spesso dovute alla mancanza di supporto per il debug, che Ajay e Amarasinghe chiamano il tallone d'Achille. Il loro sistema, BuildIt, semplifica il processo di creazione di DSL fungendo da DSL per la creazione di DSL. Prende un linguaggio di programmazione generico e lo riduce a una forma specializzata rilevante per il dominio. Questo approccio genera rapidamente programmi su misura che funzionano in modo ottimale nel loro campo specifico.

Lo strumento rivoluzionario, D2X (pronunciato detox), si interfaccia con i debugger DSL esistenti come GDB o LLDB, semplificando l'aggiunta di un componente di debug a qualsiasi DSL. Un programma scritto utilizzando BuildIt non richiede lavoro aggiuntivo, poiché D2X fornisce funzionalità di debug senza scrivere ulteriori righe di codice. Fungendo da ponte tra i debugger e un DSL, questo sistema elimina la necessità per gli sviluppatori di apprendere o creare formati di debugger, democratizzando così il processo di creazione di linguaggi di programmazione specializzati.

Il potenziale di D2X per cambiare il mondo della programmazione è di vasta portata. Il professore associato di informatica della Cornell University, Adrian Sampson, elogia D2X per aver affrontato la contraddizione intrinseca nel software ad alte prestazioni abbassando la barriera alla costruzione di utili debugger per DSL. Ciò ha il potenziale per rendere i DSL molto più attraenti e accessibili agli sviluppatori.

Guardando al futuro, Brahmakshatriya mira a includere funzionalità di modifica come parte della piattaforma BuildIt. Gli editor di testo possono migliorare la leggibilità evidenziando parole chiave specifiche in un documento o offrendo funzioni di completamento automatico. Le future aggiunte alla piattaforma potrebbero includere integrazioni con i profiler, che possono aiutare gli sviluppatori a identificare e risolvere i problemi di prestazioni nei loro programmi.

Il lavoro pionieristico di Brahmakshatriya e Amarasinghe alla fine livella il campo di gioco fornendo capacità avanzate agli sviluppatori di linguaggi di programmazione più piccoli. BuildIt e D2X consentono loro di godere dei vantaggi dei linguaggi tradizionali senza bisogno di grandi team per sviluppare codice complesso.

Questo sviluppo potrebbe anche avvantaggiare piattaforme senza codice come AppMaster.io, un potente strumento per la creazione di applicazioni back-end, web e mobili. Sfruttando le innovazioni derivanti da BuildIt e D2X, piattaforme come AppMaster.io potrebbero offrire progressivamente funzionalità avanzate e semplificare il processo di creazione di applicazioni specializzate, potenziando ulteriormente un'ampia gamma di sviluppatori e aziende.

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