Llenguatge de seqüència d’ordres

De la Viquipèdia, l'enciclopèdia lliure.
Saltar a la navegació Saltar a la cerca

Un llenguatge de seqüència d’ordres , en informàtica , és un llenguatge de programació interpretat generalment destinat a tasques d’automatització del sistema operatiu ( batch ) o aplicacions ( macros ), o que s’utilitza en programació web dins de pàgines web . [1] Els programes desenvolupats amb aquests llenguatges s’anomenen scripts , un terme de la llengua anglesa que s’utilitza al teatre per indicar el text (també anomenat canvas) en què es traça les parts que han de ser interpretades pels actors.

Història

Inicialment, els primers llenguatges de script van néixer de la necessitat d’automatitzar determinades operacions com l’execució de programes i la interacció amb ells: no hi havia moltes construccions i sovint quedaven relegades a tasques específiques. Els llenguatges de seqüències d’ordres també han trobat aplicació en moltes àrees del disseny de programari , podent-se utilitzar com a llenguatges independents per a la implementació d’ algoritmes per a una àmplia gamma de tasques.

La diferència respecte d'altres llengües interpretades es deu principalment a raons "històriques". Inicialment, els primers llenguatges de script eren molt rudimentaris i permetien poques i senzilles operacions, ja que no eren adequats per escriure programes reals. Els llenguatges d’ escriptura moderns han adquirit llavors les construccions i el poder d’altres llenguatges; la distinció només es basa en l'ús que es fa del llenguatge. [2]

Per a la difusió d’aquests llenguatges, van tenir una importància fonamental idiomes com el Tcl i el Lua , específicament desenvolupats com a llenguatges de script , que es podrien integrar a qualsevol aplicació o utilitzar-los de forma independent. El desenvolupament d’aquests idiomes va aportar majors beneficis que la creació de nous idiomes per a aplicacions específiques, evitant que el desenvolupador hagués d’escriure un traductor d’idiomes i permetés a l’usuari aplicar les seves habilitats adquirides.

La interfície de passarel·la comuna (CGI) permetia que els llenguatges de seqüències de comandaments controlessin els servidors web , de manera que es poguessin comunicar per la xarxa . Alguns dels llenguatges de seqüència d’ordres que utilitzaven CGI en la primera evolució del web eren Perl , ASP i PHP .

Hi ha molts programes que integren llenguatges de seqüència d’ordres. Per exemple, els navegadors web moderns estan equipats amb un llenguatge per escriure extensions al propi navegador i molts altres idiomes estàndard per controlar el navegador, com ECMAScript (normalment conegut com JavaScript ), CSS i HTML .

Descripció

Generalment consisteixen en programes senzills que tenen com a finalitat interactuar amb altres programes molt més complexos en els quals tenen lloc les operacions més significatives. Els scripts es distingeixen dels programes amb els quals interactuen, generalment implementats en un llenguatge diferent i sense interpretar. A més, l'usuari final sol crear o modificar scripts . A la primavera és freqüent l’ús del shabang .

En els llenguatges de seqüències d’ordres, el programador generalment no s’interessa pels recursos del sistema que haurà de consumir el programa acabat, deixant-ho tot al propi sistema. Per recursos entenem, per exemple, la gestió de l’assignació i desassignació de memòria , la conversió entre tipus , la inicialització i el tancament de l’aplicació.

D’aquesta manera, s’eviten molts problemes típics de la programació tradicional, que estan subjectes a errors insidiosos, no fàcilment identificables i perillosos, i que també obliguen el programador a tractar problemes no estrictament relacionats amb l’objectiu del programari que ha de crear. L’ús d’un llenguatge de seqüències permet centrar-se directament en la solució del problema.

Tipologia

El llenguatge de control de feina

Icona de la lupa mgx2.svg El mateix tema en detall: Llenguatge de control de feines .

Els primers sistemes informàtics, típicament mainframes , estaven destinats a ser utilitzats per diversos usuaris (multiusuaris) que podien fer ús dels recursos informàtics per disciplina FIFO típics dels sistemes de processament per lots ( processament per lots ) [3]. que diverses institucions, fins i tot amb oficines diferents, utilitzaven el mateix ordinador a través de terminals remots ; de manera que l'usuari, en no poder interactuar directament amb la màquina, va enviar el seu treball (programa, dades i instruccions per a l'execució del programa) a través dels terminals. [4] Així va sorgir la necessitat d'un idioma per poder codificar les instruccions relatives a l'execució del vostre treball, com ara:

  • Memòria necessària.
  • Dispositius d'entrada / sortida a utilitzar.
  • Paràmetres i nom de les dades.

