Diferite limbaje de programare și domeniile lor de aplicare. Prelegere în Yandex. Care sunt diferitele limbaje de programare?

Baza pentru lucrul cu Internetul este limbajul de marcare - html. Vă permite să prezentați informații prin alocarea de fișiere text, imagini, audio și video cu proprietăți speciale, controlând structura acestora. Pentru a lucra cu limbaje de programare web cu drepturi depline, trebuie să înțelegeți structura documentelor html și a comenzilor html - așa-numitele etichete.

PHP este un limbaj de programare pentru crearea de site-uri web interactive. Programele (scripturile) PHP sunt găzduite pe computere (servere) la distanță. Un utilizator de internet, atunci când accesează un nume de domeniu, solicită fișiere de la server. Scriptul PHP generează cod HTML în funcție de solicitarea utilizatorului, site-ul funcționează dinamic, ca un program de calculator cu drepturi depline, care răspunde la acțiuni.

De obicei, PHP interacționează cu o bază de date care are propriul limbaj de interogare. Cel mai popular limbaj de interogare a bazelor de date este MySQL. Vă permite să creați baze de date relaționale care funcționează pe baza relațiilor dintre structurile tabelelor.

Grupul de limbaj C

Limbajul C, care a devenit mai târziu precursorul a zeci de limbi, a fost creat la începutul celei de-a doua jumătate a secolului al XX-lea pentru a lucra direct cu memoria procesorului. Calculatoarele la acea vreme erau uriașe și erau folosite în scopuri militare și științifice.

Limbajul C are o structură simplă, comenzile sale pot fi reproduse chiar și de către copii. „C” poate fi extins de comunitatea de programare folosind fișiere cu funcții speciale - biblioteci.

Bazat pe limbajul C, un întreg grup de instrumente de dezvoltare (CLR) și limbaje cu drepturi depline a crescut. C# (platforma ASP) este baza software pentru produsele Microsoft. C++ a devenit instrumentul preferat al dezvoltatorilor din întreaga lume.

Pascal simplu

Limbajul Pascal a fost creat în scopuri educaționale de către programatorul scandinav Northus Wirth. Această limbă a fost predată multă vreme în școlile și universitățile sovietice și a fost folosită și la nivel local de institutele științifice din Europa. Din cauza dificultăților de extensibilitate (Pascal nu are fișiere de bibliotecă prototip care sunt utilizate pe scară largă în limbajele C), limbajul nu este utilizat pe scară largă în scrierea de software.

Delphi este succesorul limbii Pascal. Deoarece mulți programatori au primit elementele de bază ale specialității lor în limbajul Pascal simplu din punct de vedere algoritmic, echipa de dezvoltare a decis să creeze un instrument pentru a lucra în succesorul limbajului Pascal: la urma urmei, comenzile de bază sunt familiare, există multe funcții matematice dezvoltate.

Cele mai recente limbaje de programare

De obicei, limbi noi apar pentru a rezolva probleme specifice. IFrame este folosit pentru a crea aplicații VKontakte, Erlang este folosit pentru a lucra cu încărcarea serverului, NOSQL este folosit pentru a crea baze de date cu o arhitectură netipificată. La început, lucrul cu instrumente noi poate fi dificil din cauza lipsei documentației însoțitoare, dar există avantaje suplimentare ascunse în aceasta: puteți comunica cu „adepți” limbii, puteți câștiga un nume în comunitatea de dezvoltatori, și să primească informații de referință din sursa originală.

Când încercați să vă dați seama ce limbaj de programare să începeți să învățați, probabil veți întâlni termenii „nivel înalt” și „nivel scăzut”. Oamenii vorbesc tot timpul despre limbaje de programare la nivel înalt și la nivel scăzut. Dar ce înseamnă mai exact asta? Și ce înseamnă să înveți să scrii cod? Să începem cu definițiile fiecăruia.


Limbaje de programare „High” și „Low Level”.

În acest articol voi vorbi despre limbile „de nivel înalt” și „de nivel scăzut”. Dar nu există criterii speciale pentru a determina acest lucru. Rețineți că acest lucru depinde în mare măsură de perspectiva dvs. Dacă ești un programator C, Java poate părea la un nivel destul de înalt. Dacă sunteți obișnuit cu Ruby, Java poate părea un limbaj de nivel scăzut.

Cod mașină și limbaje de nivel scăzut

Indiferent dacă o limbă este considerată la nivel înalt sau la nivel scăzut (sau undeva la mijloc), este vorba despre abstracție. Codul mașinii nu are abstractizare - conține instrucțiuni individuale care sunt transmise computerului. Și deoarece mașinile se ocupă doar de numere, acestea sunt reprezentate în binar (deși uneori sunt scrise în notație zecimală sau hexazecimală).

Iată un exemplu de cod de mașină:

În codul mașinii, operațiunile trebuie specificate cu precizie. De exemplu, dacă o informație trebuie preluată din memorie, codul mașinii va trebui să spună computerului unde se află în memorie să o găsească.

Scrierea direct în codul mașinii este posibilă, dar foarte dificilă.

