Jazykově orientované programování - Language-oriented programming
Jazykově orientované programování (PROKRESLIT)[1] je paradigma vývoje softwaru, kde „jazyk“ je stavební blok softwaru se stejným stavem jako objekty, moduly a komponenty,[2] a místo řešení problémů v univerzální programovací jazyky, programátor vytvoří jeden nebo více jazyky specifické pro doménu pro problém jako první a řeší problém v těchto jazycích. Jazykově orientované programování bylo poprvé podrobně popsáno v práci Martina Warda z roku 1994 Programování orientované na jazyk,[1] zveřejněno v Software - koncepty a nástroje, Sv. 15, č. 4, str. 147-161, 1994.
Pojem
Koncept jazykově orientovaného programování využívá přístup k zachycení požadavků z hlediska uživatele a poté k pokusu o vytvoření implementačního jazyka jako izomorfní popisy uživatelů, aby mapování mezi požadavky a implementací bylo co nejpřímější. Mírou blízkosti tohoto izomorfismu je „redundance“ jazyka, definovaná jako počet editačních operací potřebných k provedení samostatné změny požadavků. To se nepředpokládá a priori jaký je nejlepší jazyk pro implementaci nového jazyka. Spíše si vývojář může vybrat z možností vytvořených analýzou informačních toků - jaké informace jsou získány, jaká je jejich struktura, kdy jsou získány, od koho a co se s nimi dělá.[3]
Rozvoj
The Raketa (programovací jazyk) je navržen tak, aby podporoval jazykově orientované programování.[2] jiný jazykový pracovní stůl[4] nástroje jako JetBrains MPS, Kermeta nebo Xtext poskytnout nástroje pro návrh a implementaci DSL a jazykově orientovaného programování[Citace je zapotřebí ]
Viz také
- Gramaticky orientované programování
- Nářečí
- Jazyk specifický pro doménu
- Rozšiřitelné programování
- Záměrné programování
- Homoikonicita
Reference
- ^ A b Ward, Martin (1994). „Programování zaměřené na jazyk“ (PDF). Software - koncepty a nástroje. 15 (4): 147–161. doi:10.1007/978-1-4302-2390-0_12. Citováno 15. května 2019.
- ^ A b Felleisen, Matthias; Findler, Robert Bruce; Flatt, Matthew; Krishnamurthi, Shriram; Barzilay, Eli; McCarthy, Jay; Tobin-Hochstadt, Sam (březen 2018). „Programovatelný programovací jazyk“. Komunikace ACM. 61 (3): 62–71. doi:10.1145/3127323. Citováno 15. května 2019.
- ^ Dunlavey (1994). Vytváření lepších aplikací: teorie efektivního vývoje softwaru. Mezinárodní vydavatelství Thomson. ISBN 0-442-01740-5.
- ^ Fowler, Martin (12. června 2005). „Language Workbenches: The Killer-App for Domain specific languages?“. Citováno 14. dubna 2015.
externí odkazy
- Jazykově orientované programování: další paradigma programování Článek Sergeje Dmitrievova, který toto téma dále prozkoumal.
- Jazykově orientované programování v MetaLispu Gyuri Lajos práce 1992 University of Leeds Systém používal stejný algoritmus jazyka Top Down Parsing Language, který fungoval Tree-Meta