Suvremeni programski jezik na visokoj razini: primjeri i usporedbe

21. 4. 2019.

Većina modernih računalnih programa pisana je na jezicima visoke razine. Važno je napomenuti da su mnogi od njih nastali još u šezdesetim i sedamdesetim godinama, ali su još uvijek relevantni. Koje druge činjenice o jezicima na visokoj razini možemo istaknuti? Koje su najčešće vrste srodnih rješenja?

Programski jezik visoke razine

Suština programskih jezika na visokoj razini

Programski jezik visoke razine je alat koji se odnosi na stroj. Što to znači? Činjenica je da su programski jezici podijeljeni u nekoliko kategorija.

Postoji strojni kod: skup algoritama koji su dizajnirani za izravno upravljanje korisnicima hardverskih elemenata računala. Njihova će bit biti potpuno ovisna o stroju: samo određeni algoritmi su prikladni za određene vrste računala.

Prvi programski jezik na visokoj razini stvoren za

Postoje skupni jezici. U stvari, oni su nadgradnja iznad onih namijenjenih za kontrolu niskih razina hardverskih komponenti osobnog računala pomoću strojnog koda. Ali na mnogo načina, jezici za sklapanje također se obično nazivaju ovisnima o stroju. U pravilu, oni su prilagođeni određenoj vrsti hardverske komponente računala. Njihova glavna zadaća je pojednostavniti upravljanje računalom za korisnika putem odgovarajućih komunikacija na niskoj razini.

S druge strane, programski jezik visoke razine omogućuje korisniku interakciju s računalom, bez obzira na to koji je određeni hardver instaliran na računalu. Stoga ga treba pripisati strojno neovisnom. Prilikom pisanja operacijskih sustava, najčešće je uključen programski jezik visoke razine. Ali postoji OS koji je napisan u asembleru. Programski jezici niske i visoke razine mogu se koristiti istovremeno. Osoba koja daje naredbe visoke razine osobnom računalu mora, na ovaj ili onaj način, priopćiti ih određenim hardverskim komponentama, a ta se funkcija može realizirati upotrebom asemblerskih jezika istovremeno s onima na visokoj razini koji su uključeni u strukturu operativnog sustava.

Prevoditelji programskih jezika na visokoj razini

Prevoditelji

Najvažniji elementi programskih jezika na visokoj razini su prevoditelji. Njihova funkcija može biti različita. Među ključnim područjima primjene prevoditelja je “prevođenje” naredbi generiranih u programskom jeziku visoke razine u strojni kod koji je razumljiv određenoj hardverskoj komponenti osobnog računala, primjerice procesoru. Prevoditelji koji obavljaju ovu funkciju nazivaju se i prevodiocima. Postoji još jedna vrsta relevantnih komponenti - tumača. Namjera im je, s druge strane, "prevesti" naredbe na visokoj razini u one koje su razumljive operativnom sustavu ili bilo kojem programu.

Klasifikacija jezika visoke razine

Programski jezici na visokoj razini mogu se klasificirati iz raznih razloga. Shema se distribuira prema kojoj se dijele na sljedeće glavne sorte:

- orijentiran na proceduru (koristi se kao alat za obrada informacija u bilo kojoj fazi izračuna);

- problemski orijentirana (koristi se kao sredstvo rješavanja industrijskih i primijenjenih problema koji se formiraju pri širenju područja primjene računala);

- objektno orijentirani (mogu biti posebni slučajevi jezika prvih dviju vrsta, međutim, oni su prilagođeni za uporabu širokom rasponu programera s različitim razinama obuke, na primjer, u obliku rješenja s vizualnim sučeljem).

Razmotrimo sada neke od povijesnih i modernih programskih jezika na visokoj razini koji odgovaraju ovoj klasifikaciji.

Suvremeni programski jezici visoke razine

Proceduralni jezici

To uključuje FORTRAN. Smatra se prvim programskim jezikom na visokoj razini namijenjenom širokoj uporabi. Karakterizira ga jednostavna struktura. Proceduralni jezici također uključuju BASIC. Smatra se jednim od najčešće korištenih pri učenju programiranja. Primjer drugog proceduralnog jezika je SI. Izvorno je stvoren za UNIX OS. Na temelju toga, kasnije je stvoren C ++ jezik, nadopunjen objektno orijentiranim programskim alatima. Drugi jezik u ovoj kategoriji je Pascal. Često su također uključeni u učenje programiranja. Mogućnosti ovog jezika omogućuju mu da se koristi kao vrlo moćan alat za razvoj profesionalnih vrsta softvera.

Problemski orijentirani jezici