Limbajele de programare de nivel scăzut adaugă un pic de abstractizare codurilor de mașină. Această abstractizare ascunde instrucțiuni specifice codului de mașină în spatele declarațiilor care sunt mai ușor de citit de om. Limbile de asamblare sunt limbajele de cel mai jos nivel, lângă codul mașină.

În codul mașinii ați putea scrie ceva de genul „10110000 01100001”, dar limbajul de asamblare poate simplifica acest lucru ca „MOV AL, 61h”. Există încă o corespondență aproape unu-la-unu între ceea ce este scris în limbaj de asamblare și instrucțiunile date mașinii.

Trecând în limbaje de programare mai populare, ajungeți cu ceva de genul C. Deși acest limbaj nu este la fel de scăzut ca limbajul de asamblare, există încă o corespondență puternică între ceea ce este scris în C și codul mașinii. Majoritatea operațiunilor scrise în C pot fi completate cu un număr mic de instrucțiuni de cod de mașină.

Limbaje de programare la nivel înalt

La fel ca limbajele de nivel inferior, nivelurile superioare acoperă o gamă largă de abstracții. Unele limbaje, cum ar fi Java (mulți îl consideră un limbaj de programare intermediar), vă oferă încă mult control asupra modului în care computerul gestionează memoria și datele.

Altele, precum Ruby și Python, sunt foarte abstracte. Vă oferă mai puțin acces la funcții de nivel inferior, dar sintaxa este mult mai ușor de citit și de scris. Puteți grupa lucrurile în clase care moștenesc caracteristici, așa că trebuie să le declarați o singură dată.

Variabilele, obiectele, subrutinele și buclele sunt părți importante ale limbajelor de nivel înalt. Aceste și alte concepte vă vor ajuta să spuneți mașinii o mulțime de lucruri prin declarații scurte și concise.

În timp ce limbajul de asamblare are o mapare aproape uniformă între instrucțiunile sale și instrucțiunile codului de mașină, un limbaj de nivel superior poate trimite zeci de comenzi cu o singură linie de cod.

Este important de reținut că „limbajele de programare de nivel înalt” pot include orice este mai abstract decât limbajul de asamblare.

Ce limbă să studiez: nivel scăzut sau înalt?

Aceasta este cu siguranță o întrebare comună printre programatorii noi și aspiranți. Ce limbaje de programare sunt mai bine de învățat: nivel înalt sau nivel scăzut? Ca și în cazul multor întrebări de programare, problema limbajelor de programare la nivel înalt și la nivel scăzut nu este atât de simplă.

Ambele tipuri de limbi au avantaje importante. Limbile de nivel scăzut, deoarece necesită puțină interpretare de către computer, tind să fie foarte rapide. Și oferă programatorilor mult control asupra stocării, memoriei și regăsării datelor.

Cu toate acestea, limbajele de nivel înalt sunt intuitive și permit programatorilor să scrie cod mult mai eficient. Aceste limbi sunt, de asemenea, considerate „mai sigure”, deoarece există mai multe garanții care împiedică codificatorul să emită comenzi prost scrise care ar putea provoca daune. Dar nu le oferă programatorilor același control asupra proceselor de nivel scăzut.

Având în vedere acest lucru, iată o listă de limbi populare pe o scară de la scăzut la mare:

  • JavaScript
  • Piton

Desigur, acest lucru este parțial subiectiv. Și include doar o mică parte din limbile disponibile.

Dar acest lucru ar trebui să vă ofere o idee despre ce nivel sunt limbile care vă interesează.

Ce vreţi să faceţi?

Când decideți ce limbă veți învăța, prima întrebare ar trebui să fie: ce doriți să programați?

Dacă doriți să programați sisteme de operare, nuclee sau orice altceva care trebuie să ruleze la viteză maximă, un limbaj de nivel inferior poate fi o alegere bună. Majoritatea Windows, OS X și Linux sunt scrise în limbaje C și derivate din C, cum ar fi C++ și Objective-C.

Multe aplicații moderne sunt scrise în limbi de nivel superior sau chiar în limbaje specifice domeniului. Python și Ruby sunt deosebit de populare pentru aplicațiile web, deși HTML5 devine din ce în ce mai puternic. Limbi precum Swift, C#, JavaScript și SQL au propriile lor puncte tari și puncte slabe.

Citeam recent un thread pe un forum de programare și am dat peste o sugestie interesantă: studiați ambele niveluri simultan. Veți obține o înțelegere mai profundă a tipurilor de abstracții care fac un limbaj de nivel superior mai eficient.

Desigur, învățarea a două limbi în același timp nu este ușoară, așa că poate doriți să vă extindeți puțin învățarea. Și alegerea a două limbi care sunt cele mai asemănătoare poate fi utilă.

Din nou, ne vom întoarce la ceea ce am spus mai devreme: alegeți o limbă în funcție de ceea ce doriți să faceți. Faceți câteva cercetări pentru a afla ce limbi folosesc oamenii în domeniul lor. Apoi utilizați aceste informații pentru a alege o limbă de nivel înalt și scăzut și pentru a începe să le învățați.

Veți vedea în curând paralelele și veți obține o înțelegere mult mai profundă a modului în care funcționează programarea.

Concentrați-vă pe scop, nu pe mijloace.

