Језички-оријентисано програмирање
Језик-оријентисано програмирање (ЈОП) је стил рачунарског програмирања у којој, уместо решавања проблема у програмским језицима опште намене, програмер ствара један или више домена специфичних језика прво за проблем, и решава проблем у тим језицима. Овај концепт је детаљно описано у новинама Мартина Варда под називом "Језик оријентисано програмирање",[1] који је објављен у Софтверу - концепати и алати, Вол.15, Но.4, пп 147-161, 1994,[2] и у чланку Сергеја Дмитрива под називом "Језик оријентисано програмирање: Следеће парадигме програмирања".[3]
Концепт
[уреди | уреди извор]Концепт језик оријентисаног програмирања узима приступ да заузме захтеве у погледу корисника, а затим да покуша да направи језик имплементације, као изоморфна могућност да се опише корисник, тако да је мапирање између захтева и спровођења могуће. Мера блискости овог изоморфизма је "редунданса" језика, дефинисана као број за уређивање операција потребних за спровођење самосталне промене у захтевима. То није преузела a-priori што је најбољи језик за имплементацију новог језика. Уместо тога, инвеститор може бирати између опција насталих из анализа података тка - које информације се стичу, шта је његова структура, када се стиче, од кога и шта се ради са њим.[4]
Постојеће имплементације
[уреди | уреди извор]- Форт
- LayerD
- Lisp macros
- ASF+SDF Meta-Environment Архивирано на сајту Wayback Machine (24. фебруар 2021)
- Nemerle макрои
- Мета програмирање систем ЈетБраинса
- openArchitectureWare
- REBOL
- RascalMPL
- Spoofax/IMP
- Whole Platform
- XL
Види још
[уреди | уреди извор]- Граматика-оријентисано програмирање
- Dialecting
- Доменспецифични језици
- Металингвистичка апстракција
- Аспект-оријентисано програмирње
- Аутоматно програмирање
- Концептно програмирање
- Четврта генерација програмског језика
- Генеративно програмирање
- Намерно програмирање
- Модел-покретно инжењерство
- Обласно-специфично мултимоделовање
Референце
[уреди | уреди извор]- ^ M.P. Ward. „Language Oriented Programing” (PDF). Cse.dmu.ac.uk. Приступљено 24. 02. 2015.
- ^ „dblp: Software - Concepts and Tools, Volume 15”. Informatik.uni-trier.de. Архивирано из оригинала 04. 07. 2014. г. Приступљено 24. 02. 2015.
- ^ „JetBrains onBoard Online Magazine :: Fabrique - a code generator”. Onboard.jetbrains.com. Приступљено 24. 02. 2015.
- ^ Dunlavey (1994). Building Better Applications: a Theory of Efficient Software Development. International Thomson Publishing. ISBN 978-0-442-01740-8.
Литература
[уреди | уреди извор]- Dunlavey (1994). Building Better Applications: a Theory of Efficient Software Development. International Thomson Publishing. ISBN 978-0-442-01740-8.
Спољашње везе
[уреди | уреди извор]- Language Oriented Programming Мартин Вард оригинални папир који је сковао термин.
- Language Oriented Programming: The Next Programming Paradigm Сергеј Дмитриев папир који додатно истражује ову тему.
- Language Workbenches: The Killer-App for Domain Specific Languages? Чланак Мартин Фовлер описујући концепт и алате који га подржавају.
- Papers by Martin Ward
- Sergey Dmitriev's personal homepage
- The Meta-Programming System
- Intentsoft.com/
- uCalc Language Builder
- Msdn.microsoft.com
- Osl.iu.edu
- Research.microsoft.com
- Oozy.blogspot.com/
- Lambda-the-ultimate.org
- Paulgraham.com
- Language Oriented Programming (LOP)
- LayerD framework
- Интервју са Sergey Dmitriev, Charles Simonyi, Krzystof Czarnecki and Andy Evans