Jezički-orijentisano programiranje
Jezik-orijentisano programiranje (JOP) je stil računarskog programiranja u kojoj, umesto rešavanja problema u programskim jezicima opšte namene, programer stvara jedan ili više domena specifičnih jezika prvo za problem, i rešava problem u tim jezicima. Ovaj koncept je detaljno opisano u novinama Martina Varda pod nazivom "Jezik orijentisano programiranje",[1] koji je objavljen u Softveru - koncepati i alati, Vol.15, No.4, pp 147-161, 1994,[2] i u članku Sergeja Dmitriva pod nazivom "Jezik orijentisano programiranje: Sledeće paradigme programiranja".[3]
Koncept
[uredi | uredi izvor]Koncept jezik orijentisanog programiranja uzima pristup da zauzme zahteve u pogledu korisnika, a zatim da pokuša da napravi jezik implementacije, kao izomorfna mogućnost da se opiše korisnik, tako da je mapiranje između zahteva i sprovođenja moguće. Mera bliskosti ovog izomorfizma je "redundansa" jezika, definisana kao broj za uređivanje operacija potrebnih za sprovođenje samostalne promene u zahtevima. To nije preuzela a-priori što je najbolji jezik za implementaciju novog jezika. Umesto toga, investitor može birati između opcija nastalih iz analiza podataka tka - koje informacije se stiču, šta je njegova struktura, kada se stiče, od koga i šta se radi sa njim.[4]
Postojeće implementacije
[uredi | uredi izvor]- Fort
- LayerD
- Lisp macros
- ASF+SDF Meta-Environment Arhivirano na sajtu Wayback Machine (24. februar 2021)
- Nemerle makroi
- Meta programiranje sistem JetBrainsa
- openArchitectureWare
- REBOL
- RascalMPL
- Spoofax/IMP
- Whole Platform
- XL
Vidi još
[uredi | uredi izvor]- Gramatika-orijentisano programiranje
- Dialecting
- Domenspecifični jezici
- Metalingvistička apstrakcija
- Aspekt-orijentisano programirnje
- Automatno programiranje
- Konceptno programiranje
- Četvrta generacija programskog jezika
- Generativno programiranje
- Namerno programiranje
- Model-pokretno inženjerstvo
- Oblasno-specifično multimodelovanje
Reference
[uredi | uredi izvor]- ^ M.P. Ward. „Language Oriented Programing” (PDF). Cse.dmu.ac.uk. Pristupljeno 24. 02. 2015.
- ^ „dblp: Software - Concepts and Tools, Volume 15”. Informatik.uni-trier.de. Arhivirano iz originala 04. 07. 2014. g. Pristupljeno 24. 02. 2015.
- ^ „JetBrains onBoard Online Magazine :: Fabrique - a code generator”. Onboard.jetbrains.com. Pristupljeno 24. 02. 2015.
- ^ Dunlavey (1994). Building Better Applications: a Theory of Efficient Software Development. International Thomson Publishing. ISBN 978-0-442-01740-8.
Literatura
[uredi | uredi izvor]- Dunlavey (1994). Building Better Applications: a Theory of Efficient Software Development. International Thomson Publishing. ISBN 978-0-442-01740-8.
Spoljašnje veze
[uredi | uredi izvor]- Language Oriented Programming Martin Vard originalni papir koji je skovao termin.
- Language Oriented Programming: The Next Programming Paradigm Sergej Dmitriev papir koji dodatno istražuje ovu temu.
- Language Workbenches: The Killer-App for Domain Specific Languages? Članak Martin Fovler opisujući koncept i alate koji ga podržavaju.
- 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
- Intervju sa Sergey Dmitriev, Charles Simonyi, Krzystof Czarnecki and Andy Evans