Kontentke ótiw

Tilge baǵdarlanǵan programmalastırıw

Wikipedia — erkin enciklopediya

Tilge baǵdarlanǵan programmalastırıw (LOP) — bul «til» obyektler, moduller hám komponentler menen birdey statusqa iye programmalıq támiynat qurılıs blogı bolıp tabılatuǵın[1] hám ulıwma maqsetli programmalastırıw tillerinde máselelerdi sheshiw ornına, baǵdarlamashı dáslep másele ushın bir yamasa bir neshe arnawlı taraw tillerin (DSL) jaratıp, sońınan máselelerdi sol tillerde sheshetuǵın programmalıq támiynattı islep shıǵıw paradigması. Tilge baǵdarlanǵan programmalastırıw birinshi ret Martin Uordtıń 1994-jılǵı «Tilge Baǵdarlanǵan Programmalastırıw» atlı maqalasıda tolıq táriyiplengen.

Koncepciya

Tilge baǵdarlanǵan programmalastırıw koncepciyası talaplardı paydalanıwshınıń terminleri menen sáwlelendiriw usılın qabıl etedi, sonnan keyin paydalanıwshınıń táriyiplewlerine ilajı bolǵanınsha izomorf bolǵan implementaciya tilin jaratıwǵa háreket etedi, solay etip talaplar menen implementaciya arasındaǵı sáwlelendiriw ilajı bolǵanınsha tikkeley boladı. Bul izomorfizmniń jaqınlıq ólshemi — bul tildiń «artıqmashılıǵı», ol talaplardaǵı jeke ózgeristi ámelge asırıw ushın kerekli redaktorlaw operaciyalarınıń sanı retinde anıqlanadı. Jańa tildi ámelge asırıw ushın eń jaqsı til qaysı ekenligi aldınnan boljanbaydı. Kerisinshe, baǵdarlamashı informaciya aǵımların analizlew arqalı jaratılǵan opciyalar arasınan tańlay aladı — qanday informaciya alınadı, onıń strukturası qanday, qashan alınadı, kimnen alınadı hám onıń menen ne islenedi[2].

Rawajlanıwı

Racket programmalastırıw tili hám RascalMPL dáslep tilge baǵdarlanǵan programmalastırıwdı qollap-quwatlaw ushın proektlestirilgen. JetBrains MPS, Kermeta yamasa Xtext sıyaqlı basqa til jumıs orınları[3] quralları DSL-lerdi hám tilge baǵdarlanǵan programmalastırıwdı proektlestiriw hám ámelge asırıw ushın qurallardı usınadı.

Derekler

  1. Felleisen, Matthias; Findler, Robert Bruce; Flatt, Matthew; Krishnamurthi, Shriram; Barzilay, Eli; McCarthy, Jay; Tobin-Hochstadt, Sam (March 2018). "A Programmable Programming Language". Communications of the ACM 61 (3): 62–71. doi:10.1145/3127323. https://cacm.acm.org/magazines/2018/3/225475-a-programmable-programming-language/fulltext. Retrieved 15 May 2019.
  2. Dunlavey. Building Better Applications: a Theory of Efficient Software Development. International Thomson Publishing. 
  3. Fowler. «Language Workbenches: The Killer-App for Domain Specific Languages?» (12-iyun 2005-jıl). Qaraldı: 14-aprel 2015-jıl.