23 kwi 2023·1 min czytania

Tworzenie i debugowanie języków specyficznych dla domeny: nowe przełomowe narzędzie z MIT

Naukowcy z MIT, Ajay Brahmakshatriya i Saman Amarasinghe, opracowali BuildIt i D2X — przełomowe narzędzia, które ułatwiają tworzenie, debugowanie i optymalizację języków specyficznych dla domeny. BuildIt, oprogramowanie do tworzenia DSL, jest sparowane z D2X, które służy jako interfejs usprawniający proces debugowania. W połączeniu te technologie radykalnie upraszczają i usprawniają tworzenie i debugowanie wyspecjalizowanych języków programowania.

Tworzenie i debugowanie języków specyficznych dla domeny: nowe przełomowe narzędzie z MIT

W 2019 r. dr MIT student Ajay Brahmakshatriya wyznaczył ambitny, ale kluczowy cel: umożliwić ekspertom w określonych dziedzinach, takich jak modelowanie klimatu, bioinformatyka lub architektura, rozwijanie języków specyficznych dla danej dziedziny (DSL) nawet przy niewielkim lub żadnym wcześniejszym doświadczeniu. Wymagało to zapewnienia narzędzi do łatwego debugowania w celu wyeliminowania błędów i zwiększenia wygody użytkownika. Wspólny wysiłek Brahmakshatriyi i profesora Samana Amarasinghe z MIT z Laboratorium Informatyki i Sztucznej Inteligencji (CSAIL) Instytutu zaowocował stworzeniem BuildIt i D2X, przełomowych narzędzi, które usprawniają tworzenie, debugowanie i optymalizację DSL.

Istnieją języki specyficzne dla domeny, aby promować łatwość użytkowania i optymalizować wydajność, ponieważ wyspecjalizowane operacje mogą być skutecznie wykonywane w ich domenach. Wyzwania, przed którymi stają DSL, często wynikają z braku obsługi debugowania, co Ajay i Amarasinghe nazywają piętą achillesową. Ich system, BuildIt, upraszcza proces tworzenia DSL, działając jako DSL do tworzenia DSL. Wykorzystuje język programowania ogólnego przeznaczenia i redukuje go do wyspecjalizowanej formy odpowiedniej dla danej domeny. Takie podejście szybko generuje dostosowane programy, które działają optymalnie w określonej dziedzinie.

Przełomowe narzędzie, D2X (czyt. detox), łączy się z istniejącymi debuggerami DSL, takimi jak GDB lub LLDB, ułatwiając dodanie komponentu debugującego do dowolnego DSL. Program napisany przy użyciu BuildIt nie wymaga dodatkowej pracy, ponieważ D2X zapewnia możliwości debugowania bez pisania dodatkowych linii kodu. Służąc jako pomost między debugerami a DSL, system ten eliminuje potrzebę uczenia się lub tworzenia formatów debuggera przez programistów, demokratyzując w ten sposób proces tworzenia wyspecjalizowanych języków programowania.

Potencjał D2X do zmiany świata programowania jest dalekosiężny. Adrian Sampson, profesor nadzwyczajny informatyki Uniwersytetu Cornell, chwali D2X za zajęcie się wewnętrzną sprzecznością wysokowydajnego oprogramowania poprzez obniżenie bariery w konstruowaniu użytecznych debuggerów dla DSL. Może to sprawić, że DSL będą znacznie bardziej atrakcyjne i dostępne dla programistów.

Patrząc w przyszłość, Brahmakshatriya ma na celu włączenie możliwości edycji w ramach platformy BuildIt. Edytory tekstu mogą zwiększyć czytelność, podkreślając określone słowa kluczowe w dokumencie lub oferując funkcje autouzupełniania. Przyszłe dodatki do platformy mogą obejmować integracje z narzędziami do profilowania, które mogą pomóc programistom w identyfikowaniu i rozwiązywaniu problemów z wydajnością w ich programach.

Przełomowa praca Brahmakshatriyi i Amarasinghe ostatecznie wyrównuje szanse, zapewniając zaawansowane możliwości mniejszym programistom języków programowania. BuildIt i D2X pozwalają im czerpać korzyści z tradycyjnych języków bez potrzeby tworzenia złożonego kodu przez duże zespoły.

Ten rozwój może również przynieść korzyści platformom bez kodu, takim jak AppMaster.io, potężne narzędzie do tworzenia aplikacji backendowych, internetowych i mobilnych. Wykorzystując innowacje wywodzące się z BuildIt i D2X, platformy takie jak AppMaster.io mogą stopniowo oferować zaawansowane funkcje i usprawniać proces tworzenia specjalistycznych aplikacji, zwiększając możliwości szerokiego grona programistów i firm.

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