Programavimo kalba
Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
Programavimo kalba – dirbtinė kalba, skirta aprašyti aparato (ypač kompiuterio) funkcionavimą.
Programavimo kalbos aprašymas susideda iš sintaksinių bei semantinių taisyklių.
Turinys |
[taisyti] Tikslas
Programavimo kalbos sukurtos tam, kad programuotojai galėtų žymiai paprasčiau rašyti programas, nei jie tai darytų programuodami mašinos kodu ar žemo lygio kalbomis (pvz., Asembleriu). Viena iš svarbiausių programavimo kalbos paskirčių -- ne tik programinio kodo užrašymo paprastumas, bet ir jo perskaitymo ir perpratimo paprastumas. Tai svarbu dirbant tiek komandoje, tiek individualiai.
[taisyti] Istorija
Kai tik atsirado pirmi (primityvūs) kompiuteriai, jiems pradėtos rašyti programos kalbomis, atitinkančiomis asemblerio kalbą.
- 1945 m. sukurta pirmoji žinoma kalba Plankalkül.
- XX a. 6-ajame dešimtmetyje susidarius palankioms sąlygoms, sukurta nemažai kalbų, tarp jų Fortran (1954), Algol 58 (1958), Lisp (1959).
- Vėliau sukurta daug įvairių tipų ir paskirčių kalbų; žinomesnės iš jų: Cobol (1960), Simula (1962), BASIC (1964), Logo (1967), Pascal (1971), C (1972), C++ (1983), Perl (1987), Java (1995), PHP (1997), C# (2000)
- Nuo XX a. 6-ojo dešimtmečio vidurio dauguma kalbų kurtos ne iš naujo, o tobulinant ir jungiant jau sukurtas kalbas.
[taisyti] Skirstymas
Čia išvardinti keli programavimo kalbų klasifikavimo būdai.
[taisyti] Pagal vykdymo tipą
Vykdymo tipas – būdas, kaip programos kodas paverčiamas kompiuteriui suprantamomis instrukcijomis ir vykdomas.
- Teorinės kalbos - aprašytos, tačiau nevykdomos.
- Kompiliuojamos kalbos - kompiliatorius iš pradinio teksto sukuria vykdomą programą. (pvz., C, Pascal)
- Interpretuojamos kalbos - jų išeities tekstas analizuojamas vykdant. (pvz., BASIC, PHP, Perl, Python, Ruby)
- Mišrios kalbos – naudojamas ir kompiliatorius, ir interpretatorius (pvz., Java; taip pat žr. JIT)
[taisyti] Pagal abstrakcijos lygį
Kuo kalba abstraktesnė, tuo ji yra aukštesnio lygio.
- Mašininis kodas
- Žemo lygio kalbos (pvz., Asembleris)
- Sisteminės kalbos (pvz., C)
- Objektinės kalbos (pvz., SmallTalk)
[taisyti] Pagal vyraujančia paradigmą
- Funkcinės kalbos (pvz., Lisp, ML)
- Procedūrinės kalbos (pvz., C, Pascal)
- Objektinės kalbos (pvz., SmallTalk, Java, Ruby)
- Loginės kalbos (pvz., Prolog)
- Daugaparadigmės kalbos (pvz., , Python (nors dažniausiai naudojama objektinė paradigma)
[taisyti] Pagal sudėtingumą
- BASIC
- labai paprastus algoritmus turi būti suprogramuoti labai paprasta, sudėtingiems algoritmams skirtos kitos kalbos.
- C, C++
- kalba tokia sudėtinga, kad bet kokiam uždaviniui būtų galima sukurti įmanomai mažesnės apimties programą.
- Pascal, Python
- tekstas skirtas ne tik kompiuteriui, bet ir žmogui, viskas turi būti kuo aiškiau, (Pascal: griežtos duomenų tipų taisyklės mažina klaidų tikimybę).
- Perl, PHP, Python
- paprasti algoritmai užrašomi paprastai, sudėtingus algoritmus užrašyti įmanoma.
[taisyti] Pagal paskirtį
Kai kurios kalbos dažniau sutinkamos tam tikrose, joms būdingose, nišose. Vienos kalbos buvo sukurtos specialiai tam tikros srities problemoms spręsti, kitos išpopuliarėjo savo srityje dėl istorinių aplinkybių.
Keletas išskirtinių sričių su joms būdingomis kalbomis:
- Sisteminis programavimas (operacinių sistemų, kompiliatorių) – C, C++;
- Interneto svetainių programavimas – PHP, Perl, Python, Adobe ColdFusion;
- Matematiniai skaičiavimai – PROLOG, Fortran, MATLAB, MAPLE;
- Mokymas – Pascal, Logo.
[taisyti] Nuorodos
- Programavimo kalbos (angl.) Apžvalgos ir palyginmai
- 99 Buteliai alaus (angl.) Daugelio programavimo kalbų pavyzdžių kolekcija
- sourceforge.net naudojamų kalbų populiarumo palyginimas
- TIOBE programavimo kalbų populiarumo indeksas