Amb aquesta finalitat, van néixer els primers llenguatges de scripts de la història, els llenguatges de control de treballs (abreujat JCL). [5]

Script de Bash

Icona de la lupa mgx2.svg El mateix tema en detall: Bash .

El terme scripting Bash es refereix a la creació de scripts generalment útils per automatitzar operacions rutinàries en sistemes operatius similars a Unix com Linux . Les operacions que requereixen la inserció de diverses ordres a l'intèrpret d'ordres de text es poden inserir en un sol fitxer mitjançant la sintaxi i els operadors típics d'aquest llenguatge. Els scripts creats d’aquesta manera poden simplificar molt el treball de l’usuari. [6]

En alguns sistemes, com Linux pot programar seqüències d'ordres per executar, per exemple, pot executar algunes seqüències d'ordres cada vegada que s'inicia el sistema.

Aquí teniu un exemple d’un script bash per suprimir fitxers a / var / log:

 # Netejar
# Per executar-se com a root, és clar.

cd / var / log
cat / dev / null> missatges
cat / dev / null> wtmp
echo "Registres suprimits".

Scripts GUI

Amb l'arribada de les interfícies gràfiques , va néixer una tipologia de llenguatges de seqüència d'ordres dirigits al control informàtic. Aquests llenguatges interactuen amb les finestres gràfiques, menús, botons i objectes gràfics que genera el sistema, simulant les accions que faria un usuari humà. El seu propòsit és automatitzar les accions dels usuaris. Els idiomes en què es produeix el control prement les tecles o fent clic amb el ratolí també s’anomenen macros . Aquesta categoria d'idiomes estava pensada originalment per controlar totes les aplicacions que es podrien executar en un ordinador basat en interfícies gràfiques; però, a la pràctica, el suport per a aquests idiomes depèn de les aplicacions i del sistema operatiu . No obstant això, hi ha algunes excepcions a aquesta limitació. Alguns llenguatges de seqüències d’ordres relacionats amb la GUI es basen en el reconeixement d’objectes gràfics pels seus píxels a la pantalla; no depenen del sistema operatiu o de l'aplicació.

Idiomes específics de l'aplicació

Molts programes inclouen un llenguatge de script idiomàtic adaptat a les necessitats de l'usuari. De la mateixa manera, alguns jocs d' ordinador utilitzen un llenguatge de seqüències per ampliar les accions dels personatges secundaris i de l'entorn. Els idiomes d’aquest tipus es desenvolupen per a una sola aplicació; i, tot i que poden semblar-se a un llenguatge genèric (per exemple, QuakeC , basat en C ) [7] , tenen característiques personals que els distingeixen d'ells. Emacs Lisp , un dialecte potent i ben desenvolupat de Lisp , conté moltes funcions especials que el fan més adequat per ampliar les funcions d’edició d’ Emacs .

navegador web

Es troba codi JavaScript a les fonts de Wikipedia

Els navegadors web són aplicacions per visualitzar pàgines web. S'han desenvolupat diversos llenguatges especials per controlar les seves operacions i funcionalitats. Entre aquests apareixen JavaScript , el nom del qual pot ser enganyós per la seva aparent derivació de Java (en realitat els dos llenguatges no tenen gairebé res en comú); VBScript produït per Microsoft , que només funciona amb el navegador Internet Explorer ; XUL produït pel projecte Mozilla , que només funciona amb Firefox ; XSLT , un llenguatge particular que transforma el contingut XML en un nou formulari. [8] Les tècniques que impliquen la combinació de scripts proporcionades per XML i JavaScript han augmentat fins al nivell que adquireixen un nom propi: AJAX .

Servidor web

Pel que fa al servidor de l’enllaç HTTP , els servidors d’aplicacions i altres servidors de contingut dinàmic, com ara el sistema de gestió de contingut, ofereixen contingut a través d’una àmplia varietat de tècniques i tecnologies caracteritzades per l’enfocament de seqüències d’ordres. Especialment predominants en aquest camp són PHP , JSP i ASP , però altres llenguatges com Ruby i Python , que s’han popularitzat sobretot gràcies als seus famosos frameworks (respectivament Ruby on Rails i Django ), han esculpit el seu espai.

Idiomes per al processament de textos

El processament de documents de text va ser una de les primeres aplicacions dels llenguatges de script. Els scripts escrits per a eines Unix com Awk , sed i grep automatitzen tasques que impliquen configuració de fitxers de text i registre . És de gran importància l’ expressió regular , un llenguatge creat per a la descripció formal de l’estructura lèxica del text, i utilitzat per totes aquestes eines.

