limbaje de programare

Creșterea performanțelor PC-ului și modificări în compoziția software-ului utilizat face rolul de limbaje de scripting în crearea unor aplicații viitoare sunt tot mai importante. Aceste limbi sunt diferite de limbajele de programare la nivel de sistem care scopul lor principal - pentru a lega diferitele componente și aplicații unele cu altele. acționând ca un fel de lipici. Ei se folosesc abordări pentru a descrie fără tipuri de date, ceea ce permite de a aduce la un nivel de programare superior și a accelera procesul de dezvoltare în comparație cu numărul de limbi la nivel de sistem.

De-a lungul ultimilor 15 de ani în metodologia de scriere a programelor pentru calculatoare a avut loc o schimbare radicală. Acesta constă în faptul că dezvoltatorii s-au mutat dintr-o limbaje de programare la nivel de sistem, cum ar fi. C și. C ++ pentru limbaje de scripting, exemple care pot servi PurlTell. Deși un număr mare de persoane au fost implicate în această schimbare, doar câteva sunt conștienți. ceea ce se întâmplă de fapt. și există chiar și mai puțin. care ar fi în măsură să explice motivele.

Aceste limbi au fost create pentru diferite scopuri, ceea ce a dus la o serie de diferențe fundamentale între ele. Sistem proiectat pentru a construi structuri de date și algoritmi „de la zero“, de la aceste elemente primitive. ca cuvântul de memorie de calculator. Spre deosebire de aceasta. limbaje de scripting au fost create pentru a asocia programe finite. Utilizarea lor implică o gamă suficientă de componente puternice. care necesită doar să se unească unele cu altele. limbi la nivel de sistem folosesc dactilografiere puternic care ajută dezvoltatorii de aplicații pentru a face față provocărilor; limbi, de asemenea, descrie scenariile nu utilizează noțiunea de tip, ceea ce face mai ușor să se stabilească legături între componente și accelerează dezvoltarea sistemelor de aplicații.

Limbajul acestor două tipuri sunt complementare. și cele mai multe platforme de calculator încă de la mijlocul anilor '60, dotate cu cele de la. și așa altele. Infrastructurile de componente care se aplică. ca regulă. Componentele împreună sunt create pe limbajele de programare la nivel de sistem. și de a le lega unul la celălalt folosind limbaje de scripting. Cu toate acestea, o serie de tendințe moderne. inclusiv apariția unor mașini mai rapide și mai bune limbaje de scripting. importanța tot mai mare de interfețe grafice cu utilizatorul și arhitecturi de componente. precum și popularitatea în creștere de pe Internet, extrem de extins sfera de aplicabilitate a limbilor de scripting .Razvitie aceste tendințe continuă în următorul deceniu. rezultând mai multe aplicații vor fi create în întregime în limbile de scripting. și rolul de limbaje de programare la nivel de sistem va fi redus aproape exclusiv la crearea componentelor.

2. limbaje de programare la nivel de sistem.

Pentru a înțelege diferența dintre limbaje de scripting și descrierea sistemului. Este util să se amintească istoria trecutului. Au apărut mai întâi ca o alternativă la limbajele de asamblare, permite utilizarea programului aproape toate caracteristicile unui anumit subsistem hardware. Fiecare astfel de declarație de limbă corespunde exact o instrucțiune mașină, și programator să aibă de a face cu astfel de detalii de nivel scăzut, cum ar fi alocarea de registru și procedurile de secvență de asteptare. Ca urmare, scrierea și întreținerea programelor de mari dimensiuni într-un limbaj de asamblare este extrem de dificil.

Până la sfârșitul anilor '50 am început să apară limbaje de programare de nivel superior, cum ar fi Lisp, Fortran, ALGOL. Deoarece acestea nu au avut o potrivire exactă între constructele lingvistice și instrucțiunile mașinii. Conversia liniilor sursă într-o secvență de comenzi binare efectuate de compilator. De-a lungul timpului, numărul lor este limbi PL / 1, Pascal, C, C ++, Java alimentată. Toate acestea sunt utilizare mai puțin eficientă a echipamentului, comparativ cu limbajul de asamblare, dar vă permite să creați aplicații mai rapid. Ca rezultat, ei au reușit să înlocuiască aproape complet limbaj de asamblare atunci când crearea de aplicații mari.