Există multe criterii pe care le puteți folosi pentru a alege un limbaj de programare. Unul dintre criterii este nivelul ridicat și scăzut. Dar în aproape toate cazurile, criteriul pe care ar trebui să-l utilizați este ceea ce doriți să programați.

Proiectul dvs. ar putea beneficia de un limbaj de nivel scăzut. Sau poate fi mult mai eficient la un nivel înalt. Depinde de tine să alegi instrumentul potrivit pentru muncă. Concentrează-te pe obiectivul tău și alege limba potrivită de fiecare dată.

Aveți experiență cu limbi de nivel înalt și scăzut? Preferi una peste alta? Împărtășiți-vă gândurile în comentariile de mai jos!

Instrucțiuni

Pentru a scrie textul oricărui program de calculator, se folosește unul dintre numeroasele limbaje de programare. Toate acestea sunt seturi de comenzi specifice - operatori, precum și descrieri. De regulă, la baza acestor comenzi se află, așadar, dacă cunoașteți limba engleză, citind textul programului puteți chiar să înțelegeți ce va face computerul cu una sau cutare comandă. Cu toate acestea, computerul, spre deosebire de tine, nu știe engleza - pentru a le înțelege, compilatorul „traduce” aceste comenzi în limbajul mașinii. Fiecare limbaj de programare are propriul compilator.

Primele, printre care: ADA, Basic, Algol, Fortran și altele, care au fost populare în anii 60-70, nu au fost folosite de mult timp, dar C++, de exemplu, creat în 1983, rămâne la cerere și astăzi, multe produse software speciale sunt scrise în el. Basic, care a apărut în 1991, este încă la cerere; precum și Pascal (mediu de dezvoltare Delphi), Java, JavaScript și Ruby, create în 1995. Printre noi se numără ActionScript și Nemerle, care au apărut în 1998 și, respectiv, 2006.

Limbajele de programare enumerate sunt încă relevante, deoarece sunt modificate în mod constant, iar noile lor versiuni sunt adaptate nevoilor care există astăzi. Acest lucru se aplică în primul rând limbajului C++. În ciuda faptului că, în unele cazuri, codul programului compilat în acest limbaj este destul de greoi, utilizarea șabloanelor gata făcute ajută la rezolvarea acestei probleme, îmbunătățind semnificativ performanța produselor software.

Mediul de dezvoltare Visual Basic, dezvoltat de faimosul Microsoft, este folosit și de majoritatea programatorilor, permițând nu numai crearea unui cod de program compact în limbajul Basic, ci și utilizarea unui designer convenabil încorporat pentru interfața cu utilizatorul. Dar pentru a crea site-uri web, programatorii folosesc limbajul PHP, care este considerat universal și funcționează cu orice sistem de operare. Este, de asemenea, folosit ca proiectant de interfață cu utilizatorul. Cu toate acestea, dezavantajele semnificative ale acestui limbaj includ faptul că codul scris în versiunile anterioare nu va fi acceptat de altele noi.

Java poate funcționa și pe orice platformă, dar pentru a scrie programe în acest limbaj trebuie să folosiți dialectul care este destinat acestui tip de produs software. Limbajele de programare Pascal și JavaScript se disting prin versatilitate, versatilitate și simplitate. Primul este mai des folosit pentru a crea produse software pentru sistemul de operare, de exemplu Total Commander și QIP, iar al doilea este folosit de majoritatea browserelor moderne.

Programele de calculator sunt adesea descrise ca „seturi de instrucțiuni”, iar limbajele computerizate sunt percepute de mulți doar ca un vocabular și un mod sintactic de a furniza acele instrucțiuni.

Din acest punct de vedere, diferitele limbaje de programare pot avea diferite gramatici sau vocabulare diferite. Fiecare limbă poate trata punct și virgulă în mod diferit sau poate necesita litere mari atunci când este scrisă, deși, în general, toate limbile se bazează pe același principiu.

Dar realitatea programării este mult mai complexă.

Programare azi

Este ciudat, dar majoritatea ideilor cu adevărat „globale” în programarea computerelor au fost dezvoltate în anii 1950 și 60. De atunci, au apărut multe limbi noi, dar niciunul dintre ele nu implementează o abordare cu adevărat nouă a logicii și calculului.

Dezvoltarea de noi limbaje de programare în ultimele decenii s-a bazat pe experiența dezvoltatorilor. Aceasta înseamnă că există cod care este mai ușor de scris (forța motrice din spatele Ruby) și mai ușor de citit (Python) și face anumite tipuri de structuri logice și tehnici de rezolvare a problemelor mai intuitive.

Unele limbaje au fost concepute pentru a rezolva probleme specifice de programare (cum ar fi PHP și SASS), pentru a gestiona anumite tipuri de sisteme () sau pentru a lucra într-un mediu sau platformă specifică (Java și JavaScript). Unele limbi au fost concepute special pentru a ajuta începătorii să învețe să programeze (BASIC și Scratch sunt exemple clasice).

Deoarece teoriile și practicile din jurul designului limbajului s-au maturizat în (în mare parte) ortodoxie larg acceptată, o mare parte din munca nouă și interesantă în dezvoltarea practicii de programare se concentrează acum în jurul arhitecturii sistemelor.