To uključuje Lisp, Prolog. Prvi jezik razvijen je 1962. - nekoliko godina nakon stvaranja Fortrana. Smatra se, dakle, kao druga u povijesti. Aktivno uključen kao alat za rad s nizovima znakova. U praksi, Lisp je korišten u sustavima koji su klasificirani kao stručni, kao i oni koji su namijenjeni za analitičke izračune. Prolog se naširoko koristi u logičkom programiranju. U praksi se najčešće koristi u upravljanju algoritmima umjetne inteligencije u odgovarajućim sustavima.

Objektno orijentirani jezici

Sada proučavamo primjere programskih jezika na visokoj razini koji su objektno orijentirani. To uključuje Visual Basic, Delphi, Visual Fortran, C ++ gore navedeno i Prolog ++. Gotovo svi se temelje na proceduralno orijentiranim jezicima. Međutim, pretpostavlja se da će oni biti bitno dopunjeni vizualnim kontrolama u svrhu naknadnog ovladavanja potrebnim algoritmima od strane programera koji su navikli na druge alate. Dakle, prvi visoki programski jezik, Fortran, IT stručnjaci mogu brzo proučiti kroz mogućnosti Visual Fortrana. Pomoću slične metode možete brzo savladati Basic ili Prolog.

Programski jezici na visokoj razini Pascal

Delphi programiranje na visokoj razini Object Pascal, zauzvrat je implementirano. Postoji veliki broj drugih okruženja za razvoj softvera koja su klasificirana kao objektno orijentirani jezik. Ovo područje tehnologija razvoja softvera aktivno se razvija.

Fortran i Lisp - prvi i drugi jezik visoke razine

Doznajmo više o tome kako se pojavio prvi programski jezik visoke razine - Fortran, kao i Lisp, koji se smatra drugim. Godine 1954, IBM programeri, predvođeni Johnom Backusom, stvorili su jezik kroz koji su programeri imali priliku uvelike olakšati interakciju s računalima, koja je do tada bila implementirana putem strojnih uputa ili asemblera. Ime je dobio Fortran i uskoro je postao poznat u SSSR-u pod rusifiskanim imenom. Fortran je postao popularan alat za znanstveno računanje.

Glavni revolucionarni element koji je zajednica zajednice predložila zajednici bio je, u stvari, isti kompajler, dizajniran da bude alternativa asembleru. U prvim godinama prakse pisanja programa kada se koristi Fortran, mnogi programeri smatraju da prevodilac nije potpuno uspješno rješenje, prvenstveno u smislu troškova rada. Mnogi strojni kodovi, zapravo, bili su lakše kompilirani nego kad se koristi prevoditelj. Međutim, s brzim povećanjem performansi računala, programeri su počeli shvaćati da bi bez upotrebe kompajlera učinkovit softver koji bi u potpunosti iskoristio računalnu snagu računala bio izuzetno problematičan. Dakle, IBM-ove inicijative za razvojne inženjere su dodatno razvijene. Osnovni sintaktički konstrukti visokog programskog jezika Fortran u mnogim su slučajevima počeli djelovati kao osnovni pri stvaranju novih rješenja.

Primjer postizanja praktičnih rezultata u razvoju koncepata ugrađenih u Fortran može se smatrati stvaranjem Lispa. Taj je jezik razvijen 1958. godine, no postao je nadaleko poznat tek 1960. godine. Lisp je razvio John McCarthy i objavio u jednom od popularnih časopisa za IT stručnjake. Glavna svrha jezika o kojem se radi jest obrada popisa. Lisp je postao popularan među programerima sustava umjetne inteligencije. Na temelju toga stvoreni su jezici kao što su Planer, Scheme i Common Lisp. Lisp je također imao značajan utjecaj na mnoge suvremene alate za razvoj softvera. Struktura programskih jezika na visokoj razini koji su danas popularni uvelike se temelji na Fortranovim i Lisp algoritmima.

Bilo bi zanimljivo, međutim, razmotriti druge pristupe klasifikaciji razmatranih alata za razvoj softvera.

Univerzalni jezici visoke razine

Dakle, moderni stručnjaci ističu univerzalne jezike visoke razine. To se posebno odnosi na one koji su razvijeni 60-ih godina. Njihove ključne karakteristike:

- usredotočiti se na širok raspon zadataka (prvenstveno vezanih uz računarstvo);

- Veliki broj jezičnih konstrukata i algoritama;

- značaj ne samo za svoje vrijeme, već i za suvremenu fazu razvoja računalne opreme;

- podrška u relevantnim jezicima imperativnom metodologijom.

Delphi programiranje na jeziku visoke razine