limbaje de programare de nivel înalt.

sistem de limbaj de programare de nivel diferit de asamblorii, în primul rând, faptul că acestea sunt de nivel superior, și, în al doilea rând, utilizați mai multe tipuri de control. Termenul „nivel înalt“ înseamnă următoarele: multe dintre detaliile sunt manipulate în mod automat și programator pentru a crea aplicația trebuie să scrie mai puține rânduri. În special:

înregistrare de alocare, compilatorul, astfel încât programatorul nu trebuie să scrie cod care permite circulația datelor între registre și memorie;

Secvențele de apeluri de proceduri sunt generate automat; programatorul nu trebuie să fie descrise spații funcționale argumente pe stivă și îndepărtarea lor din acestea;

programator poate utiliza, de asemenea, cuvinte cheie cum ar fi în cazul în care, în timp ce pentru a descrie structurile de conducere; secvențe de instrucțiuni mașină corespunzătoare acestor descrieri compilator generează în mod dinamic.

Spre deosebire de limbi moderne sunt caracterizate prin programare puternic tipizat. Fiecare variabilă în limbajul la nivel de sistem trebuie declarată cu un anumit tip de program, cum ar fi un număr întreg sau un pointer la un șir de caractere, apoi utilizați doar mijloacele adecvate pentru acest tip.

Codul de date și programul este separat; crearea unui nou cod în cursul executării programului este dificil, dacă nu imposibil. Variabilele pot fi combinate în structuri sau obiecte cu substructura și metodele de manipulare a componentelor sale bine definite. Un obiect de un tip care nu poate fi utilizat într-o situație în care utilizarea prescrisă alt tip de obiect.

Descriere Limbi scenarii au fost create pentru a asocia programe finite. Utilizarea lor înseamnă că suficient de puternic sortiment de componente care necesită combina numai unele cu altele.

Tastarea o serie de avantaje. În primul rând, programele majore se datorează mai ușor de gestionat. Sistemul de tip Claritatea face clar programator, care sunt unele date; se poate distinge cu ușurință între ele, respectiv și utilizate. În al doilea rând, compilatoare folosesc informații de tip pentru a detecta anumite tipuri de erori, cum ar fi o încercare de a utiliza un număr în virgulă mobilă ca un index. În al treilea rând, dactilografiere îmbunătățește performanța aplicațiilor, permițând compilatoare pentru a genera cod mai specializat. De exemplu, în cazul în care compilatorul știe că o variabilă conține întotdeauna o valoare întreagă, se poate genera pentru manipularea instrucțiunilor sale întregi; în cazul în care același tip de schimbare a compilatorului este necunoscut, trebuie să introduceți instrucțiuni suplimentare pentru a verifica tipul în timpul rulării.

Figura 1 prezintă distribuția unui număr de limbaje de programare pentru puterea și gradul de severitate al dactilografiere.

5. limbaje de scripting.

Limbaje de scenarii, cum ar fi Perl, Python, REXX, Tcl, limbi VisualBasic și coji de UNIX sugerează stilul de programare, foarte diferit de caracteristica limbilor la nivel de sistem. Ele sunt menite să nu scrie o aplicație „de la zero“, precum și pentru combinarea setului componente care este creat în avans, folosind alte limbi. De exemplu, Tcl, VisualBasic poate fi folosit pentru a construi interfața cu utilizatorul de control și o descriere pentru UNIX shell script limbi utilizate pentru a forma un „transportor“ prelucrarea de fluxuri de date dintr-un set de filtre standard existente. limbaje de scripting sunt adesea folosite pentru a completa descrierile și componentele finite ale noilor oportunități; Cu toate acestea, aceste activități se referă rareori crearea unor algoritmi complecși și structuri de date care au de obicei deja incluse în componente. Uneori, limbaje de scripting, chiar numesc comunicare sau limba de integrare de sistem.