O dezvoltare relativ recentă include conceptul de SOA (Service Oriented Architecture). Arhitectura orientată spre servicii) și MVC (Model-View-Controller), precum și cadre precum , care permit programatorilor să lucreze cu ușurință în aceste paradigme.

Lista limbajelor de programare

O listă tot mai mare de limbaje de programare populare, markupuri și protocoale. Link-uri către descrieri ale fiecăruia dintre ele:

Codificare ASCII

  • Codificarea caracterelor este unul dintre aspectele fundamentale ale computerelor și ale internetului. ASCII este primul sistem de codificare a caracterelor utilizat pe scară largă. A fost înlocuit de UTF-8, dar ASCII este încă baza pentru marea majoritate a caracterelor de pe Internet astăzi. Înțelegerea acestui lucru este foarte importantă pentru programatori. Citiți mai multe aici (în engleză):

ASP/ASP.NET

  • ASP este un acronim pentru Active Server Pages. Este primul limbaj de scripting pe partea de server pentru serverul web Microsoft IIS. ASP a fost înlocuit cu un cadru open source pe partea de server - ASP.NET. Mai multe detalii (engleză):

AutoLISP

  • AutoLISP este un limbaj de programare simplu, ușor, interpretat, conceput special pentru proiectarea software-ului asistată de computer. Citiți despre asta (în engleză):

Awk

  • Awk este un limbaj de programare de procesare a textului extrem de puternic, care vă permite să extrageți date dintr-un fișier sau altă sursă și să le scoateți în orice format aveți nevoie. Este un instrument vechi, dar este încă la fel de util ca întotdeauna. Aflați mai multe (engleză): .

BASH

  • Bash este cea mai folosită interfață de linie de comandă în lumea Unix. Aceasta este interfața implicită bazată pe text atât pentru Linux, cât și pentru Mac OS X. Citiți mai multe:

Lisp comun

  • Lisp este un limbaj de programare destul de unic, poate cel mai vechi limbaj și încă folosit astăzi. Acest lucru este deosebit de important în domeniul inteligenței artificiale. Mai multe detalii (engleză):

C

  • Dacă includem aici două derivate ale acestui limbaj, atunci putem spune cu siguranță că niciun limbaj nu a fost mai util și mai influent decât C. Acest lucru este deosebit de important pentru dezvoltarea sistemelor de operare și a altor software-uri. Multe compilatoare și interpreți pentru alte limbi sunt scrise în C. Citește mai mult:

C++

  • Numit inițial „C cu clase”, C++ este în multe privințe pur și simplu un succesor mai avansat al C (deși situația generală este mai complexă). C++ a fost conceput pentru a adăuga un nivel înalt paradigmei de programare C, păstrând în același timp capabilități de manipulare hardware de nivel scăzut. Multe dintre aceste completări au fost adăugate la C de-a lungul anilor, iar limbile sunt mai mult ca două dialecte ale aceleiași limbi. Mai multe detalii (engleză):

C#

  • Folosit ca limbaj principal pentru programarea .NET, similar cu C++, este o extensie a limbajului de programare C, dar cu un plus important de capabilități orientate pe obiecte. Mai multe detalii (engleză):

CSS/CSS3

  • CSS, sau Cascading Style Sheets, nu este, de asemenea, un limbaj de programare, ci un limbaj de stil de pagină - un limbaj care oferă reguli de stil și de aspect documentelor și aplicațiilor. Este limbajul de stil principal folosit pe Internet. Mai multe detalii:

Emacs Lisp

  • Emacs este cunoscut de mult ca un editor de text popular și puternic. Dar adăugarea lui Emacs Lisp îl transformă într-un mediu de dezvoltare integrat pentru aproape orice limbaj de programare. Mai multe detalii (engleză): .

F#

  • F# este un limbaj de programare de uz general. Conceput pentru a fi extrem de eficient. Inițial doar o limbă Microsoft, acum este o limbă open source și este folosită pe toate platformele. Mai multe detalii (engleză): .

FORTAN

  • Fortran a apărut pentru prima dată în 1957 și este încă folosit pentru a rezolva unele dintre cele mai complexe probleme din știința și tehnologia modernă. Mai multe detalii (engleză):

MAI DEPARTE

  • Lucrările pe Forth au început în 1968, iar limbajul este folosit de obicei pe hardware care nu are un sistem de operare tradițional. De asemenea, este utilizat pe scară largă pentru controlul mașinilor-unelte. Mai multe detalii (engleză):

Haskell

  • Haskell este unul dintre cele mai populare limbaje de programare funcționale, pe lângă faptul că este prototipul pentru alte duzini de limbi. Este utilizat pe scară largă în cercurile de afaceri și academice și este un limbaj excelent pentru a începe atunci când învățați despre programarea funcțională. Mai multe detalii (engleză):

HTML

  • HTML nu este un limbaj de programare. Acesta este un limbaj de marcare - un limbaj pentru adăugarea de adnotări semantice și stilistice la conținut. Este limba principală pentru conținutul web. Cunoașterea acesteia este necesară și obligatorie pentru toți designerii web și dezvoltatorii web, precum și pentru toți (scriitori, editori) care produc conținut pe internet. Mai multe detalii (engleză): și