Univerzalni jezici temeljni su za relevantnu IT industriju. Može se primijetiti da do sada nemaju izravnih analoga u dijelu unutarnje strukture. Zapravo, to u velikoj mjeri objašnjava važnost korištenja relevantnih jezika u suvremenim objektno orijentiranim sučeljima. U odabranim je jezicima uobičajen i tip podataka. Taj čimbenik uvelike određuje njihovu univerzalnost. Među najupečatljivijim svojstvima jezika koji pripadaju kategoriji univerzalnog je kontinuitet. Tako su povijesno kasnije jezici, u pravilu, bili utemeljeni na konceptima prethodnika.

Jedinstveni jezici

Neki IT stručnjaci razlikuju „jedinstvene jezike“ kao nezavisnu kategoriju. To su: APL, Cobol, Forth, SETL i CLU. Koja je njihova specifičnost?

Najvažniji aspekt APL-a je uporaba nizova (vektora i matrica) kao ključnog strukturnog tipa. Specifičnost jezika Cobol je u fokusu komercijalne sfere. Stoga je preporučljivo koristiti ga u rješavanju problema vezanih uz standardizirani format za prezentiranje rezultata. Forth jezik karakterizira uporaba postfix pisanja programa, kao i korištenje notnog zapisa. U SETL-u se skupovi vrijednosti koriste kao jedan od ključnih tipova podataka. Programski jezik visoke razine također je CLU. Njegova glavna značajka je korištenje koncepta rada s apstraktnim vrstama podataka. Mnogi IT stručnjaci vide logično pojavljivanje novih rješenja temeljenih na jedinstvenim jezicima - kao što je, na primjer, objektno-orijentirani kobol.

Osnovne sintaktičke konstrukcije programskog jezika visoke razine

Alati za paralelno programiranje

Ova kategorija može uključivati ​​veliki broj rješenja. S druge strane, paralelni programski jezici mogu imati velik broj razloga za klasifikaciju. Na primjer, metoda organizacije procesa. Ova osnova sugerira klasifikaciju alata za paralelno programiranje na temelju prisutnosti:

- koroutine;

- vilice;

- udruge;

- paralelne zagrade;

- algoritmi za rad s procesima.

Druga osnova za klasificiranje jezika ove vrste su metode sinkronizacije procesa. Relevantna rješenja stoga mogu uključivati:

- semafori;

- monitore;

- "Rendezvous";

- kritična područja;

- daljinski poziv za postupak;

- transakcije povezane s kategorijom atomskih.

Jezici ovog tipa su Modula-2, BLISS, Concurrent Pascal, DP, Argus.

C jezična obitelj

Iznad smo smatrali rješenje kao što je C kao primjer programskog jezika na visokoj razini. Jezici koji mu pripadaju posebni su C-konstrukti, tako da je dodavanje različitih objektno-orijentiranih komponenti dovelo do razvoja C ++-a. Nakon značajnog filtriranja niza C konstrukcija, pojavio se Java jezik. Može se primijetiti da je Java nastala uglavnom pod utjecajem koncepata projekta Oberon, koji vodi Niklaus Wirth, tvorac Pascalovog jezika. Primjenjuje li se to na JavaScript na visokoj razini? Naravno, da, usprkos svojoj uskoj primjeni, kao alat za razvoj web stranica. No, programski jezici na visokoj razini ne uključuju, osobito, HTML, XML i SGML. Oni su klasificirani kao alati za hipertekstualno označavanje.

Pascal jezična obitelj

Programski jezici na visokoj razini Pascal također čine zasebnu obitelj. Na temelju Pascala, Oberon je zapravo stvoren, klasificiran kao objektno orijentirani jezik. Ključno obilježje Oberona je njegova sposobnost sigurnosti. Uz Oberon, jezici obitelji Pascal uključuju Modula-2, kao i Component Pascal.

Ada jezična obitelj

Osnivanje u odgovarajućoj kategoriji jezika - naručeno prema potrebama američkog Ministarstva obrane Ada. Nastao je krajem 70-ih - početkom 80-ih. Karakteriziran je velikim brojem funkcija, značajki, svestranosti. Jezična obitelj Ada uključuje rješenja kao što su Cedar, Modula 3.

Jezik obitelji Simula

Simula jezik je čest u programskim industrijama vezanim uz simulaciju. Specifičnost relevantnih odluka je u upotrebi određene jezgre. Njegova uporaba omogućuje korištenje raznih proširenja, prilagođenih različitim aplikacijama. Na temelju Simule, stvoren je objektno-orijentirani jezik Smalltalk, kao i BETA, koje karakterizira sposobnost kombiniranja, unutar jedne apstrakcije, algoritama koji odražavaju rad s podacima, procedurama i kontrolom. BETA objekti mogu se promatrati u različitim kontekstima, primjerice kao varijable, funkcije ili paralelni sustavi.