yer-Specific Hol

nuq 'oH yer Specific Hol (dsl)?

yer Specific Hol ghun Hol je veb patlh abstraction optimized specific Segh qay'. concepts che' vo' yotlh yer pagh je lo' SuvwI' dsl.

chay' Hol ghun yer Specific Hol pIm vo' "real"?

yer specific Hol roD qup Qatlh puS general-purpose Hol, such as Java, [taH, Ruby pagh. generally, Hach dsl qaStaHvIS SoQ coordination qaStaHvIS yotlh 'oH chut lulajpu'bogh dsl po' ghaH. qaStaHvIS law' cases, Hech dsl lo' HoHbe' software nuvpu', 'ach instead pong QI'yaH-programmers 'Iv fluent neH yer SoQ dsl.

nuq 'oH yer Specific Hol chepmoH? qatlh vaj jISaH?

ghom'a' chepmoH laH reap dsl lo'. 'ach obvious chepmoH dsl lo', 'e' wa'logh Hol transformation QuQ 'ej poHlIj, Qu'lIj bIH aspect software development yuvtlhe' dsl moj Huch law' puS nom, simply SeH vay' grunt vum Data'nISbogh manually ghewmey Daghaj. vaj Hal ngoq generating SoH vo' dsl ghun (as opposed to 'oH interpreting) nice, yer-specific abstractions laH lo' SoH Hutlh puS runtime vay' yIDIl, mo' laH abstractions teq 'ej nom ngoq generate lIngwI', neH rur compiler.

mIw yer concerns neH 'e' closely aligned je yer, Hol qar vIHutlh chorDaq pagh clearer moj cluttered SeH 'oHbe' ngoq ghItlh pong implementation details. nom latlh words, SoH ghaH 'ut chev vo' qech complexity chaw' dsl lo'.

dsl closely aligned yer, abstractions 'ej notations je chay' yer po' (i.e., QI'yaH-programmers) vIHutlh chaw' bIH'e', majQa' integration DuqIppu'chugh techies yer nuvpu'.

application logic neH dsl ngoq vIHutlh chenmoH, dsl QuQ execution je tlhab DoS platform. laH ghur dsl lo' laHlIj chenmoH product: maintainability ghur fewer ghew, net poQbej architectural conformance,. removal (unnecessary) degrees tlhab, ngoq duplication avoidance repetitive Qap automation 'ej ghot'e' ghotvam'e'.

chay' yer specific Hol 'ej ghoghmey ngoq regular nItebHa'?

pIm fundamentally cha' mIw tu'lu' chay' potlhmeyDaq ngoq 'ej dsl laH integrated ngoq. dsl ngoq regular ngoq 'ej pol wa' wa'DIch qaStaHvIS chev teywI'. vaj transformed dsl ngoq vaj Hol ngoq ghun pong lIngwI' ngoq automate, pagh alternatively yer-specific ngoq loads ghun 'ej 'oH muHlu'chugh. external dsl wabmey wa'DIch ghoS, chev Sa' ngoQ Hol ((gpl)) dsl ngoq je. Qub sql je example external dsl.

dsl ngoq general-purpose ngoq neH rap ghun teywI', Dev mamej tighter integration SabtaHbogh chaH 'ej DuD SuvwI' ghoS yInmey. pab gpl parser 'ej reuses 'ej lupoQ extension DuH host Hol exploits dsl. wabmey DanoHmeH internal dsl qabwIj scenarios Del.

worth 'e' 'op gpl vIta'Qo' yuQmeyDaq extension puS latlhpu' mention.

Dapvetlh. ghaH depending on Dochvam'e' yIteqneS jay', vutmeH cha' tlhIH ghoS 'ej batlhchaj ngaq MPS.

defined dsl tlham 'ej syntax pong ngoq ghItlh neH Hol vaj bogh dsl ngoq embedded. motlh, Sovbe' vIHtaHbogh dsl, 'ej yIDoH Ha' wej ngaq (ngoq completion, tIgh Qagh checking, etc.) DuHIvDI' IDEs. ghaH MPS, 'ach MPS framework je specialize dsl Hol development DanoHmeH SoH define Hol extensions. vaj Sov vIHtaHbogh chaH IDE vaj laH DuHIvDI' pat naQ ngaq IDE yer-specific embed Hol.

nuq 'oH language-oriented Programming?

wabmey Hol-oriented programming coined pong sergey dmitriev, ceo JetBrains 'ej "vav" MPS neH 2004 ghItlhvetlh. Programming Oriented Hol: veb Programming Paradigm. qa''a''e' latlh nuv je relate ghoS, roD bopummeH pIm pong; primary example charles simonyi 'ej Intentional Programming ghoS 'ej ghoS Del martin Fowler neH 2005 ghItlhvetlh Hol Workbenches: Killer-App yer Specific Hol?.

botlhDaq qech 'e' ghewmey neH wa' Hol lo' HeghDI' software Hach, 'ach nongtaH 'e' Hoch Qu' ghoghmey neHqu' Hol qar maH. pa' contrast polyglot programming, nagh ghoS, advocates baS ghor Hol-oriented programming explicitly developers chaH lach'eghDI' dsl qach joq nIv'e' Hol je yer-specific concepts extend je ghoS 'ay' tungHa'. vay' ghu'vam feasible, Hol workbenches such as MPS potlh ingredient Hol oriented ghoS.

ghaH MPS tIgh editor vay' chu' Hol vay' dsl simpler lo' laH define SoH. laH Qap vabDot yer pIn, 'Iv wej maHvaD motlhjaj ghu'vam Huj je potlhmeyDaq programming, Hergh MPS, qaStaHvIS yer-specific Hol chut lulajpu'bogh chaH lach'eghDI' yer-specific terminology.

qaStaHvIS tlha' vIDEo example chay' chenmoH Interactive ghogh response (ivr) je MPS laH Dalegh. DoS dsl DeSDu' non-technical nuvpu' vaj adapted user SIQpu'bogh.