Programavimo kalbos

Programavimo kalbos

Pirmoji plačiai paplitusi programavimo kalba – apie 1953 m. sukurta Fortrano kalba. Tuo metu kompiuteriai turėjo mažą atmintį, buvo palyginti lėti, todėl pagrindinis programuotojų uždavinys buvo kuo geriau išnaudoti kompiuterių techninę įrangą. Tai atsispindėjo ir kalbos struktūroje, todėl programos šia kalba nebuvo vaizdžios. Fortrano kalba turėjo nemažai ir teigiamų bruožų. Dalis joje realizuotų idėjų ir programų aprašymo elementų buvo perimta daugumoje vėliau sukurtų programavimo kalbų. Pavyzdžiui, Fortrano kalboje pirmą kartą buvo įvestos kintamųjų, išraiškų, masyvų, operatorių sąvokos, sąlyginiai ir ciklo operatoriai. Transliatoriuose buvo numatyta galimybė skaidyti programą į atskirus modulius, šiuos modulius nepriklausomai parengti ir po to vėl sujungti į vieną programą. Taip pat buvo atkreiptas dėmesys į taikomųjų programų ryšio su išorine aplinka problemos.Kadangi Fortrano kalba yra sukurta daug efektyvių inžinierinių ir mokslinių skaičiavimo programų, ji naudojama ir dabar. Naujos šios kalbos versijos ir programavimo aplinkos nuolat papildomos efektyviomis kitose kalbose parengtomis ir išvystytomis programų rengimo priemonėmis.Sukūrus mažuosius kompiuterius ir išsiplėtus jų vartotojų ratui, prireikė tokių programavimo kalbų, kuriomis lengvai galėtų naudotis neturintys išsamių žinių apie kompiuterio įrangą ir technologijas vartotojai. Taip Fortrano kalbos pagrindu buvo sukurta Basic kalba, kurios pavadinimas sudarytas iš pirmųjų anglų kalbos žodžių ,,Beginners All – purposes Symbolic Instruction Code”. Pirmosios šios kalbos versijos buvo naudojamos ne tik programavimui, bet atliko ir primityvių OS funkcijas. Basic kalba gerai tinka tada, kai pageidaujama greitai parengti nesudėtingų skaičiavimo uždavinių programas, kai nesvarbus parengtų programų darbo greitis ir kitos eksploatacinės savybės.Augant asmeninių kompiuterių galingumui, Basic kalbos populiarumas nuolat blėso, kol ją atgaivino naujos firmos Micrisoft Visual Basic kalbos versijos, padedančios lengvai įsisavinti programavimo Windows aplinkoje pagrindus. Firma Microsoft Visual Basic kalbą taip pat vartoja makrokomandų ir kitų programuojamą elementų kūrimui savo populiariose taikomosiose programose: MS Word, MS Excel, MS Access ir kitose.

