Programavimo kalbų istorija  

Programavimo kalbų klegesys  

Nuo pat Č. Babidžo diferencialinės mašinos išradimo 1822 m. kompiuteriams reikėjo priemonių atliktinų veiksmų nurodymui. Pradžioje vykdymo užduotis buvo galima pateikti pakeičiant dantračių sujungimus. Tad pirmoji programavimo kalbos forma buvo fizinis judėjimas. JAV sukūrus ENIAC (1942) ją pakeitė elektriniai signalai – programavimas buvo atliekamas perjungiant perjungiklius ar „pervirinant“ visą schemą.

1945 m. Dž. fon Neimanas išvystė dvi svarbias koncepcijas, tiesiogiai paveikusias programavimo kalbas: a) aparatūra privalo būti paprasta ir kad jos nereiktų modifikuoti naujai programai; ją valdyti turėtų instrukcijas, kurias perprogramuoti daug paprasčiau; b) sąlyginis valdymo perdavimas; vedanti prie paprogramių, nedidelių kodo fragmentų, kuriems galima atiduoti valdymą bet kuriuo metu, o ne vien vykdyti nuosekliai.

1949 m. pasirodė “Short Code” kalba - joje programuotojas turėjo nurodyti 0-kus ir 1-kus. O 1951 m. Grace Hopper parašė pirmąjį kompiliatorių A-0, programą, tekstines instrukcijas verčiančią į 0 ir 1. Ir galiausiai 1957 m. dienos šviesą išvydo FORTRAN, dabartinių kalbų pirmtakė, sukurta IBM ir skirta moksliniams skaičiavimams. Joje pasirodė duomenų tipai (sveikieji, slankaus kablelio ir dvigubo tikslumo), loginiai kintamieji (TRUE, FALSE).

FORTRAN puikiai tiko kramsnoti skaičiams, bet ne taip gerai tiko duomenų įvedimui ir išvedimui valdyti, ko labai reikėjo verslui. Ir taip gimė COBOL, kuriame duomenų tipai tebuvo skaičiai ir teksto eilutės. Tačiau jis leido juos grupuoti į masyvus ir įrašus, tad duomenis organizuoti buvo galima geriau. Be to jo sintaksė buvo artimą anglų kalbai, kas leido nesunkiai ją išmokti net verslo atstovams.

1958 m. John McCarthy sukūrė LISP kalbą, skirti “dirbtinio proto” (AI) tyrinėjimams. Ji labai išsiskyrė savo sintakse (Cambridge Polish). Pirma, joje praktiškai tebuvo vienas duomenų tipas – sąrašas, apskliausta esybių seka. LISP programos rašomas kaip sąrašų aibė, tad jos turi unikalią galimybę save modifikuoti ir tokiu būdu augti virš savęs. Kalba išlikusi iki šiol dėl savo labai specializuotos ir abstrakčios prigimties.

Europos ir Amerikos kompiuterininkų komiteto 1858 m. sukurta Algol kalba buvo skirta moksliniams skaičiavimams ir buvo pirmąja kalba su formalia gramatika (BNF, Backus-Naar Form). Ir nors įtraukė naujų koncepcijų (pvz., rekursiją), ją naudoti buvo sunku. Tai atvėrė kelią mažesnėms ir kompaktiškesnėms kalboms, tokioms kaip Pascal, 1968 m. pradėtą N. Wirth‘o kaip tinkamą priemonę mokymui. Pradžioje nesitikėta, kad ji plačiai paplis, nes dėmesys buvo sutelktas į programų redagavimo ir derinimo (debug) priemones bei ankstyvųjų mikroprocesorinių kompiuterių, naudotų mokymo įstaigose, palaikymui. Be to Pascal išvystė nuorodos tipą bei įtraukė case sąlyginį sakinį. Taip pat Pascal skatino dinaminių kintamųjų, sukuriamų vykdant programą, naudojimą (new, dispose). Visa tai padėjo pritraukti vartotojų, tačiau jis neturėjo dinaminių masyvų.

Vėliau tuo tikslu Wirth‘as sukūrė Modula-2, tačiau tuo metu sparčiai populiarėjo C, 1972 m. sukurta D. Ritchie. C perėmė visas Pascal savybes ir buvo skirta būti greita ir galinga kalba – prastesnio skaitomumo kaina. Tačiau kadangi ji pašalino daugelį Pascal trūkumų, įgavo pranašumą. Be to C kurta naujajai Unix sistemai, tad ėjo su ranka rankon. Unix C kalbai leido panaudoti tokias pažangias galimybes kaip dinaminius kintamuosius, lygiagretų vykdymą, pertraukimų valdymą, proceso išsišakojimą ir stiprų žemo lygio įvedimą-išvedimą.

8-9 dešimtm. sandūroje atsirado objektinio programavimo metodas (OOP). Tai paskatino C kalbą išplėsti iki C++ (1983; po B. Stroustroup‘o išplėtimų). Ji paplito simuliacijose, pvz., žaidimuose.

Paskutinio 20 a. dešimtm. pradžioje arenoje pasirodė interaktyvioji TV. „Sun Microsystems“ nusprendė, kad jai reikia specialios portabilios kalbos – ir tokia tapo Java. 1994 m. jos kūrėjai dėmesį perkėlė į naudojimą Internete, kuris tapo „kietu dalykėliu“ nenusisekus interaktyviai TV. Kitais metais ji įtraukta į „Netscape“ naršyklę. Tačiau turėjusi būti „gera kalba“, tokia nebuvo. Jos didžiausias trūkumas buvo sparta, tačiau „Sun“ ją panaudojo kaip ginklą varžantis su „Microsoft“.

O Microsoft išplėtė 1964 m. J. Kemeny ir Th. Kurtz’o sukurtą Basic (kaip kalbą ne kompiuterių gykams) iki „Visual Basic“, kurio šerdimi tapo forma (arba langas), kuriame galima dėlioti komponentes (widgets) – meniu, piešinius, įrankių juostas ir kt. „Vidžetai“ turi savybes (pvz., spalvą, dydį) ir įvykius (pvz., paspaudimas ar dvigubas spragtelėjimas). Tad VB puikiai tiko vartotojo sąsajų kūrimui.

Perl dažnai vadinamas „Interneto lataku“, nes buvo plačiai naudojamas interneto sąsajoms arba skriptams konfigūracinių failų modifikacijai. Jį 1987 m. sukūrė L. Wall‘is, nes jo reikmėms „Unix“ sed ir awk buvo per silpni.

Programavimo kalbų vystymasis niekad nesustoja – kadangi vystosi kompiuterių galimybės ir jų panaudojimo sritys. Šiame straipsnelyje aprašytos pagrindinės tendencijos iki 2000 m. Naujas tendencijas planuojama apžvelgti vėliau.

Ruby on Rails
Didžiųjų duomenų mitas
Lyginant su gimtąja kalba
Anotacijos Java kalboje
Skriptai - ateities kalbos?
"JavaScript" pradžiamokslis
Džonas Bakas – FORTRAN tėvas
Java 8: Optional prieš null
Programavimas Unix aplinkoje
Programavimo kalbų klegesys
Lambda išraiškos – Java į naują lygį
Įvadas į Perl kalbą: Kas naudoja Perl?
Aukšto lygio programavimo kalbų evoliucija
AWK kalba - sena ir nuolat aktuali
Pirmasis „Java“ įskiepis Lietuvoje
Pitonas, kandantis sau uodegą
Technika: Nuo Paleolito laikų
Dygios JavaScript eilutės
Unix komandinės eilutė
C++: Nauja kalbos savybė
AdvancedHTML skyrius
Vartiklis