Langaj eskrip

Yon **langaj eskrip** se yon langaj pwogramasyon entèprete ki fè li posib pou manipile fonksyonalite yon sistèm enfòmatik ki konfigire pou bay entèpretè lang sa a yon anviwònman ak yon entèfas ki detèmine posiblite yo. Lè sa a, langaj eskrip la ka libere tèt li anba kontrent kòmand ba nivo yo -  sipòte atravè entèfas la - epi benefisye yon sentaks wo nivo.

Lang eskrip yo jeneralman egzekite a pati de fichye (yo rele, jisteman, *scripts* ) ki gen kòd sou pwogram nan ki pral entèprete. Istorikman, yo te kreye pou diminye pwosesis devlopman tradisyonèl edisyon- konpilasyon - edisyon lyen -egzekisyon tipik nan langaj ki konpile yo . Premye langaj yo te souvan rele « langaj kòmand » oswa « langaj sekans travay » ( JCL:  ) paske yo tou senpleman te fè li posib otomatize yon siksesyon nan kòmandman senp, tankou yon " script "teyat. Apre sa, yo te bay egzekisyon kondisyonèl enplisit ( IBM 1130 ) oswa eksplisit (JCL), epi finalman ak lòd bouk ak operatè transfòme yo nan prèske langaj pwogramasyon .

## Pwopriyete
Nan sans ki pi tradisyonèl, ki se sa ki nan eskrip koki, se yon eskrip sitou ki itilize pou lanse ak kowòdone ekzekisyon an nan pwogram yo.

* Nan vèsyon ki pi senp li a, yon script espesifye sèlman yon seri pwogram yo dwe rele nan yon lòd yo bay (egzanp editè tèks, di, lyen, ak ekzekisyon kòd objè ). Sa a byen vit kreye inefikasite : ki pwen pou eseye chaje ak egzekite yon pwogram ki gen konpilasyon echwe ?
* Se poutèt sa, nou byen vit ajoute yon posibilite pou ekzekisyon kondisyonèl senp (||, &&) depann sou rezilta etap imedyatman anvan an (pa gen okenn pwen nan egzekite si konpilasyon an se move).
* Posiblite pou itilize varyab, paramèt, estrikti kontwòl (repetisyon, egzekisyon kondisyonèl), elatriye. fè langaj eskripting reyèl lang pwogramasyon.

Nan yon lòt sans, nou rele tou *yon langaj eskrip* yon lang kote eleman vizyèl yo konsidere kòm karaktè yo mete sou yon "sèn», pèsonaj ki gen konpòtman ki defini pa yon *eskrip* . Youn nan premye langaj yo nan kalite sa a nan mond lan nan mikwo enfòmatik se langaj HyperTalk ( langaj ki oryante objè ki sòti nan Smalltalk ) toupre langaj natirèl, ki Dan Winkler te kreye an 1987 pou kontwole pwogram HyperCard sou MacIntosh. Langaj Macromedia Direktè a se yon desandan dirèk HyperTalk.

Finalman, "langaj eskrip» pafwa refere ak nenpòt langaj pwogramasyon ki entèprete (ki fè li yon move non: an reyalite, karaktè entèprete oswa konpile refere a yon **aplikasyon** patikilye, pa yon langaj), konpare ak lang konpile tankou C, C++, Java, elatriye. Lè sa a, nou jwenn sa yo ki pafwa oswa toujou entèprete kòm BASIC, PHP, Lisp, JavaScript, elatriye.

Tèm *langaj eskrip* souvan gen yon konotasyon negatif, kidonk nou prefere pale de yon langaj pwogramasyon dinamik lè sa posib.

## Lis langaj eskrip
Langaj eskrip ki pi popilè yo se:

* Shell scripting : sh ; bash ; ksh ; zsh ; csh ; tcsh ; pwason pou GNU/Linux ak Unix ;
* Cmd (ansyen Kòmand), Windows PowerShell pou Windows ;
* JavaScript ;
* Google Apps Script;
* AppleScript *(ka konpile)* ;
* VBScript ;
* Lisp ; Scheme *(ka konpile)* ;
* GNU Octave
* Matlab
* PHP *(ka konpile)* ;
* AutoIt *(ka konpile)* ;
* Perl *(ka konpile)* ;
* Python *(ka konpile)* ;
* Rebol ;
* Rexx ;
* Ruby ;
* Lua ;
* Tcl/Tk ;
* KiXtart ;
* Groovy ;
* elatriye.

Men, gen anpil lòt ki egziste.

## Itilizasyon eskrip
Eskrip yo itilize nan diferan nivo:

* OS bò kòm yon metòd otomatizasyon ( Mikrozòf VBA, Python) ;
* Bò sèvè entènèt ke yo rekonèt kòm sèvè Side gen ladan kòm yon metòd pou jenere paj dinamik ( JSP, PHP, ASP, ASP.NET ) ;
* Bò navigatè yo rele Kliyan Side nan fòm yon Applet otomatizasyon ( actionscript, C#, Java Applet ) (Microsoft VBA). Se yon lang binè ;
* koòdone grafik yo rele gui Scripts, ki pèmèt yon similasyon souri ak peze kle sou klavye

### lyen ekstèn

* John K. Ousterhout, *Scripting: Higher Level Programming for the 21st Century*, IEEE Computer magazine, Mas 1998 http://www.tcl.tk/doc/scripting.html