Septintame dešimtmetyje, apibendrinus pirmųjų programavimo kalbų vartojimo paskirtį, pradėtos kurti naujos kalbos, kuriose daugiau atsižvelgiama ne į kompiuterio galimybes, o į programuotojų poreikius. Taip buvo sukurta kalba Algol-60 ir jos vėlesni variantai, kurie turėjo daugiau teorinę reikšmę, nors kai kuriose šalyse ši kalba buvo plačiai vartojama ir praktiniams tikslams. Algolo kalboje pirmą kartą buvo įvestas privalomas tiesioginis kintamųjų deklaravimas, griežta blokinė programos struktūra, dinaminiai masyvai, rekursinių procesų aprašymo priemonės.Pirmosiose programavimo kalbose nebuvo priemonių sudėtingoms duomenų struktūroms sudaryti, o tai labai svarbu sprendžiant ekonominius uždavinius. Todėl 1961 m. buvo sukurta ekonominiams uždaviniams specializuota Cobol kalba. Joje pagrindinis dėmesys sutelkiamas į sudėtingas hierarchines duomenų struktūras ir programos ryšio su išorine aplinka problemas. Dar ir dabar angliškai kalbančiose šalyse Cobol kalba gana plačiai vartojama ekonominiams uždaviniams aprašyti. Kitose šalyse dėl didelio angliško bazinių žodžių skaičiaus Cobol kalba plačiai nepaplito.Ciūricho aukštosios technikos mokyklos profesorius N. Virtas 1969-1971 m. sukūrė puikiai pritaikytą programavimo mokymui Pascal kalbą. Joje aiškiai ir natūraliai atsispindi įvairios programavimo sąvokos, todėl programos lengvai skaitomos ir analizuojamos. Kalbos dariniai gerai atitinka kompiuterių technines galimybes, o tai leidžia paruošti efektyvias programas, palengvina kalbos transliatorių sudarymą. Pascal kalbos pagrindu sukurta dar viena populiari mokymui skirta kalba Modula, kuri pritaikyta abstrakčioms duomenų struktūroms konstruoti.Pagrindinė programavimo kalbų vystymosi tendencija – suteikti vartotojui tokias uždavinių aprašymo priemones, kurios kuo mažiau priklausytų nuo naudojamų kompiuterių techninės įrangos savybių. Tačiau vartotojui dažnai iškyla ir atvirkščias uždavinys – turėti galimybę tiesiogiai valdyti atskirus kompiuterio įrenginius. Tai būna tada, kai tenka sudaryti prie kompiuterio prijungtų nestandartinių įtaisų valdymo programas (tvarkykles), išplėsti kompiuterį aptarnaujančios OS paslaugas. Tokiams tikslams skirta Assembler kalba. Ji vadinama žemo programavimo automatizavimo lygio kalba, nes joje atsispindi nemažai kompiuterio architektūros savybių. Tarpinę padėtį tarp universalių aukšto programavimo automatizavimo lygio kalbų ir Assembler kalbos užima C kalba. Tai galinga profesionalams skirta programavimo kalba, kuria parengiami efektyvūs mašininiai kodai. Tačiau, norint gerai išnaudoti šios kalbos privalumus, reikia gana išsamių žinių apie kompiuterių darbo organizavimo principus.
Pastaruoju metu labai sparčiai paplito ir išpopuliarėjo 1995 m. korporacijoje Sun Microsystems sukurta objektinio programavimo kalba Java, kuri perėmė geriausias C++, Objective C, SmallTalk, Eifell priemones. Java taip pat yra papildyta naujomis duomenų srautų apdorojimo ir darbo kompiuterių tinkluose programavimo priemonėmis, turi turtingą pagalbinių bibliotekų rinkinį, efektyvias programavimo aplinkas. Be universalių plačios paskirties kalbų vartojama daugybė siaurai specializuotų kalbų, kurios pritaikytos siauros srities praktiniams uždaviniams arba naujoms programavimo idėjoms iliustruoti. Tokios yra dirbtinio intelekto sistemoms aprašyti skirta Prolog kalba ir natūraliai kalbai artimas konstrukcijas vartojanti Smalltalk kalba. Assembler. Programa šia kalba, galima sakyti, rašoma mašininėmis komandomis, tik dvejetainiai kodai keičiami sutartinėmis santrumpomis, kurios vadinamos komandų mnemonika. Assembler kalba programos rašomos tada, kai labai svarbu laimėti greičio, taupyti atmintį, kai norima užprogramuoti kokį nors specialų triuką, susijusį su kompiuterio aparatūra, išoriniais įtaisais. Dažnai nedidelės Assembler paprogramės naudojamos kitomis kalbomis parašytuose programose.Basic. Taip jau susiklostė, kad viena iš populiariausių kalbų, skirtų asmeniniams kompiuteriams, tapo Basic. Tai bene daugiausiai atmainų ir versijų turinti kalba. Vos ne kiekvieno tipo kompiuteriui reikia skirtingo Basic. Transliatoriai, verčiantys Basic kalbą į kompiuterinius kodus yra dviejų tipų: interpretatoriai ir kompiliatoriai. Paprasčiausiomis versijomis parašytos programos dažniausiai interpretuojamos, nes neilgos, turi nedaug operatorių, paprastos jų sakinių užrašymo taisyklės. Programą nesunku derinti, taisyti, nes interpretatorius padeda surasti klaidas. Tačiau programavimo ir skaičiavimo procesas lėtas. Kuo paprastesnė Basic versija, tuo sunkiau parašyti ilgas, sudėtingas programas, efektyviau išnaodoti kompiuterio galimybes. Naujausios Basic versijos gana panašios į kitas aukštesnio lygio programavimo kalbas, joms naudojami kompiliatoriai ir programavimo terpės, jos tinka profesionaliems programuotojams. Pascal. Manoma, kad tai tinkamiausia programavimui mokyti kalba. Tam ji ir buvo sukurta. Vėliau pasirodė, kad tai yra puiki ne tik mokymo kalba.
C. Ši kalba buvo sukurta sisteminėms programoms rašyti, t. y. Tokioms programoms, kurios aptarnauja visą kompiuterio “ūkį”, ir tinka daugeliui vartotojų. C kalba buvo pagrindinis instrumentas, padėjęs sukurti operacinę sistemą MS-DOS. Šia kalba efektyviau nei Pascal galima panaudoti kompiuterio aparatūrą, todėl kompiliuotos programos dažnai būna kompaktiškesnės ir greičiau vykdomos, negu gautos Pascal kompiliatorium. Kita vertus, Pascal konstrukcijos sakiniai yra aiškesni, paprastesni negu C kalbos. Modula-2. Tai Pascal autoriaus N. Virto pasiūlyta kalba. Ji paveldėjo geriausius Pascal ir C kalbų bruožus. Joje akcentuojamos programinių modulių sukūrimo ir ryšių tarp jų palaikymo priemonės. Logo. Ši kalba sukurta jaunesnio amžiaus vaikams mokyti. Labai paprastais, vaikui suprantamais sakiniais galima valdyti ekranu judantį ir linijas brėžiantį žymeklį, kuris dažnai vadinamas vėžliuku. Valdymo sakinius galima jungti į grupes, o paskui jas iškviesti su nuorodomis. Tuo Logo panaši į tokias solidžias programavimo kalbas kaip C ir Pascal, pratina prie struktūrinio programavimo.Lisp. Manoma, kad ši kalba ideali “dirbtinio intelekto” kūrėjams. Dabar Lisp kalba sėkmingai rašomos programos robotams valdyti, tekstams analizuoti ir kt. Lisp kalba patogu kurti dinaminius objektus, t. y. Duomenų masyvus ir programos dalis, kurios atsiranda atmintyje tik tada, kai reikia, o panaikinus objektą dingsta. Šia kalba rašomos prisitaikančios ir save keičiančios programos. Prolog. Kalboje pritaikytos matematinės logikos sąvokos ir sprendimo metodai. Nuo klasikinio programavimo Prolog skiriasi pačia uždavinio sprendimo idėja ir metodika. Ada. Kalba buvo sumanyta kaip universalus instrumentas didelėms programinėms sistemoms kūrti, ypač realaus laiko uždaviniams spręsti. Deja, kol kas Ada nėra populiari kalba, gal dėl sudėtingumo, o gal dėl Pascal ir C kalbų konkurencijos.

