Recent, mai multe și mai des diverse resurse on-line pentru a aranja subiect holivary: dacă este sau nu HTML limbaj de programare. Ca de obicei, argumentele pentru ambele puncte de vedere ca rezultat o cantitate considerabilă, așa că am decis să mă pun la punct în această dispută inutilă.
Definiția limbaj de programare.
limbaj de programare - sistem formal semn. pentru înregistrarea programelor de calculator. Limbajul de programare definește un set de reguli lexicale, sintactice și semantice care definesc apariția programului și a acțiunilor. care va efectua interpret (PC), sub controlul său.
Așa spune Wikipedia. și cele mai multe dintre celelalte resurse sau complet folosește această definiție, fie că stabilește în mod intenționat, fără pierderea sensului. Să ne gândim mai detaliat componentele definiției PL:
Mai simplu termeni se poate afirma, după cum urmează:
Limbajul de programare - o multitudine de predeterminate, uniform și executor clar (citește: interpret / compilator / calculator / programator) instrucțiuni destinate înregistrării în mod succesiv, în scopul executării de către un dispozitiv care este parte a calculatorului. De asemenea, limbajul de programare trebuie să aibă un număr de caracteristici: instrucțiunile trebuie să fie limitate ca număr, și toate acestea trebuie să știe; Instrucțiunile trebuie să fie construite într-un anumit mod de a produce anumite rezultate, și toată lumea ar trebui să știe despre ea; trebuie să existe reguli pentru instrucțiuni de scris și toți ar trebui să fie conștienți de ele; fiecare structură de limbă trebuie să se refere în mod clar ceea ce este scris, astfel încât marca solicitată.
Acest lucru este atât de greoaie și de lucru urât, dar fără cuvinte complicate. Vom reveni la această definiție un pic mai târziu.
Tipuri de limbaje de programare.
Adesea folosit ca separarea de nivel scăzut și un nivel înalt de limbi. Aceste specii sunt diferite „grosimea stratului de“ între un procesor și un programator. În cuvinte simple - în limbi de nivel scăzut, fiecare instrucțiune este un singur sau un număr mic de instrucțiuni procesor, și într-un limbaj de nivel înalt, fiecare instrucțiune este un set mare de instrucțiuni procesor.
O privire mai atentă la definirea diferitelor tipuri în funcție de Wikipedia:
- Programarea orientată spre Aspect (AOP) - programare paradigmă bazată pe ideea separării de funcționalitate pentru a îmbunătăți divizarea programului în module.
- metodologia de dezvoltare de software, care se bazează pe o idee a programului ca o structură ierarhică a blocurilor - structurate de programare. Se propune în '70 ai secolului XX E. Dijkstra, dezvoltat și completat de N. Wirth.
- Programarea procedurală - programare în limbaje imperative în care situațiile sunt executate secvențial, puteți colecta în subrutina, care este mai mare de unități integrale de cod, folosind mecanismele limbii [1].
- Programarea logică - paradigmă de programare bazată pe demonstrarea teoremei automate, și o secțiune de matematică discretă, care studiază principiile de inferență logice pe baza informațiilor furnizate fapte și reguli de inferență. Programarea logică se bazează pe teoria logicii matematice folosind principii matematice rezoluții.
- programarea orientată spre obiecte (OOP) - o paradigmă de programare în care osnovnymikontseptsiyami sunt conceptele de obiecte și clase. În cazul limbilor cu prototipuri în loc de clase folosind obiecte prototip.
- Programarea funcțională - secțiunea matematică discretă și paradigmă de programare în care protsessvychisleniya tratate ca valori de calcul ale funcțiilor, în sensul matematic al acesteia din urmă (spre deosebire de funcții ca subrutină într-o programare procedurală).
- Compararea limbaje de programare multi-paradigmă - de regulă, un limbaj de programare, care a fost special conceput ca o programare instrumentmultiparadigmalnogo, adică posibilități picturale care inițial trebuia să moștenească din mai multe limbi, de multe ori fără legătură.
- limbaj de programare Ezoteric - un limbaj de programare conceput pentru a studia limitele posibile de proiectare limbaj de programare, pentru a dovedi potential realizabile unele idei (așa-numita „dovada conceptului“, dovada în limba engleză a conceptului.), Ca o operă de artă software-ului [en], sau ca glume (umor calculator).
Abordarea Imperativ și declarativă
Toate limbajele de programare sunt împărțite în două grupe: declarative și imperative.
Programul imperativ limbaj de programare din punct de vedere matematic este soluția totală a problemei, cu alte cuvinte, răspunsul la întrebarea „cum se face?“. Această secvență de comenzi care trebuie efectuate de un interpret.
Programul este un limbaj de programare declarativ este o combinație a unei formalizate, ca parte a sarcinii limbaj de programare și toate cele necesare pentru teoria sa decizie, pur și simplu pune, răspunsul la întrebarea „ce să fac?“. flux de lucru specific execută compilator sau interpret este de multe ori - un program care efectuează în timp real, fără cod de program transformându-l în cod mașină.
completitudinea Turing.
Teoria calculabilitate interpret (element de calcul multiple) este un Turing-complete. în cazul în care este posibil să se pună în aplicare orice funcție calculabil. Cu alte cuvinte, pentru orice funcție calculabilă există calculează elementul său (de exemplu, o mașină Turing), sau executor de program, și toate funcțiile, calcularea unei multitudini de calculatoare sunt funcții calculabile (eventual cu o anumită intrare de codificare și date de ieșire).
Numele vine de la Alan Turing. care a inventat computerul abstract - mașina Turing și a dat definiția unui set de funcții de calcul de mașini Turing.
Cu alte cuvinte, limba este Turing complet. în cazul în care orice funcție calculabil de care aveți nevoie, pot fi scrise în această limbă și pentru a rezolva performer acesteia.
Nu sunt complet limbi Turing există, de asemenea, dar pentru că acestea sunt create în primul rând în scopuri academice, acestea nu sunt bine cunoscute și nu este utilizat pe scară largă.
Noi răspundem la câteva întrebări:
Da. Are proprietăți inerente în limbaj.