IDL

  • IDL, sau Interactive Data Language, este un limbaj de programare utilizat în principal pentru analiza și vizualizarea datelor. Este încă utilizat pe scară largă în aerospațial și astronomie. Mai multe detalii (engleză):

INTERCAL

  • INTERCAL este un limbaj de computer parodie dezvoltat la începutul anilor 1970. A fost creat ca o glumă pentru a arăta cum limbile sunt complexe din punct de vedere tehnic și greu de citit. Acesta este un limbaj real pe care îl poți descărca și cu care poți chiar să faci ceva. Se presupune că trebuie să fii foarte familiarizat cu el pentru a face acest lucru - dar, din nou, nu prea bine, pentru că nici INTERCAL în sine nu-i va plăcea. Mai multe detalii (engleză):

Java

  • Java este un limbaj de nivel înalt conceput pentru a fi utilizat pe mașina virtuală Java. Are foarte puține dependențe externe și a fost proiectat să ruleze pe orice mașină fizică. Este utilizat pe scară largă în arhitectura de rețea, precum și în dispozitivele încorporate și alte aplicații de calcul. Mai multe detalii (engleză): .

Javascript

  • JavaScript (nu are legătură de fapt cu Java) este un limbaj de scripting conceput inițial pentru utilizare în browserele web. Prin urmare, are capacitatea încorporată de a lucra cu Document Object Model (DOM), reprezentarea în memorie a conținutului paginii web. Este principalul limbaj de programare pentru dezvoltarea web front-end. Este în primul rând bazat pe evenimente și, datorită Node.JS, a câștigat recent recunoașterea ca limbaj pe partea serverului. Mai multe detalii (engleză): și. Si aici:

Ksh

  • Korn Shell (ksh) este o interfață de linie de comandă folosită pe Unix. A fost un shell timpuriu, compatibil cu shell-ul standard Bourne, dar cu toate caracteristicile interactive interesante ale shell-ului C. Mai multe detalii:

Programare Linux

  • Programarea Linux include totul, de la scripting shell la dezvoltarea de aplicații până la dezvoltarea kernelului. Mai multe detalii (engleză):

Siglă

  • Logo-ul este unul dintre cele mai vechi limbaje pentru predarea programarii și este probabil cel mai faimos. Este renumit pentru țestoasa sa, pe care copiii o fac să se miște cu comenzile computerului. Un mod distractiv de a preda programarea. Mai multe detalii (engleză):

M.L.

  • ML a fost conceput inițial ca un limbaj de meta-programare: un limbaj pentru crearea altor limbaje. Dar, de-a lungul timpului, a devenit un limbaj de uz general, utilizat pe scară largă în educație, matematică, știință și chiar finanțe. Mai multe detalii (engleză): .

MPI

  • Interfața de trecere a mesajelor este un protocol standard pentru trimiterea de mesaje între procese sau programe. A fost implementat într-un număr de limbaje de programare, inclusiv C, C++, Java și Python. Datorită MPI, calculul paralel a devenit posibil. Mai multe detalii (engleză):

Programare in retea cu prize de internet

Obiectiv-C

  • O altă versiune de C, creată în anii 1980 pentru a oferi o implementare complet orientată pe obiecte a lui C. Utilizarea principală a limbajului astăzi este pe sistemele de operare Mac OSX și iOS. Până de curând, aplicațiile iOS trebuiau scrise în Objective-C, dar acum poți scrie și în Swift. Mai multe detalii (engleză):

OCaml

  • OCaml este un limbaj de calculator funcțional orientat pe obiecte. În tradiția ML, este folosit mult pentru a scrie alte limbaje de programare și cadre. Mai multe detalii (engleză): .

Dezvoltarea sistemului de operare

  • Everestul joburilor de programare este considerat a fi dezvoltarea unui sistem de operare. Dacă doriți să vă dovediți că puteți scrie orice, atunci nu există nimic mai bun decât să vă scrieți propriul nucleu al sistemului de operare și instrumentele asociate, dar aveți grijă: aceasta este o călătorie numai pentru programatori curajoși și adevărați! Mai multe detalii (engleză): .

Perl

  • Un instrument foarte util pentru aproape orice programator. Ca limbaj interpretat, nu trebuie să fie compilat, uneori denumit „Cuțitul elvețian” al limbajelor de scripting. Mai multe detalii (engleză):

PROLOG

  • Prolog este un limbaj de programare logic conceput pentru procesarea limbajului natural. Mai multe detalii (engleză):

Date pure

  • Pure Data este un limbaj de programare vizual unic. A fost creat special pentru a permite utilizatorilor să creeze lucrări video, audio și grafice. Mai multe detalii (engleză): .

Piton

  • Python este un limbaj de programare de nivel înalt. Un limbaj interpretat (necompilat), cunoscut și ca „limbaj de scripting”. Folosit în principal ca instrument pentru realizarea sarcinilor de programare specializate, cum ar fi sarcinile de automatizare și analiză a datelor. Are un set puternic de instrumente pentru calcule matematice și științifice și este adesea folosit de cercetători. Mai multe detalii (engleză):