Programavimo kalbų kartos

Programavimo kalbos suskirstytos į kartas: pirmoji, antroji, trečioji, ketvirtoji, penktoji kartos.

Pirmoji ir antroji kartos. Programų rašymui galima naudoti pirmos kartos kalbą – mašininę kalbą. Mašininėje kalboje instrukcijos ir duomenys vaizduojami binariniais skaitmenimis. Mašininės kalbos priklauso nuo kompiuterio tipo.Assembly – antroji karta . Assembly vietoje ilgų binarinių skaitmenų kombinacijų naudoja raidinius simbolius instrukcijų sutrumpinimui. Nors Assemly kalba buvo ne kartą patobulinta, bet turi daug apribojimų. Jas naudoja tik kompiuterių specialistai, susipažinę su kompiuteriu, kuriam rašoma programa, architektūra. Kadangi Assembly kalba taip pat priklauso nuo kompiuterio tipo, nėra lengva ja parašytas programas paleisti kito tipo kompiuteriuose – reikalingas pervedimas į mašininę kalbą. Šios kalbos tranliatorius vadinamas Assembler.Pirmos ir antros kalbos programavimo kalbos vadinamos žemo lygmens programavimo kalbos.Trečioji karta. Trečios kartos kalbos vadinamos aukšto lygmens programavimo kalbomis. Aukšto lygmens programavimo kalbos nepriklauso nuo kompiuterio tipo. Aukšto lygmens programavimo kalbos turi šiuos pagrindinius privalumus:• Palengvina programuotojo darbą lyginant su programų rašymu mašinine ir Assembly kalbomis;• Programos tinka įvairių tipų kompiuterių;• Leidžia programuotojui daugiau laiko skirti vartotojo interesų tenkinimui, kad programa taptų optimalesnė ir patrauklesnė;Trečios kartos programavimo kalbos skirstomos į:1. tradicines (traditional);2. objektiniai orientuotos – OOPK;Tradicinės programavimo kalbos skirstomos:• mokslui;• bizniui;• daugiatikslės;Mokslui skirtos kalbos:• ALGOL – ALGOrithm Languege,• FORTAN – FORmula TRANslator,• APL- A Programming Language.Verslui:• COBOL – Common Business Oriented Language,• RPG – Report Program GeneratorDaugiatikslės:• PL/1 – Programming Language,• BASIC – Beginners All – purpose Symbolic Intuction Code,• PASCAL – pavadinta 17 – to šimtmečio prancūzų matematiko Blaise Pascal garbei.ALGOL. 1956 –1960 m. sukurta programavimo kalba, kuri matematinius algoritmus pateikia suprantama žmonėms bei kompiuteriams tarptautine kalba.COLBOL. 1960m. sukūrė JAV gynybos departamentas. COLBOL kalbos komandos ir sintaksė panaši į anglų kalbos, todėl šia kalba parašytą programą daug lengviau skaityti ir suprasti.PASCAL. Šią kalbą 1970m. sujkūrė šveicarų mokslininkas Niclaus Wirth. Tinka ir didelėms, ir mažoms kompiuterinėms sistemoms. Ši kalba skirta mokytis universitetuose ir mokyklose.
Ketvirtoji kalba. Tai aukšto lygmens programavimo kalbos. Svarbiausia ketvirtos kartos savybė – neprocedūrinės kalbos. Taip vadinamos todėl, kad leidžia programuotojui ir vartotojui tiksliai nusakyti, ką kompiuteriui daryti, nenurodant kaip tai daryti.Ketvirtos kartos kalbos klasifikuojamos taip:• užklausų;• ataskaitų;• taikymų;• sprendimų palaikymo ir finansinio planavimo kalbos;• asmeninių kompiuterių taikymas skirtos programos;Penktoji karta. Tai natūralios kalbos – naujas žingsnis programavimo kalbų vystyme. Natūralios kalbos – labai aukšto lygmens kalbos. Jų tekstas labai panašus į žmogaus kalbą. Šios kalbos projektuojamos taip, kad kompiuteris taptų “išradingesniu” – modeliuotų žmogaus mokymosi procesą ir adaptuotųsi. Kuriant natūralias kalbas reikia žinoti ir panaudoti sudėtingas sistemas:• dirbtinio intelekto;• ekspertines;• fazi logikos• neuroninių tinklų;

