2023년 4월 23일·1분 읽기

도메인별 언어 빌드 및 디버깅: MIT의 새로운 혁신 도구

MIT 연구원인 Ajay Brahmakshatriya와 Saman Amarasinghe는 도메인별 언어를 보다 쉽게 생성, 디버그 및 최적화할 수 있는 획기적인 도구인 BuildIt 및 D2X를 개발했습니다. DSL 생성 소프트웨어인 BuildIt은 인터페이스 역할을 하는 D2X와 쌍을 이루어 디버깅 프로세스를 간소화합니다. 이러한 기술을 결합하면 특수 프로그래밍 언어의 생성 및 디버깅을 크게 단순화하고 개선할 수 있습니다.

도메인별 언어 빌드 및 디버깅: MIT의 새로운 혁신 도구

2019년 MIT Ph.D. 학생 Ajay Brahmakshatriya는 기후 모델링, 생물정보학 또는 건축과 같은 특정 영역의 전문가가 사전 경험이 거의 또는 전혀 없는 경우에도 영역별 언어(DSL)를 개발할 수 있도록 하는 야심차지만 중요한 목표를 세웠습니다. 이로 인해 오류를 제거하고 사용자 경험을 향상시키기 위해 쉽게 디버깅할 수 있는 도구를 제공해야 했습니다. Brahmakshatriya와 연구소 컴퓨터 과학 및 인공 지능 연구소(CSAIL)의 MIT 교수 Saman Amarasinghe 간의 공동 노력으로 DSL의 생성, 디버깅 및 최적화를 간소화하는 획기적인 도구인 BuildIt 및 D2X가 탄생했습니다.

도메인 특정 언어는 특수 작업이 해당 도메인에서 효율적으로 실행될 수 있으므로 사용 편의성을 높이고 성능을 최적화하기 위해 존재합니다. DSL이 직면하는 문제는 Ajay와 Amarasinghe가 아킬레스건이라고 부르는 디버깅 지원이 부족하기 때문인 경우가 많습니다. 그들의 시스템인 BuildIt은 DSL 생성을 위한 DSL 역할을 하여 DSL 생성 프로세스를 단순화합니다. 범용 프로그래밍 언어를 사용하여 도메인과 관련된 특수한 형식으로 줄입니다. 이 접근 방식은 특정 분야에서 최적으로 수행되는 맞춤형 프로그램을 신속하게 생성합니다.

획기적인 도구인 D2X(detox로 발음)는 GDB 또는 LLDB와 같은 기존 DSL 디버거와 인터페이스하여 모든 DSL에 디버깅 구성 요소를 쉽게 추가할 수 있습니다. BuildIt을 사용하여 작성된 프로그램은 추가 작업이 필요하지 않습니다. D2X는 코드를 추가로 작성하지 않고도 디버깅 기능을 제공하기 때문입니다. 디버거와 DSL 사이의 다리 역할을 함으로써 이 시스템은 개발자가 디버거 형식을 배우거나 생성할 필요가 없으므로 전문 프로그래밍 언어 생성 프로세스를 민주화합니다.

프로그래밍 세계를 변화시킬 D2X의 잠재력은 광범위합니다. Cornell University의 컴퓨터 과학 부교수인 Adrian Sampson은 DSL을 위한 유용한 디버거를 구성하는 장벽을 낮추어 고성능 소프트웨어에 내재된 모순을 해결한 D2X를 높이 평가합니다. 이는 DSL을 훨씬 더 매력적이고 개발자에게 접근 가능하게 만들 가능성이 있습니다.

앞으로 Brahmakshatriya는 BuildIt 플랫폼의 일부로 편집 기능을 포함하는 것을 목표로 합니다. 텍스트 편집기는 문서의 특정 키워드를 강조 표시하거나 자동 완성 기능을 제공하여 가독성을 높일 수 있습니다. 플랫폼에 대한 향후 추가 사항에는 개발자가 프로그램의 성능 문제를 식별하고 해결하는 데 도움이 되는 프로파일러와의 통합이 포함될 수 있습니다.

Brahmakshatriya와 Amarasinghe의 획기적인 작업은 궁극적으로 소규모 프로그래밍 언어 개발자에게 고급 기능을 제공함으로써 경쟁의 장을 평준화합니다. BuildIt 및 D2X를 사용하면 대규모 팀이 복잡한 코드를 개발할 필요 없이 기존 언어의 이점을 누릴 수 있습니다.

이 개발은 백엔드, 웹 및 모바일 애플리케이션을 생성하기 위한 강력한 도구인 AppMaster.io 와 같은 코드 없는 플랫폼에도 도움이 될 수 있습니다. BuildIt 및 D2X에서 비롯된 혁신을 활용함으로써 AppMaster.io 와 같은 플랫폼은 고급 기능을 점진적으로 제공하고 전문화된 애플리케이션 구축 프로세스를 간소화하여 광범위한 개발자와 비즈니스에 더욱 힘을 실어줄 수 있습니다.

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