Ruby on Rails

  • Ruby on Rails este un cadru de dezvoltare web pentru limbajul de programare Ruby. Oferă arhitectură MVC (Model View Controller), un strat de abstractizare a bazei de date și multe instrumente pentru a accelera procesul de programare a aplicațiilor web. Foarte popular pentru dezvoltarea rapidă a aplicațiilor web. Mai multe detalii (engleză):

SAS

  • SAS este un limbaj specializat conceput pentru analiza datelor statistice. Folosit pe scară largă în guvern, mediul academic și afaceri. Pentru persoanele cu multe date, SAS este alegerea evidentă. Mai multe detalii (engleză): .

Scala

  • Scala este un limbaj relativ nou - mai mult sau mai puțin Java mai nou și mai bun. Este un limbaj grozav pentru programatorii Java care doresc să fie mai eficienți sau pentru cei care abia încep să învețe programarea și doresc să învețe un limbaj puternic care să nu-i limiteze în viitor. Mai multe detalii (engleză): .

Sistem

  • Scheme este un limbaj vechi, dar este încă folosit pentru a preda programare și discipline mai avansate de informatică. Bazat în principal pe Lisp și parțial pe ALGOL. Mai multe detalii (engleză): .

Zgârietură

  • Limbajul de programare Scratch a fost creat special pentru a preda programarea copiilor cu vârsta cuprinsă între 8 și 16 ani. Scratch este ușor și le permite copiilor să învețe elementele de bază ale logicii de programare într-un mod distractiv. Mai multe detalii (engleză):

Simulare

  • Simula este un limbaj important din punct de vedere istoric, deoarece a fost primul limbaj care a introdus conceptele care au devenit baza pentru programarea orientată pe obiecte. Mai multe detalii (engleză): .

Zâmbește

  • SMIL (Synchronized Multimedia Integration Language) este un instrument pentru acele persoane care doresc să creeze și să distribuie prezentări. Deosebit de util dacă doriți să creați prezentări care trebuie actualizate din când în când. Mai multe detalii (engleză):

SQL

  • SQL (Structured Query Language) este limbajul folosit pentru a comunica cu sistemele de management al bazelor de date relaționale (RDBMS). SQL permite programatorului să creeze structuri de date, să insereze și să editeze date și să le interogheze. Mai multe detalii (engleză):

Stata

  • Stata este un mediu de dezvoltare și un limbaj de programare pentru rezolvarea problemelor statistice grave. Și deși a fost creat cu destul de mult timp în urmă, este încă folosit pe scară largă. Dacă sunteți implicat în activități statistice, Stata este un instrument excelent. Mai multe detalii (engleză):

Rapid

  • Swift este un nou limbaj de programare dezvoltat de Apple pentru iOS, OS X, watchOS, tvOS și Linux. Acesta este limbajul viitorului pentru dezvoltatorii de programe și aplicații pentru dispozitivele Apple. Mai multe detalii (engleză):

S-PLUS

  • S-PLUS este o versiune comercială a puternicului limbaj de programare S conceput pentru efectuarea de analize statistice. Proiectul GNU are propria sa versiune de S, numită R. Toate resursele necesare despre S, cu accent pe S-PLUS:

Programare UNIX

  • Amploarea programării pe Unix este grozavă. Acesta acoperă o gamă de la scripturi administrative la cod bazat pe text până la dezvoltarea X Window. Mai multe detalii (engleză):

XML

  • XML este un limbaj de marcare bine structurat, conceput pentru a fi citit atât de om, cât și de mașină. Mai multe detalii (engleză):

Lecție pregătită de: Akulov Ivan

LIMBAJUL DE PROGRAMARE ȘI TIPURILE ACESTE

Un limbaj de programare este un sistem de semne formal conceput pentru a scrie programe de calculator. Un limbaj de programare definește un set de reguli lexicale, sintactice și semantice care definesc aspectul programului și acțiunile pe care executantul (calculatorul) le va efectua sub controlul său.

Un limbaj de programare de nivel înalt este un limbaj de programare conceput pentru a fi rapid și ușor de utilizat de către programator. Caracteristica principală a limbajelor de nivel înalt este abstracția, adică introducerea de constructe semantice care descriu pe scurt astfel de structuri de date și operațiuni pe ele, ale căror descrieri în codul mașină (sau alt limbaj de programare de nivel scăzut) sunt foarte lung și greu de înțeles.

Limbajul de programare de nivel scăzut (limbaj de programare de nivel scăzut) este un limbaj de programare care este aproape de programare direct în codurile de mașină ale procesorului real sau virtual (de exemplu, Java, Microsoft .NET) utilizat. O notație mnemonică este de obicei folosită pentru a desemna instrucțiunile mașinii. Acest lucru permite ca comenzile să fie amintite nu ca o succesiune de numere binare și zerouri, ci ca abrevieri semnificative ale cuvintelor în limba umană (de obicei engleză).

LIMBAJE DE PROGRAMARE LA NIVEL JOS