Pentru limbaje de scripting caracterizate prin absența dactilografiere, ceea ce ar complica sarcina de conexiuni de componente. Toate elementele din ele arată și funcționează în mod identic și sunt complet interschimbabile. De exemplu, în Tcl sau VisualBasic variabilă poate cuprinde un singur punct în linia de program, iar în celălalt - un întreg. Codul și datele sunt, de asemenea, adesea folosite alternativ. De exemplu, Tcl, VisualBasic variabilă poate cuprinde un singur punct în linia de program, iar în celălalt - un întreg. Codul și datele sunt, de asemenea, adesea folosite alternativ, astfel încât programul poate genera un alt program - și imediat a alerga executarea sa. De obicei, limbaje de scripting folosi variabile tipuri de coarde, care oferă un mecanism uniform de reprezentare a diferitelor entități.

Absența în limba tipuri de variabile de diviziune simplifică conexiunea între componentele propriu-zise. Nu există nici o restricție a priori cu privire la modul în care pot fi utilizate unul sau un alt element, și toate valorile componentelor sunt reprezentate într-un format comun. Astfel, o componentă sau o valoare poate fi utilizată în orice situație; fiind concepute pentru unele metode de aplicare, acestea pot fi folosite foarte diferite, care creatorul lor niciodată nu a visat. De exemplu, în UNIX - cochilii orice program de lucru - filtru include citirea datelor din fluxul de intrare și scrierea lor în fluxul de ieșire. Orice două dintre aceste aplicații pot fi asociate prin desemnarea unui flux de ieșire la o altă intrare. Următoarea comandă shell este un sistem de trei filtre care contează în linia de selecție de text care conține cuvântul „scipting“:

Selecteaza | grep Scripting | WC

selectați programul citește textul, ecranul curent selectat, și ieșirile-l la fluxul său de ieșire; Filtrul grep citește fluxul de intrare și trece pe linia de ieșire care conține cuvântul „Scripting“; și programul de WC contorizează numărul de rânduri în flux. Oricare dintre aceste componente pot găsi utilizarea într-o varietate de situații, de fiecare dată când o rezolvare diferită problema generală. Puternice limbaje de programare dactilografiere la nivel de sistem face dificilă reutilizarea. Acesta încurajează programatori pentru a crea un număr mare de interfețe incompatibile, fiecare dintre care impune utilizarea instalațiilor de acest tip. Compilatorul nu permite diferite tipuri de obiecte pentru a interacționa cu interfața, în ciuda faptului că rezultatul ar putea fi foarte util. Astfel, pentru a folosi noua facilitate la interfața existentă, programatorul trebuie să scrie „adaptor“, care transformă un obiect de un tip care este proiectat pentru a comunica. Și utilizarea de „adaptor“ necesită, la rândul său, recompilarea o parte sau chiar întreaga aplicație în întregime. În prezent, modul dominant de a distribui software-ul în format binar face ca această abordare imposibilă.

Pentru a evalua beneficiile diavolului limbajul de programare tipic, luați în considerare următorul exemplu în limba TCL:

Buton .b -text Buna ziua! -font - comandă.

Această comandă creează un nou buton de pe ecran, cu o inscripție pe ea Buna ziua! font Times 16 puncte, atunci când este apăsat, care afișează un mesaj scurt salut. În aceeași linie de aici se potrivesc șase tipuri diferite de elemente: (b.) Numele de comandă (buton), numele butonului, atribut de identificare (-text, -font, -command), un șir de simplu (Hello Hello!), Caietul de sarcini font (Times 16) constând din numele mărcii (Times) și dimensiunea la punctele (16), precum și un Tcl-script (putshello). Toate elementele sunt reprezentate printr-o uniformă - sub formă de linii. În acest exemplu, atributele pot fi enumerate în orice ordine, dar atributele nemenționate (există mai mult de 20) vor fi atribuite valorile implicite.

Dacă va fi implementată în Java același exemplu ar avea nevoie de șapte linii de cod care alcătuiesc cele două metode. Pentru C ++ folosind MicrosoftFoundationClasses Library (MFC) magnitudine a crescut cu aproximativ 25 de linii de cod care constituie cele trei tratamente. Doar o singură selecție de fonturi necesită mai multe funktsiyamMFC accesarea

Cfont * fontPtr = new Cront ();

fontPtr-> Creta Font (16, 0, 0, 0, 700,

0, 0, 0, ANSI_CHARSET,

"Times New Roman");

Limbile de pe scripting Rise

