Programowanie językowe - Language-oriented programming
Programowanie zorientowane na język ( LOP ) to paradygmat rozwoju oprogramowania, w którym „język” jest elementem oprogramowania o takim samym statusie jak obiekty, moduły i komponenty, a zamiast rozwiązywania problemów w językach programowania ogólnego przeznaczenia , programista tworzy jeden lub najpierw więcej języków specyficznych dla domeny dla problemu i rozwiązuje problem w tych językach. Programowanie zorientowane na język zostało po raz pierwszy szczegółowo opisane w artykule Martina Warda z 1994 r. Programowanie zorientowane na język , opublikowanym w Software - Concepts and Tools , Vol.15, No.4, s. 147-161, 1994.
Pojęcie
Koncepcja programowania zorientowanego językowo polega na podejściu do uchwycenia wymagań w terminach użytkownika, a następnie próbie stworzenia języka implementacji jak najbardziej izomorficznego z opisami użytkownika, tak aby mapowanie między wymaganiami a implementacją było jak najbardziej bezpośrednie. Miarą bliskości tego izomorfizmu jest „redundancja” języka, definiowana jako liczba operacji edycyjnych potrzebnych do wprowadzenia samodzielnej zmiany wymagań. Nie zakłada się a priori, jaki jest najlepszy język do implementacji nowego języka. Deweloper może raczej wybierać spośród opcji stworzonych przez analizę przepływów informacji — jakie informacje są pozyskiwane, jaka jest ich struktura, kiedy są pozyskiwane, od kogo i co z nimi robi się.
Rozwój
Racket (język programowania) służy do programowania zorientowanego języka pomocniczego. Inne językowe narzędzia warsztatowe , takie jak JetBrains MPS , Kermeta lub Xtext, zapewniają narzędzia do projektowania i wdrażania DSL oraz programowania zorientowanego na język
Zobacz też
- Programowanie gramatyczne
- Dialektowanie
- Język specyficzny dla domeny
- Rozszerzalne programowanie
- Programowanie celowe
- Homoikoniczność
Bibliografia
Zewnętrzne linki
- Programowanie zorientowane na język: następny paradygmat programowania Artykuł Siergieja Dmitrieva, który dokładniej zbadał ten temat.
- Programowanie zorientowane na język w pracy MetaLisp Gyuri Lajosa 1992 Uniwersytet w Leeds System wykorzystywał ten sam algorytm zstępującego języka parsowania, który zasilał metodę Tree-Meta