Calculatoarele timpurii trebuiau programate folosind coduri mașini binare. Cu toate acestea, programarea în acest fel este o sarcină destul de complexă și consumatoare de timp. Pentru a simplifica această sarcină, au început să apară limbaje de programare de nivel scăzut, care au făcut posibilă specificarea comenzilor mașinii într-o formă mai ușor de înțeles pentru oameni. Pentru a le converti în cod binar, au fost create programe speciale - traducători.

Fig.1. Un exemplu de cod de mașină și reprezentarea acestuia în asamblator

Traducătorii sunt împărțiți în:

    compilatoare - convertiți textul programului în cod mașină, care poate fi salvat și apoi utilizat fără un compilator (un exemplu sunt fișierele executabile cu extensia *.exe);

    interpreți - transformați o parte a programului în cod de mașină, executați-l și apoi treceți la următoarea parte. În acest caz, de fiecare dată când programul este executat, se folosește un interpret.

Un exemplu de limbaj de nivel scăzut este limbajul de asamblare. Limbile de nivel scăzut sunt axate pe un anumit tip de procesor și iau în considerare caracteristicile acestuia, așa că pentru a porta un program de limbaj de asamblare pe o altă platformă hardware, acesta trebuie rescris aproape complet. Există, de asemenea, anumite diferențe în sintaxa programelor pentru diferite compilatoare. Adevărat, procesoarele centrale pentru computerele de la AMD și Intel sunt practic compatibile și diferă doar în anumite comenzi specifice. Dar procesoarele specializate pentru alte dispozitive, de exemplu, plăcile video și telefoanele, conțin diferențe semnificative.

Avantaje

Limbajele de nivel scăzut creează programe eficiente și compacte, deoarece dezvoltatorul are acces la toate capacitățile procesorului.

Defecte

    Un programator care lucrează cu limbaje de nivel scăzut trebuie să fie înalt calificat și să aibă o bună înțelegere a structurii sistemului de microprocesor pentru care este creat programul. Deci, dacă un program este creat pentru un computer, trebuie să cunoașteți dispozitivul computerului și, mai ales, dispozitivul și caracteristicile de funcționare ale procesorului acestuia;

    programul rezultat nu poate fi transferat pe un computer sau dispozitiv cu un alt tip de procesor;

    timp semnificativ de dezvoltare pentru programe mari și complexe.

Limbajele de nivel scăzut sunt de obicei folosite pentru scrierea de programe de sistem mici, drivere de dispozitiv, module de interfață cu echipamente non-standard, programare microprocesoare specializate, când cele mai importante cerințe sunt compactitatea, viteza și capacitatea de a accesa direct resursele hardware.

Asamblarea este un limbaj de nivel scăzut care este încă folosit pe scară largă astăzi.

LIMBAJE DE PROGRAMARE LA NIVEL ÎNALT

Primul limbaj de programare de nivel înalt este considerat limbajul de calculator Plankalkül, dezvoltat de inginerul german Konrad Zuse în perioada 1942-1946. Cu toate acestea, un traducător pentru acesta nu a existat până în 2000. Primul traducător de limbi de nivel înalt din lume este PP (Program de programare), cunoscut și sub numele de PP-1, testat cu succes în 1954. Translator PP-2 (1955, al patrulea în lume). translator) era deja în optimizare și conținea propriul încărcător și depanator, o bibliotecă de proceduri standard, iar translatorul PP pentru computerul Strela-4 conținea deja un linker de module. Cu toate acestea, utilizarea pe scară largă a limbajelor de nivel înalt a început odată cu apariția Fortran și crearea unui compilator pentru acest limbaj (1957).

Limbajele de nivel înalt se străduiesc nu numai să facă problemele complexe de programare mai ușor de rezolvat, ci și să facă software-ul mai ușor de portat. Utilizarea unei varietăți de traducători și interpreți asigură că programele scrise în limbi de nivel înalt comunică cu diferite sisteme de operare și hardware, în timp ce codul lor sursă rămâne în mod ideal neschimbat.

Acest tip de izolare a limbilor de nivel înalt de implementarea hardware a computerului, pe lângă multe avantaje, are și dezavantaje. În special, nu vă permite să creați instrucțiuni simple și precise pentru echipamentul utilizat. Programele scrise în limbaje de nivel înalt sunt mai ușor de înțeles de către programator, dar sunt mai puțin eficiente decât omologii lor create folosind limbaje de nivel scăzut. Una dintre consecințele acestui lucru a fost adăugarea suportului pentru unul sau altul limbaj de nivel scăzut (limbaj de asamblare) la o serie de limbaje de programare profesionale moderne de nivel înalt.

Exemple: C, C++, C#, Java, Python, PHP, Ruby, Perl, Pascal, Delphi, Lisp. Limbile de nivel înalt se caracterizează prin capacitatea de a lucra cu structuri complexe de date. Cele mai multe dintre ele au suport integrat pentru tipurile de șiruri, obiecte, operațiuni I/O de fișiere etc. Un dezavantaj al limbajelor de nivel înalt este dimensiunea mai mare a programelor în comparație cu programele dintr-un limbaj de nivel scăzut. Prin urmare, limbajele de nivel înalt sunt utilizate în principal pentru dezvoltarea de software pentru computere și dispozitive care au o cantitate mare de memorie. Și diferite subtipuri de asamblare sunt folosite pentru programarea altor dispozitive unde dimensiunea programului este critică.