Įvadas

Programavimą komplikuoja tai, kad kompiuterių valdomos programos turi būti parengiamos jo vidine (mašinine) kalba, kurioje visi nurodymai aprašomi skaitmeniniais kodais. Tačiau žmogui šie kodai yra nepatogūs ir sunkiai įsimenami. Be to, vidine kompiuterio kalba turi būti aprašomas ne pats sprendžiamas uždavinys, o jo sprendimui vartojamų kompiuterio įrenginių valdymas. Todėl programavimą stengiamasi palengvinti, automatizuoti, pavedant atskirus programų rengimo etapus pačiam kompiuteriui. Programos iš pradžių rašomos specialiomis programavimo kalbomis, kurios yra priimtos žmogui ir tinka automatiniam vertimui į mašinos vidaus kalbą. Po to šie tekstai įvedami į kompiuterio atmintį, kur juos apdoroja specialios programos – transliatoriai, verčiantys programų tekstą į vidinę kompiuterio kalbą.Įvedant programų tekstus į kompiuterio atmintį, organizuojant jų vertimą (transliavimą) į vidinę kalbą, ieškant sudarytose programose klaidų, jas taisant ir atliekant kitas pagalbines operacijas, vartojamos ištisos programų sistemos, kurios vadinamos programavimo kalbomis. Kiekviena tokia programavimo aplinka pritaikoma konkrečiai programavimo kalbai, operacinei sistemai ir programų rengimo technologijai.

Vietoj pabaigos

Prieš keletą dešimtmečių skirtumas tarp algoritmavimo ir programavimo kalbų buvo kur kas ryškesnis nei dabar.Mat tada kompiuterių galimybės buvo mažesnės ,ir užrašant programas tekdavo taikytis prie skurdžios simbolikos,elementarių komandų. Tokie žymenys buvo nepatogūs,todėl žmogus pirmiausia rašydavo algoritmą jam patogiu pavidalu,o vėliau jį pakeisdavo kompiuteriui priimtinu – programa.Taip žmogus lengvindamas sau darbą kūrė programavimo kalbas kurias ir šiandien mes naudojame.

Turinys

1. Įvadas2. Programavimo kalbos3. Programavimo kalbų kartos4. Vietoj pabaigos5. Naudota literatūra6. Turinys

Naudota literatūra :

1. V.Dagienė ,G.Grigas – Informatika 10-12 kl.2. A.Vidžiūnas , J.Blonskis – Turbo Paskalis 7.0 Vartotojo vadovas.3. G.Dzemyda , J.Stankevičius , V.Šaltenis – Programavimo Paskalis , Turbo P Paskalis ir Delphi.4. A.Vidžiūnas – Delphi 6 . Programavimas ir vaizdiniai komponentai