Procedūrinis programavimas – tai programavimas, atspindintis kompiuterio Neumann architektūros foną. Visos šia kalba parašytos programos yra tam tikra komandų seka, kuri nustato tam tikrą algoritmą tam tikram uždavinių rinkiniui išspręsti. Svarbiausia komanda yra priskyrimo operacija, skirta kompiuterio atminties turiniui nustatyti ir taisyti.
Kokia pagrindinė šios kalbos idėja?
Pagrindinė procedūrinių programavimo kalbų savybė yra kompiuterio atminties naudojimas informacijai saugoti. Programos veikimas sumažinamas iki nuolatinio ir pakaitinio skirtingų komandų vykdymo, siekiant transformuoti atminties turinį, pakeisti jos pradinę būseną ir pasiekti norimų rezultatų.
Kaip viskas prasidėjo
Procedūrinis programavimas prasidėjo sukūrus aukšto lygio kalbą, pavadintą Fortran. Jį šeštojo dešimtmečio pradžioje JAV sukūrė IBM. Pirmosios publikacijos apie jį pasirodė tik 1954 m. Mokslinėms ir techninėms užduotims atlikti buvo sukurta procedūriškai orientuota programavimo kalba Fortran. Pagrindiniai kalbos objektai yra skaitiniai kintamieji, realieji ir sveikieji skaičiai. Visos išraiškos pagrįstos keturiais pagrindiniais aritmetiniais skaičiavimais: eksponencija, santykio operacijomis, skliaustais, loginėmis manipuliacijomis AND, NOT, OR.
Pagrindiniai kalbos operatoriai yra išvestis, įvestis, perėjimas (sąlyginis, besąlyginis), iškvietimo paprogramės, kilpos, priskyrimas. Procesinis programavimas Fortran kalba labai ilgą laiką buvo populiariausias pasaulyje. Kalbos egzistavimo metu buvo sukaupta didžiulė duomenų bazė įvairių bibliotekų ir programų, kurios buvo parašytos specialiai Fortrane. Dabar vis dar vyksta naujo Fortran standarto įvedimo darbai. 2000 metais buvo sukurta Fortran F2k versija, kurios standartinė versija vadinasi HPF. Jis buvo sukurtas lygiagrečiams superkompiuteriams. Beje, PL-1 ir BASIC kalbos naudoja daug Fortran standartų.
Cobolo kalba
Cobol yra procedūrinio programavimo kalba. Tai programavimo kalba, skirta daugeliui informacijos apdorojimo problemų išspręsti. Jis aktyviai naudojamas sprendžiant įvairias vadybines, buh alterines ir ekonomines problemas. Cobol procedūrinis programavimas buvo sukurtas JAV 1958–1960 m. Pati programa, sukurta Cobol, turi kelių tipų sakinių tipus anglų kalba, savo išvaizda primenančius įprasčiausią tekstą. Esmė ta, kad grupėnuosekliai parašyti operatoriai jungiami į ištisus sakinius, patys sakiniai – į pastraipas, o pastraipos – į dalis. Pats programuotojas pastraipoms ir paskirtoms sekcijoms priskiria pavadinimus arba etiketes, kad būtų lengviau nurodyti konkrečią kodo dalį. Sovietų Sąjungoje rusiška programos versija buvo sukurta ir labai sėkmingai pritaikyta praktikoje.
Procedūrinis programavimas Cobol kalba realizuojamas dėl galingų darbo įrankių, galinčių apdoroti didžiulius duomenų srautus, saugomus įvairiuose išoriniuose diskuose. Yra daug šia kalba parašytų programų, kurios aktyviai naudojamos ir dabar.
Įdomus faktas: geriausiai apmokami programuotojai JAV rašo programas Cobol.
Algolių kalba
Šią procedūrinio programavimo kalbą 1960 m. sukūrė visa specialistų grupė. Tai buvo tarptautinio bendradarbiavimo pradžios rezultatas. Algol buvo sukurtas algoritmams, kurie buvo sukurti tam tikrų procedūrų, naudojamų sprendžiant užduotis, seka. Iš pradžių kalba buvo suvokiama kiek dviprasmiškai, tačiau pripažinta tarptautiniu lygmeniu, vaidino didžiulį vaidmenį kuriant pagrindines programavimo sąvokas ir mokant naujos kartos programuotojus. Procesinis programavimas Algol kalba buvo pirmasis, pradėjęs naudoti tokias sąvokas kaip „programų blokų struktūra“, „dinaminis atminties paskirstymas“.
Yra dar viena kalbos ypatybė –tai galimybė bloke įvesti kai kuriuos vietinius ženklus, kurie netaikomi likusiai programos kodo daliai. Taip, Algol-60, nepaisant tarptautinės kilmės, nebuvo toks populiarus kaip Fortran.
Ne visuose užsienio kompiuteriuose buvo vertėjai iš Algol-60, todėl šis procedūrinis programavimas buvo pakeistas ir atsirado patobulinta Algol-68 kalba.
Algol-68
Tai jau buvo universali ir daugiafunkcė pažangi programavimo kalba. Pagrindinė jos ypatybė buvo ta, kad naudojant tą pačią programą buvo galima be jokių išlaidų išversti iš įvairių kalbos versijų, pritaikant šią kalbą skirtingų kategorijų programuotojams, kurie gali turėti konkrečios srities kalbos dialektų.
Jei vertintume šios kalbos galimybes, Algol-68 net ir dabar savo galimybėmis lenkia daugelį programavimo kalbų, tačiau dėl to, kad šiai procedūrinei programavimo kalbai nėra efektyvių kompiuterių., kol kas nepavyko sukurti aukštos kokybės ir greito kompiliatoriaus.
Kaip atsirado garsusis BASIC?
Procedūrinės programavimo kalbos taip pat apima visame pasaulyje žinomą BASIC. Šeštojo dešimtmečio viduryje Dartmuto koledžo darbuotojai, vardu Thomas Kurtz ir John Kemeny, sukūrė unikalią programavimo kalbą, kuri viską apvertė aukštyn kojomis pasaulyje. Ją sudarė paprasčiausi angliški žodžiai, o naujoji kalba buvo pripažinta universaliu kodu pradedantiesiems, kitaip tariant BASIC. Gimimo metaiManoma, kad ši kalba yra 1964 m. BASIC plačiai paplito asmeniniame kompiuteryje interaktyvaus dialogo režimu. Kodėl BASIC tapo toks populiarus? Viskas dėl to, kad ją buvo kuo lengviau įvaldyti, be to, kalba padėjo išspręsti daugybę įvairių mokslinių, ekonominių, techninių, žaidimų ir net kasdienių užduočių. BASIC galiojo kitokios numatytosios taisyklės, o tai dabar laikoma blogo skonio programavimo ženklu. Po to pasaulyje pasirodė daugybė šios kalbos versijų, kurios dažnai yra nesuderinamos, tačiau suprasdami vieną iš versijų, nesunkiai įvaldysite kitą. Pradinėje versijoje buvo tik vertėjas, bet dabar yra ir kompiliatorius.
Šeštojo dešimtmečio pradžioje visos tuomet buvusios kalbos buvo skirtos įvairių problemų sprendimui, tačiau jos taip pat buvo susietos su konkrečia kompiuterio architektūra. Tai buvo laikoma trūkumu, todėl buvo nuspręsta sukurti universalią programavimo kalbą.
PL/1
Tai pati pirmoji daugiafunkcė universali kalba, kurią JAV sukūrė IBM. Kūrimo metai 1963-1966. Manoma, kad tai viena iš labiausiai paplitusių kalbų, ji pritaikyta spręsti daugelį kompiuterinių technologijų srities problemų: planuojant, tiriant įvairius skaičiavimo procesus, modeliuojant ir sprendžiant loginius uždavinius, tiriant logines grandines, plėtojant. matematinės programinės įrangos sistemų.
Kuriant PL/1, praktikoje buvo naudojamos įvairios koncepcijos ir įrankiai iš Algol-60, Fortran, Cobol. PL/1 yra laikoma lanksčiausia ir turtingiausia kalba, tai leidžiakurti intarpus, pataisyti baigtą programos tekstą net derinimo metu. Kalba yra plačiai paplitusi, o jos vertėjai naudojami daugelyje kompiuterių tipų. IBM net ir dabar palaiko šią kalbą.
Pascal
Pascal yra labai populiari procedūrinė kalba, ypač naudojama asmeniniams kompiuteriams. Ši procedūrinio programavimo kalba buvo sukurta kaip mokomoji kalba, jos sukūrimo metai – 1968-1971 m. Sukūrė Niklausas Wirthas ETH Ciuriche. Ši programavimo kalba buvo pavadinta didžiojo prancūzų matematiko ir filosofo Blaise'o Pascalio vardu. Pagrindinė Wirtho užduotis buvo sukurti kalbą, kuri būtų paremta paprasčiausia sintaksė – nedideliu skaičiumi pagrindinių struktūrų, kurios paverčiamos mašininiu kodu naudojant įprastą kompiliatorių. Verta paminėti, kad jam pavyko.
Paskalio programavimo procedūrinė paradigma grindžiama šiais principais:
- Struktūrinis programavimas. Šiuo atveju naudojamos paprogramės, nepriklausomos duomenų struktūros. Programuotojas sugeba sukurti lengvai skaitomą kodą, suprantamą programos struktūrą, supaprastina testavimą ir derinimą.
- Programavimas sukurtas iš viršaus į apačią. Užduotis suskirstyta į paprastas spręstinas užduotis, o sukonstruotų použduočių pagrindu jau statomas galutinis bendrojo uždavinio sprendimas.
C kalba
Procedūrinis programavimas C, kurį sukūrė Bell Labs, kad įdiegtų UNIX operacinę sistemą, kuri iš pradžių nebuvo laikomamasė. Kūrėjai planavo tiesiog pakeisti Assembler, tačiau atsirado tiesiog atskira C kalba, kuri išskirtinė tuo, kad turi aukšto lygio programavimo kalbų galimybes ir tuo pačiu turi galimybę pasiekti funkcinius ryšius. C kalba neturi procedūros sampratos, sintaksė gana paprasta, nėra griežto duomenų rinkimo, įtraukta galimybė iš karto išreikšti porą veiksmų. Ši kalba iškart patraukė programuotojų dėmesį, suteikdama jiems papildomų galimybių kurti įdomias programas. Iki šiol C kalba yra gana populiari, ją plačiai naudoja programavimo profesionalai. Dabar jis įdiegtas daugelyje kompiuterių platformų.
Kuo ypatingos procedūrinės kalbos?
Jų yra tik keletas, todėl verta pakalbėti apie kiekvieną. Tai yra:
- Modulis. Programos dalis, kuri išsaugoma atskirame faile. Modulis įgyvendina parinkčių rinkinį, susietą su tam tikrais kintamaisiais, konstantomis ar objektais.
- Funkcija. Tai išbaigta, nepriklausoma kodo dalis, išsprendžianti konkrečią problemą.
- Duomenų tipas. Ši sąvoka kalba apie tam tikrą informacijos masyvą, kuris yra apibrėžtas vienam tipui.
Procedūrinio ir objektinio programavimo skirtumai
Daugelis programuotojų žino, kad kuriant programinę įrangą ar žiniatinklio programas praktikoje naudojamos procedūrinės ir objektinės programavimo kalbos. Koks skirtumas? Viskas paprasta, procedūrinė ir objektinė-Orientuotas programavimas praktikoje naudojamas visur, tačiau yra keletas išskirtinių dalykų. Darbo metu programuotojas, išsikeldamas sau konkrečią užduotį, suskaido ją į smulkias, parenka realizavimui tam tikras kalbos konstrukcijas (kilpas, funkcijas, šakas, struktūrinius operatorius). Tai reiškia, kad specialistas vadovaujasi procedūriniu programavimu.
OOP apima sąvoką „objektas“, kitaip jie taip pat vadinami klasės egzemplioriais, nes daug kas yra paveldima iš klasės. Paveldėjimas yra dar vienas iš skiriamųjų OOP principų.
Procedūrinės ir funkcinės kalbos
Procedūrinis ir funkcinis programavimas yra tas pats, ar ne? Funkcinis programavimas yra orientuotas į diskrečiosios matematikos uždavinių sprendimą, o procedūrinis programavimas yra šiek tiek platesnė sąvoka ir apima daug programavimo kalbų, skirtų tam tikrų tipų problemoms spręsti.
Ką pasirinkti sau?
Daugelis procedūrinio programavimo kalbų yra pasenusios. Taip, kai kurie iš jų vis dar tobulinami, bet vis tiek verta atkreipti dėmesį tik į dalį. Pvz. C kalba. Šiandien pasaulyje įprasta, daugelis šiuolaikinių platformų yra sukonstruotos būtent C kalba, tad jei norite tobulėti programavimo srityje, tuomet turėtumėte geriau pažinti C kalbą., galite pasirinkti ką nors kito, nebūtinai susijusio su procedūrinėmis programavimo kalbomis.