Limbile imperative se bazează pe mai multe idei importante, inclusiv reprezentarea acțiunilor ca formule matematice, conceptul de tip de date și teorema transformării structurale.

Un program într-un limbaj imperativ este construit din funcții (subrutine). Programele în limbaj de asamblare pot consta, de asemenea, din subrutine și acest lucru nu este nimic nou, dar limbajele de nivel înalt vă permit să nu vă gândiți la probleme precum organizarea apelurilor, transmiterea datelor sursă și returnarea rezultatelor. Descrierea unei funcții constă dintr-un nume, o listă de parametri (date inițiale), tipul de rezultat și acțiunile care conduc la obținerea acestui rezultat. Una dintre funcțiile programului este cea principală, execuția sa este munca programului.

Un exemplu simplu este o funcție care calculează sinusul unui număr. Poate fi numit sin, datele sale de intrare sunt formate dintr-un număr real, rezultatul este și un număr real, obținut prin însumarea unui segment dintr-o serie infinită cunoscută (sau executând comanda fsin a unui coprocesor matematic).

Setul de acțiuni care pot fi efectuate în interiorul unei funcții este foarte limitat. Constă în evaluarea expresiilor formule, apelarea altor funcții (care nu este o acțiune separată - un apel de funcție este adesea inclus într-o expresie), atribuiri, ramuri (un grup de acțiuni care sunt efectuate numai dacă o condiție este adevărată) și bucle ( un grup de acțiuni care sunt efectuate în mod repetat, numărul de repetări depinde de o anumită condiție). Acțiunile pot fi imbricate unele în altele. Poate părea că setul de ramuri și bucle este prea mic, dar nu este așa. S-a dovedit că orice algoritm compus din blocuri funcționale (la nivel scăzut - comenzi aritmetice și comenzi de transfer de date), tranziții condiționate și necondiționate poate fi convertit într-un algoritm echivalent compus doar din blocuri structurale - blocuri funcționale, ramuri și bucle cu condiție. verificarea la final. Această afirmație a fost formulată în lucrarea de Corrado Bohm și Giuseppe Jacopini, „Diagrame de flux, mașini de turnare și limbaje cu doar două reguli de formare” (Comunicații ale ACM, Volumul 9 / Numărul 5 / Mai, 1965).

Dacă rezultatele intermediare trebuie stocate undeva pentru a efectua acțiunile necesare, în interiorul funcției sunt plasate declarații speciale care conțin nume de variabile și eventual alte informații. Adresele celulelor RAM le vor fi atribuite automat. În unele limbi, funcțiile pot conține și definiții constante și tip. În limbajele de tip Pascal, o funcție este ca un program și poate include definiții nu numai ale constantelor, tipurilor și variabilelor, ci și ale altor funcții.

O declarație de date este o listă de obiecte numite. Aceste obiecte se numesc variabile. Într-un număr de limbi, trebuie specificat tipul unei variabile, care determină cantitatea de memorie necesară pentru plasarea acesteia și setul de operațiuni la care poate participa. Dar nu este neapărat cazul, există limbi în care tipul unei variabile nu este specificat și se poate schimba în timpul execuției programului.

De obicei, limbajele de programare oferă un set destul de limitat de tipuri de variabile predefinite și instrumente pentru crearea de noi tipuri. Unele dintre următoarele tipuri sunt predefinite:

    numere naturale și întregi de diferite dimensiuni;

    numere reale;

    simboluri - litere, cifre, semne aritmetice etc.;

    șiruri de caractere;

    valori booleene;

    indicatoare

Acțiunile asupra datelor pot fi efectuate folosind funcții și operatori.

În limbajul C, de exemplu, simbolurile, șirurile și valorile booleene nu sunt definite. Tipul său char este de fapt un număr întreg scurt și permite operații aritmetice.

Noile tipuri se formează prin combinarea într-un singur întreg mai multor elemente de același tip (o matrice, fiecare element are un număr de serie) sau elemente de diferite tipuri (o structură, fiecare element are propriul nume). De exemplu, numerele complexe nu sunt definite în majoritatea limbilor, dar pot fi definite:

În unele limbi (de exemplu, C++), operatori pot fi definiți și pentru tipurile create, ceea ce vă permite să utilizați variabile de aceste tipuri în același mod ca variabilele de tipuri predefinite.

Există și alte modalități de a crea noi tipuri. De exemplu, în Pascal este posibil să creați:

    tipuri de intervale (prin specificarea unui interval de valori);

    tipuri de enumerare (prin enumerarea valorilor posibile);

    tipuri de set

Variabilele tipurilor de set pot fi folosite pentru a stoca informații despre un set de proprietăți ale oricărui obiect. Ceva similar se poate face folosind variabile de tip întreg, ai căror biți setati indică prezența proprietăților corespunzătoare. Aparent, folosirea seturilor este mai rezistentă la erorile programatorului.

  • Serghei Savenkov

    un fel de recenzie „scurtă”... de parcă ne-am grăbi pe undeva