Co to jest programowanie zorientowane na język?
Programowanie zorientowane na język (LOP) to rodzaj języka programowania, który jest definiowany przez użytkownika w zależności od dziedziny, dla której programuje. Domena jest ważna w definiowaniu programowania zorientowanego na język, dlatego należy wyraźnie określić, kiedy użytkownik zacznie używać tego języka. LOP zwykle opiera się na większym języku programowania, ale nie zawsze tak jest. LOP jest stworzony specjalnie dla domeny i ma wiele obszarów, które można dostosowywać, więc ten język zwykle nie radzi sobie z dużymi i złożonymi problemami. Zanim ten język będzie użyteczny, użytkownik musi również zdefiniować i skompilować język ręcznie.
W szerokim znaczeniu języki programowania można podzielić na języki specyficzne dla domeny lub ogólne. Programowanie zorientowane na język należy do tego pierwszego, co oznacza, że musi zostać określone dla określonej domeny. Ta domena odnosi się do miejsca, w którym program będzie używany, oraz z jakiego rodzaju problemami język będzie współpracował i rozwiązał. Chociaż nie jest to tak wszechstronne, jak ogólny język, często ułatwia programowanie.
Większość języków programowania zorientowanych językowo opiera się najpierw na większym ogólnym języku programowania. Wynika to z faktu, że łatwiej jest zbudować język oparty na innym języku, a użytkownikowi zaznajomionemu z językiem ogólnym łatwiej jest zacząć od LOP. Podstawową różnicą między LOP a oryginalnym językiem ogólnym są tagi, a wiele aspektów języka programowania opiera się na tagach, które użytkownik określa, których chce użyć, zmieniając język zgodnie ze specyfikacjami użytkownika.
Specyficzne dla domeny i oparte na specyfikacji użytkownika ma wiele zalet, ale jedną z wad tego systemu jest brak skalowania. Jeśli chodzi o mniejsze problemy, programowanie zorientowane na język nie powinno mieć problemu z pracą i rozwiązaniem problemu. Jednocześnie większe problemy są zwykle bardziej intensywne niż ten język jest w stanie poradzić i zwykle lepiej jest trzymać się większego języka ogólnego, jeśli wymagane jest skalowanie.
Innym problemem związanym z programowaniem zorientowanym na język jest praca wymagana przed użyciem języka. Język programowania jest zwykle dostępny do użycia przy niewielkiej lub żadnej pracy, ale LOP wymaga od użytkownika określenia znaczników i sekcji, co może zająć trochę czasu. Większy problem polega na tym, że użytkownik będzie musiał zbudować niestandardowy kompilator, aby język programowania działał, co może być trudne dla nowego użytkownika.