Programarea este arta creării de produse software care sunt scrise într-un limbaj de programare.
Limbajele de programare sunt limbi artificiale cu un număr limitat de cuvinte, ale căror valori sunt înțelese de către traducător și reguli foarte stricte pentru scrierea comenzilor (operatorilor). Cu ajutorul limbajelor de programare, textul programului este creat.
În prezent, există câteva sute de limbi de programare utilizate pe scară largă în lume.
Programul este o secvență ordonată de comenzi necesare pentru administrarea calculatorului. Aceste comenzi sunt transmise procesorului ca o colecție de zerouri și una, adică numere.
Unul dintre cele mai importante semne ale clasificării limbajelor de programare este apartenența lor la unul dintre stiluri, dintre care principalele sunt următoarele: procedural, funcțional, logic și orientat pe obiecte.
Programarea procedurală (imperativă) este o reflectare a arhitecturii calculatoarelor tradiționale, care a fost propusă de J. von Neumann în anii '40.
Programul în limbajul de programare procedurală constă dintr-o secvență de operatori care definesc procedura de rezolvare a problemei. Principalul lucru este operatorul de atribuire, care servește la modificarea conținutului zonelor de memorie. Conceptul de memorie ca un magazin de valori. a cărui conținut poate fi actualizat de către operatorii de programe, este fundamental în programarea imperativă.
Execuția programului este redusă la executarea secvențială a operatorilor cu scopul de a transforma starea inițială a memoriei, adică valorile datelor inițiale, în final, adică în rezultate. Astfel, din punctul de vedere al programatorului, există un program și o memorie, iar primul îl actualizează continuu.
Limbile de procedură se caracterizează prin următoarele caracteristici:
· Necesitatea gestionării explicite a memoriei, în special a descrierii variabilelor;
· Utilizabilitate scăzută pentru calcule de caractere;
· Absența unei baze matematice riguroase;
· Eficiența ridicată a implementării pe computerele tradiționale.
Una dintre cele mai importante caracteristici de clasificare a unui limbaj procedural este nivelul său. Nivelul limbajului de programare este determinat de capacitatea semantică (semantică) a construcțiilor sale și de gradul de orientare către programator. Cu cât mai multă limbă se concentrează asupra unei persoane, cu atât este mai mare nivelul acesteia. Clasificarea limbajelor de programare procedurală în scopul creșterii nivelului acestora.
Limba binară este limba directă a mașinii. Limba mașinii este limba internă a computerului și este un sistem de instrucțiuni și date care nu necesită traducere și poate fi interpretat și executat direct de hardware-ul computerului (a se vedea figura 7). În prezent, astfel de limbi nu sunt folosite de programatori.
Fig. 7 Fragmentul programului în coduri binare
Următorul nivel constă din limbi orientate spre mașină (asamblori).
Fig.8 Fragmentul programului în limba asamblorului
Limba Macroassembler este o extensie a limbajului de asamblare prin includerea de macrocomenzi în el. Cu ajutorul lor, programul poate descrie secvențe de instrucțiuni cu parametri - macrocomenzi. După aceea, programatorul poate folosi argumentele furnizate de argumente, care sunt înlocuite automat de macroextensii în procesul de asamblare a programului. Expansiunea macro este o definiție macro cu parametrii înlocuiți în locul parametrilor.
Astfel, limbajul Macroassembler oferă mijloacele de a defini și de a folosi comenzi noi, mai puternice ca o secvență de instrucțiuni de bază, care, într-o oarecare măsură,
Limbile de asamblare și Macroassembler sunt folosite de programatorii de sistem pentru a utiliza toate capabilitățile hardware-ului de calculator și pentru a obține o execuție eficientă din punct de vedere al timpului și cantitatea necesară de memorie program. Aceste limbi sunt folosite pentru a programa microprocesoare, drivere, utilitare etc.
Limbile din următorul nivel sunt numite limbi de nivel înalt sau limbi independente de mașină. Ele ne permit să descriem programul pentru rezolvarea problemei într-o formă care este cea mai convenabilă pentru percepția umană. Ei imită limbile naturale, folosind câteva cuvinte de limbaj vorbit și simboluri matematice comune. Limbile de nivel înalt sunt împărțite în procedural, logic, funcțional, orientat pe obiect.
Limbajul de programare C (C) a fost dezvoltat pentru a implementa sistemul de operare UNIX (kernelul OS a fost scris în C) la începutul anilor 70 ai secolului XX. Ulterior a devenit popular printre programatori de sisteme și aplicații. În prezent, este implementat pe majoritatea computerelor.
Si combină avantajele limbilor moderne de nivel înalt cu privire la structurile de control și structurile de date cu acces la resursele hardware ale calculatorului la un nivel care este de obicei asociat cu limbi de nivel inferior de tip Assembler.
Limba de bază (BASIC). BASIC - scurt pentru engleza. Codul de început al tuturor începătorilorSimmbolicInstructionCode este un cod universal pentru instrucțiunile simbolice pentru începători. BASIC a fost inventat în 1963 de profesorii de la Colegiul Dartmouth de John Kemeni și Thomas Kurtz și a fost implementat de o echipă de studenți sub îndrumarea lor. BASIC a fost conceput ca fiind cel mai simplu limbaj pentru comunicarea directă între o persoană și un computer.
A primit o distribuție largă sub formă de dialecte diferite, în primul rând ca o limbă pentru computerele de acasă. Până în prezent, a suferit modificări semnificative, îndepărtându-se în mod semnificativ de caracteristica primelor versiuni de simplitate, care se învecinează cu primitivismul și devenind un limbaj destul de obișnuit la nivel înalt, cu un set tipic de posibilități. Cea mai folosită versiune este QuickBasic 4.5, folosită ca limbă autonomă pentru dezvoltarea programelor de aplicații, care funcționează în principal sub diferite sisteme de operare Windows.
Limba Pascal (Pascal) - este una dintre cele mai populare în rândul programatorilor de aplicație limba de programare procedurală. Dezvoltat în 1970 de Niklaus Wirth, limba este numită după matematicianul francez Blaise Pascal. Contrar convingerii populare, nu a fost exclusiv o limbă de învățare, ci destinată utilizării practice. Prototipul era Algol. Inițial, limba a fost compilată într-un bytecode, ca limba Java. În această limbă, conceptul de programare structurată este pe deplin implementat. În prezent, astfel de versiuni lingvistice pentru PC ca BorlandPascal, TurboPascal sunt utilizate pe scară largă.
Limba PL / I (Limba de programare I) este un limbaj de programare dezvoltat în 1964, creat pentru calcul științific, de inginerie și de afaceri. Acesta conține o gamă largă de construcții sintactice și funcții încorporate, care probabil că nu există un singur compilator care să suporte toate capabilitățile limbii PL / 1. PL / 1 sprijină recursivitatea și programarea structurală, a fost utilizat pe scară largă în prelucrarea datelor.
Prototipul programării orientate pe obiecte a fost un număr de instrumente care fac parte din limbajul SIMULA-67. Dar, într-un stil independent, a luat forma cu apariția limbajului SMALLTALK dezvoltat de Alan Kay în 1972 și inițial destinat implementării funcțiilor de grafică pe calculator.
Stilul de programare orientat pe obiect se bazează pe conceptul de obiect, iar esența sa este exprimată prin formula: "obiect - date + proceduri". Fiecare obiect integrează în sine o anumită structură de date și singurele proceduri disponibile pentru prelucrarea acestor date, numite metode. Combinația dintre proceduri și date într-un singur obiect se numește încapsulare.
Clasele sunt folosite pentru a descrie obiecte. Clasa definește proprietățile și metodele obiectului care aparține acestei clase. În consecință, orice obiect poate fi definit ca o instanță a clasei. Programarea stilului în cauză constă în alegerea obiectelor existente sau crearea de noi obiecte și organizarea interacțiunii dintre ele. Atunci când creați obiecte noi, proprietățile obiectelor pot fi adăugate sau moștenite de la obiectele strămoșilor. În procesul de lucru cu obiecte, polimorfismul este permis - este posibil să se utilizeze metode cu aceleași nume pentru a prelucra date de diferite tipuri.
Cele mai moderne limbi de programare orientate spre obiect includ C ++, Delphi, Perl.
Limba C ++ a fost dezvoltată la începutul anilor 80 de către B. Straustrup.
Perl este un limbaj de programare dinamică interpretat la nivel înalt pentru scop general, creat de Larry Wall, un lingvist prin educație. Numele limbii este o abreviere, care înseamnă "PracticalExtractionandReportLanguage" - "un limbaj practic pentru extragerea datelor și compilarea rapoartelor"
Python este un limbaj de programare de înalt nivel, cu scop general, axat pe îmbunătățirea productivității dezvoltatorilor și a lizibilității codurilor. Python acceptă mai multe paradigme de programare, inclusiv structurate, orientate pe obiecte, funcționale, imperative.
Ruby este un limbaj de programare interpretat la nivel înalt pentru programarea rapidă și convenabilă a obiectelor.
Recent, programele, în special obiectele orientate, sunt implementate ca sisteme de programare vizuală. O caracteristică distinctivă a acestor sisteme este un mediu de dezvoltare puternic pentru programele din "blocuri de construcție" gata făcute, care vă permit să creați o parte de interfață a unui produs software într-un mod interactiv, cu o codificare puțin sau deloc a operațiilor software. Printre sistemele orientate spre obiecte ale programării vizuale sunt: VisualBasic, Delphi, C ++ Builder, VisualC ++