Perl es va dissenyar originalment per salvar les limitacions d’aquestes eines, però s’ha convertit en un dels idiomes d’ús general més populars.

Llenguatges dinàmics genèrics

Alguns idiomes, com Perl , van començar com a llenguatges de script , però es van implementar en idiomes adequats per a problemes molt més grans. Altres llenguatges similars s'han descrit com a " llenguatges de seqüència d'ordres " per aquesta semblança, tot i que s'utilitzen més comunament per programar aplicacions.

Extensió / Idiomes incrustats

S'ha dissenyat un nombre considerable de llenguatges per substituir els llenguatges de programació específics de l'aplicació, que es poden integrar en programes. El programador (que treballa en llenguatge C o en un altre idioma) inclou "Hooks" mitjançant els quals el llenguatge de script pot controlar l'aplicació. Aquests idiomes tenen el mateix propòsit que els idiomes específics de l'aplicació, però amb l'avantatge de permetre la transferència de característiques entre aplicació i aplicació. JavaScript va començar inicialment com un idioma als navegadors web; tanmateix, l'estandardització lingüística com ECMAScript l' ha popularitzat com a idioma genèric encastable. En particular, la implementació de Mozilla de SpiderMonkey s'utilitza en molts altres entorns com Yahoo! Widget Engine . Altres aplicacions que utilitzen implementacions ECMAScript inclouen productes Adobe , com Adobe Flash i Adobe Acrobat .

Tcl es va crear com un llenguatge d’extensió per utilitzar-lo en paral·lel com a llenguatge de propòsit general, emulant el paper de llenguatges com Python , Perl i Ruby .

Altres aplicacions complexes i específiques de tasques poden incorporar i exposar un llenguatge de programació integrat per tal de permetre als usuaris un control més gran i permetre'ls una major funcionalitat de les que es poden disposar a través d'una interfície d'usuari. Per exemple, Autodesk Maya 3D incorpora el llenguatge de script MEL o Blender que utilitza Python per al mateix paper. [9]

Altres tipus d'aplicacions que necessiten afegir funcions ràpides o cicles d'optimització (com ara un motor gràfic ) també utilitzen llenguatges integrats. Durant el desenvolupament, permet modificar els prototips de forma ràpida i senzilla, sense obligar l’usuari a tenir un coneixement profund del programa (cosa que pot trigar molt). Els llenguatges d’escriptura, a causa de la seva versatilitat, són àmpliament utilitzats, i avui en dia compta amb una àmplia gamma que ofereix idiomes com el Lua i el Python , però també de menys coneguts com Angelscript i Squirrel .

Idiomes populars

Segons una enquesta global realitzada per EvansData el 2008, [10] el llenguatge de script més famós és JavaScript , PHP en segon lloc, mentre que Perl ocupa el tercer lloc.

Nota

  1. Flavius ​​Florin Harabor, Idiomes de scripting: aquí en teniu alguns , a insidevcode.eu , 14 de gener de 2015. Consultat el 21 de febrer de 2015 .
  2. ^ (EN) Definició d'un llenguatge de script a cs.man.ac.uk. Consultat el 13 de març de 2010 .
  3. ^ Evolució dels sistemes operatius , a dmi.unict.it . Consultat el 12 de març de 2010 (arxivat de l' original el 25 de febrer de 2010) .
  4. ^ Definició del treball (glossari de TI) , a pc-facile.com . Consultat el 13 de març de 2010 .
  5. ^ (EN) JCL Quick Reference , a simotime.com. Consultat el 12 de març de 2010 .
  6. Mendel Cooper, Advanced Bash Scripting Guide (introducció) , a pluto.it . Consultat el 12 de març de 2010 .
  7. ^ (EN) QuakeC , a ouns.nexuizninjaz.com. Consultat el 13 de març de 2010 .
  8. ^ Ús de llenguatges d'escriptura a l'entorn web , a users.libero.it . Consultat el 12 de març de 2010 (arxivat de l' original el 14 de març de 2010) .
  9. ^ (EN) Python and Blender , a jmsoler.free.fr. Consultat el 12 de març de 2010 .
  10. ^ (EN) The State of the Universe Scripting a cio.com. Consultat el 13 de març de 2010 .

Articles relacionats

Altres projectes

Enllaços externs

Control de l'autoritat LCCN ( EN ) sh2006007256
Informàtica Portal de TI : accediu a les entrades de Viquipèdia relacionades amb TI