limbaje de scripting descrieri există pentru o lungă perioadă de timp, cu toate acestea, ca urmare a unei combinații de factori a crescut semnificativ importanța lor în ultimii ani. Cel mai important dintre acești factori - orientarea spre anexă, asamblat din componente gata făcute, ca și cele trei ilustrații ale manifestărilor sale pot fi numite interfețe grafice cu utilizatorul, internet, componenta de dezvoltare a infrastructurii.

7. Graphical User Interfaces

Primele interfețe grafice cu utilizatorul a apărut la începutul anului 1980 și au câștigat pe scară largă până la sfârșitul deceniului. Astăzi, pe descrierea acestei părți a programului, mai mult de jumătate din efortul de dezvoltare merge în mai multe proiecte. GUI prin natura sa este un sistem de componentă integrantă. Scopul creării sale nu este punerea în aplicare a unor noi caracteristici, precum și de a stabili legături între elementele grafice ale controlului și funcțiile părților interne ale cererii.

Unele sisteme sunt prevăzute cu un mijloc foarte convenabil pentru construirea ecrane grafice care ascund complexitatea limbii de bază, cu toate acestea, de îndată ce apare necesitatea de a scrie cod suplimentar, de exemplu, pentru a extinde gama de elemente de interfață comportamente, dezvoltatorul atunci când apar dificultăți. Toate cele mai bun mediu accelerat de dezvoltare bazat pe limbaje de scripting: VisualBasic, HyperCard, TCL / TK.

Componenta 8. Infrastructura

Al treilea exemplu este utilizarea de limbaje de scripting - componenta de infrastructură, cum ar fi ActiveX, JavaBeans. Deși nivelul sistemului limbaj de programare au fost folosite cu succes pentru a crea componente, sarcina de asamblare a acestor aplicații mai ușor de rezolvat cu ajutorul scenariilor. Fără un bun script limbaj de descriere create pentru a manipula componentele infrastructurii, a pierdut o mare parte din meritele sale. Acest lucru ar putea explica de ce, în parte infrastructura componenta realizată o mai mare popularitate în lumea PC-ului, în cazul în care există un liant convenabil ca VisualBasic, mai degrabă decât pe alte platforme, cum ar fi Unix / Cobra, infrastructura componente, pentru care lipsa de limbaje de scripting.

scenarii 9.Tehnologiya

În plus, tehnologia de scripting vor beneficia foarte mult de la o performanță îmbunătățită a echipamentelor de calculator. Nu atât de mult timp în urmă, în scopul de a obține o rată acceptabilă a aplicării orice nivel de complexitate, a fost necesar să se facă referire la limbile la nivel de sistem. În unele cazuri, eficiența lor a fost insuficientă și a trebuit să scrie un program în limbaj de asamblare. Mașini moderne sunt de 100 - 500 de ori mai rapid decât calculatoarele 80 - IȘE, iar performanța acestora continuă să se dubleze la fiecare 18 luni. Astăzi, un număr de aplicații pot fi puse în aplicare în limbi descriu scenarii cu performanțe excelente încă. De exemplu, TCL - scripturi vă permite să manipuleze mii de obiecte menținând în același timp un bun nivel de interactivitate. În ceea ce computerele devin tot mai repede și mai repede, utilizarea de limbaje de scripting va deveni atractivă pentru punerea în aplicare a tot mai multe aplicații pe scară largă.

10. Alte limbi

Descriere Limbi scenarii se bazează pe un set ușor diferit de compromisurile decât limbi la nivel de sistem. În viteza lor de executie si severitatea tipurilor de control sunt plasate în scara de priorități într-un loc mai mic, dar productivitatea mai mare programator evaluate și reutilizare. Această valoare a raportului este cu atât mai justificată în măsura în care, după cum computerele devin rapid și mai puțin costisitoare, care nu este programatori. limbaje de programare de sistem sunt potrivite pentru crearea componentelor în cazul în care principala dificultate constă în punerea în aplicare a algoritmilor și structurilor de date, în timp ce limbaje de scripting sunt mai potrivite pentru aplicații de construcții din componente pre-construite, în cazul în care dificultatea constă în stabilirea de legături de interconectare. acest din urmă tip de sarcini sunt din ce în ce mai frecvente, astfel încât rolul paradigmei de scripting va crește în secolul următor.

articole similare