Professional Documents
Culture Documents
PROGRAMSKI JEZICI
Završni rad
Prva osobna računala pojavila su se sedamdesetih godina prošlog stoljeća, što je dovelo
do velike potrebe za programiranjem istih. Sami počeci programiranja bili su usko vezani
pretežno uz matematiku, dok se danas isključivo odnose na računala. Danas se programiranje uči
već u osnovnoj školi što uvelike doprinosi razvoju djece te razvoju informacijskih tehnologija.
Samo učenje programskog jezika može biti izuzetno zahtjevno, pogotovo ako se nikad prije niste
susreli s istim. Međutim, mnogi misle kako je programiranje samo pisanje izvornog koda, ali
prije samog koda potrebno je sastaviti plan te dobro razmisliti jer to je i bit: razvijanje logičkog
razmišljanja i zaključivanje.
Kako je Steve Jobs, osnivač Apple-a jednom prilikom rekao:„Svatko bi trebao naučiti
programirati jer vas to uči kako razmišljati.“ Naime, programiranje nas ohrabruje na traženje
novih iskustava te učenje modernog načina komunikacije. Programiranje je kao umjetnost, cilj je
stvoriti nešto novo, apstraktno, ono što do sada nije postojalo te ga kao takvog predstaviti svijetu.
Programski jezik kao takav nije nimalo jednostavan, najbolje je isprobati nekoliko pa vidjeti koji
vam najbolje leži, jer svaki ima svoje prednosti i mane.
1
1. UPOTREBA PROGRMSKIH JEZIKA
Zbog uvođenja automatizacije te razvojem tehnologije došlo je do potrebe stvaranja
programskih jezika. Danas se uz programske jezike vežu mnogi pojmovi poput: open source,
compiler, interpreter… te brojni drugi koje ćemo u ovom radu objasniti. Budući da postoje razne
aplikacije i programi, također postoje i razni programski jezici, a svaki ima neku određenu
namjeru.
Prvi programski jezik je izumljen 1843. godine, a izmislila ga je mlada matematičarka Ada
Lovelace. Osmislila je prvi strojni algoritam za računalni stroj Difference Machine Charlesa
Babbagea, zapisala ga je na komad papira jer u to vrijeme nije bilo računala. Do danas je
osmišljeno preko 700 programskih jezika koji su danas u širokoj upotrebi.
Ne traju svi programski jezici vječno. Bilo da je to rezultat razvoja tehnologije ili
jednostavno zamjena novijim jezikom. Uz to, postoje neki stari programski jezici koje IT
profesionalci i danas koriste, najčešći su Fortran i Cobol. Početnu verziju Fortran-a predložio je u
IBM-u John Backus davne 1953. godine. Bio je to prvi kompajler za optimizaciju i bio je
naširoko korišten u znanstvenom radu jer se optimizirani kod povoljno natjecao s rukom pisanim
asemblerskim kodom. Jezik se još uvijek koristi na nekim od najbržih svjetskih superračunala.
Od 1953. godine postoji niz ažuriranja, a najnovija verzija objavljena je 2018. godine. Drugi
programski jezik Cobol je razvijen davne 1959. godine i bio je jedan od prvih programskih
jezika visoke razine. Unatoč tome što je izumljen tako davno, Cobol je i danas jako
rasprostranjen . Samo u SAD- u 43% bankovnih sustava izgrađeno je na Cobol-u, što čini 95%
bankomata i 80% osobnih transakcija.
2
Slika 1: Prvi programski jezik
Približavamo se kraju našeg putovanja kroz povijest programskih jezika. Kao što ste vidjeli,
računalno programiranje razvilo se do razine iznad svih očekivanja, pokrećući tehnologiju na
koju se svakodnevno oslanjamo. Upravo iz tog razloga potrebni su nam kvalificirani
profesionalci za implementaciju i kontrolu programskih jezika koji danas pokreću svijet.
Izvješće o IT vještinama DevSkiller 2020. godine pruža uvid za upravo to pitanje. Izvješće
sadrži podatke iz više od 213.000 testova kodiranja koje su tvrtke koje žele angažirati
specijalizirane IT stručnjake poslale u 143 zemlje.
3
Kao što možete vidjeti gore, JavaScript je bio najpopularniji jezik testiran na DevSkiller-u na
temelju poslanih pozivnica za testiranje. Ovaj nalaz je potvrđen u anketi za razvojne programere
Stack Overflow 2020. Godine, koja navodi JavaScript kao najpopularniji programski jezik osmu
godinu zaredom.
Kao što smo maloprije rekli postoje na stotine programskih jezika te svaki imam neku
određenu namjeru, primjerice: za izradu web stranica, igrica, aplikacija… Kako bi znali što
određeni jezik radi moramo ih svrstati u kategorije, a imamo 5 osnovnih.
4
2.SKRIPTNI PROGRAMSKI JEZICI
Skriptni jezik je vrsta programskog jezika koji izvršava zadatke unutar posebnog okruženja
za izvršavanje pomoću tumača umjesto prevoditelja. Obično su kratki, brzi i interpretirani iz
izvornog koda.
Skriptni jezici koriste program poznat kao interpreter za prevođenje naredbi i izravno se
tumače iz izvornog koda, ne zahtijevajući korak kompilacije. Drugi programski jezici, s druge
strane, mogu zahtijevati od prevoditelja da prevede naredbe u strojni kod prije nego što može
izvršiti te naredbe.
Postoje dvije glavne vrste: na strani poslužitelja i na strani klijenta. Razlikuju se po tome
odakle se pokreće kod, što utječe ne samo na stvarne odabrane jezike već i na izvedbu i njihove
mogućnosti. Skriptni jezik na strani poslužitelja odnosi se na one koji se pokreću s web
poslužitelja. Budući da se izvodi sa stražnje strane, skripta nije vidljiva posjetitelju. Zbog toga je
to sigurniji pristup. Za razliku od gore navedenog, skriptni jezici na strani klijenta pokreću se u
korisnikovom pregledniku. Obično se izvodi na prednjem dijelu, što ga čini vidljivim
posjetiteljima i čini ga manje osjetljivim na eksploatacije i curenja. Primjeri ovakvog jezika su
Ruby, CSS i JavaScript.
Skriptni programski jezici imaju brojne prednosti, a ovo su neke od njih. Prvo, često se ističu
kao izvrsna polazišta za one koji su zainteresirani za učenje programiranja. To je zato što ih je
znatno lakše naučiti i koristiti od tradicionalnih jezika. To znači da možete brzo implementirati
skripte koje su vam potrebne , a da u njih ne treba uložiti puno vremena i resursa. Svatko može
koristiti skriptne jezike bez ikakvih ograničenja. Svi su otvorenog koda, što znači da svatko može
doprinijeti njihovom razvoju na globalnoj razini. Za razliku od onoga što se događa s
tradicionalnim programiranjem, skriptni jezici ne zahtijevaju od prevoditelja pohranjivanje
izvršne datoteke za pokretanje. Umjesto toga, oni koriste tumače, što pridonosi mnogo manjim
zahtjevima za memorijom na sustavu koji ih pokreće.
Međutim, skriptni programski jezici imaju i neke nedostatke koje vas mogu kočiti prilikom
programiranja. Za razliku od onoga što se događa većini programskih jezika, skriptni jezici imaju
svaki redak iskaza pojedinačno analiziran od strane prevoditelja bez ikakvih optimizacija . To
može utjecati na performanse, te znatno usporiti vaše računalo. Također, većina tumača
5
skriptnog jezika je sporija od prevoditelja. To je zato što se tradicionalni programski jezici
obično pretvaraju u strojni kod prije prevođenja, čime se korisnicima nudi brže izvršavanje.
Kako bi vaše skripte nastavile ispravno funkcionirati, potrebno ih je redovito ažurirati. To je
potrebno kad god preglednici dobiju značajne nove verzije ili kada se vaša vlastita web stranica
promijeni na neki radikalan način.
Slika 3: programa u
JavaScript-u
2.2. JavaScript
JavaScript (JS) je programski jezik koji je jedna od temeljnih tehnologija World Wide Weba
(WWW) , uz HTML i CSS. Koristi se i na strani klijenta i na strani poslužitelja koji vam
omogućuje da web stranice učinite interaktivnim, odnosno na oko privlačnijima. HTML i CSS
jezici koji web stranicama daju strukturu i stil, JavaScript web stranicama daje interaktivne
elemente koji privlače korisnika, te ga zaokupljuju. Uobičajeni primjeri JavaScripta koje možete
koristiti svaki dan uključuju pretraživanje na Amazonu, video sažetak vijesti na Večernjem
listu…
6
JavaScript omogućuje interakciju s web stranicama. Omogućuje vam gotovo sve što poželite
učiniti s nekom web stranicom.
Programeri mogu koristiti razne JavaScript okvire za razvoj mobilnih aplikacija. JavaScript
okviri su zbirka JavaScript koda koje programerima pružaju unaprijed napisani kod za korištenje
programske značajke.
Osim bezbroj mogućnosti, postoji mnogo drugih razloga da web programeri koriste
JavaScript u odnosu na druge programske jezike, kao što su: JavaScript je jedini programski
jezik izvorni za web preglednik, JavaScript je najpopularniji, postoji nizak prag za početak,
zabavan je…
7
3.PROCEDURALNI PROGRAMSKI JEZICI
Proceduralni jezik je računalni programski jezik koji slijedi, redom, skup naredbi.
Primjeri računalnih proceduralnih jezika su BASIC, C, FORTRAN… Proceduralni jezici neki su
od uobičajenih tipova programskih jezika koje koriste programeri raznih skripti i softvera.
Koriste funkcije, uvjetne iskaze i varijable za stvaranje programa koji omogućuju računalu da
izračuna tražene vrijednosti.
8
3.1.Prednosti i nedostaci proceduralnih programskih jezika
Kao i svaki programski jezik, tako i proceduralni jezici imaju brojne prednosti i mane.
Međutim, ukoliko doista želite naučiti neki proceduralni jezik, to vam ne bi trebalo predstavljati
problem.
Nedostaci proceduralnog programiranja su: izvorni kod je teže napisati kada se koristi
proceduralno programiranje, proceduralni kod se često ne može ponovno koristiti, što može
predstavljati potrebu za ponovnim stvaranjem koda ako je potrebno za korištenje u nekoj drugoj
aplikaciji, teško se povezati s predmetima iz stvarnog svijeta, važnost se pridaje operaciji, a ne
podacima, što bi moglo predstavljati probleme u nekim slučajevima, zbog osjetljivosti podataka,
podaci su izloženi cijelom programu, što ga čini manje sigurnim.
Postoje različite vrste programskih uzoraka, kao što smo već spomenuli, koje nisu ništa
drugo nego stil programiranja. Važno je razumjeti da uzorak ne odgovara određenom jeziku već
načinu na koji je program napisan.
9
3.2. Pascal
Pascal je proceduralni programski jezik razvijen oko 1970. Godine, a razvio ga je Niklaus
Wirth iz Švicarske u svrhe strukturiranog programiranja. Pascal je dobio ime u čast francuskog
matematičara, filozofa i fizičara Blaisea Pascala. Naglašava pravilnu upotrebu uvjetnih i
kontrolnih struktura u petlji bez GOTO naredbi. Pascal je razvijen na temelju jezika ALGOL 60,
međutim za razliku od ALGOL-a, pružao je mogućnost definiranja tipova podataka pomoću
kojih se organiziraju složene informacije. Korisnički definirani tipovi podataka omogućili su
programeru da uvede nazive za složenije podatke, koje je prevoditelj jezika mogao provjeriti za
ispravnu upotrebu prije samog pokretanja programa. Također, omogućuje izgradnju dinamičkih i
rekurzivnih struktura podataka kao što su liste, stabla i grafovi. Tijekom kasnih 1970-ih i 80-ih,
posebice na rastućem tržištu mini računala, Pascal je bio jedan od najkorištenijih jezika za
poučavanje programiranja. Bio je dostupan na gotovo svim računalima, a zbog svoje poznatosti,
jasnoće i sigurnosti koristio se za proizvodni softver u svrhe obrazovanja.
Kada govorimo o provjeri podataka, Pascal je vrlo striktan i koristi blokovne strukture u
programiranju. Tipovi varijabli definirani su pomoću imena, veličinom opsega i primitivnim
tipom podataka. Kada su varijable deklarirane kao neki određeni tip, kompajler pretpostavlja da
će njegov tip ostati isti tijekom njegovog „životnog vijeka“ u programu. Ovakvo korištenje
varijabli, čini kod lakšim za održavanje.
Svaki kod napisan u Pascal programskom jeziku mora sadržavati pojedine značajke bez
kojih program ne može raditi. Program posjeduje sljedeće dijelove:
I. Naziv programa,
II. Kolekcija naziva biblioteka,
III. Deklaracija tipova, konstanti, varijabli, funkcija, procedura,
IV. Glavni blok programa zajedno s izrazima i ekspresijama,
V. Komentari.
Kao što smo maloprije spomenuli Pascal se danas uvelike koristi u nastavne svrhe, a neki
od razloga za to su: lagan za učenje, jednostavan, pouzdan, učinkovit, radi na raznim računalnim
platformama…
10
Slika 5: Primjer programa za
računske operacije u Pascal
programskome jeziku
11
4. OBJEKTNO – ORIJETNIRANI PROGRAMSKI JEZICI
Objektno orijentirano programiranje (OOP) je model računalnog programiranja koji
organizira dizajn softvera oko podataka ili objekata, a ne funkcija i logike kao što to rade drugi
programski jezici. Objekt se može definirati kao podatkovno polje koje ima jedinstvene atribute,
podatke i kod. Objektno orijentirano programiranje se fokusira na objekte kojima programeri
žele manipulirati, a ne na logiku potrebnu za manipulaciju njima. Ovakav tip programiranju
dobro je prikladan za velike, složene programe koji se aktivno ažuriraju ili održavaju. Objektno
orijentirani jezici su raznoliki, ali najpopularniji su oni koji se temelje na klasama. Najpoznatiji
su: Java, C++, C#, Python, PHP…
12
4.1.Struktura programa
Kao o svaki programski jezik, tako i objektno orijentirani programski jezici imaju neku
određenu strukturu koju moramo slijediti prilikom programiranja. Struktura koju naš program
mora sadržavati je:
1. Klase: Korisnički definirani tipovi podataka koji djeluju kao nacrt za pojedinačne
objekte, atribute i modele.
2. Objekti: To su instance klase stvorene sa posebno definiranim podacima. Objekti mogu
odgovarati objektima stvarnog svijeta ili apstraktnom svijetu. Kada je klasa početno
definirana, opis je jedini objekt koji je definiran, stoga ih moramo pojedinačno dodati.
3. Metode: Podrazumijevaju funkcije koje su definirane unutar klase koje opisuju ponašanja
objekta. Svaka metoda sadržana u definicijama klasa počinje referencom na objekt
instance. Programeri koriste metode za ponovnu upotrebu ili održavanje funkcionalnosti
inkapsulirane unutar jednog po jednog objekta.
4. Atributi: Definirani su u predlošku klase i predstavljaju stanje objekta. Objekti će imati
podatke pohranjene u polju atributa.
5. Enkapsulacija: Ovo načelo na govori da su sve važne informacije sadržane unutar objekta
i da su izložene samo odabrane informacije. Ova karakteristika skrivanja podataka pruža
veću sigurnost programa i izbjegava nenamjerno oštećenje koje može dovesti do
potpunog gubitka programa.
6. Apstrakcija: Objekti otkrivaju samo unutarnje mehanizme koji su relevantni za korištenje
drugih objekata, skrivajući svaki nepotreban implementacijski kod, kako ne bi došlo do
gomilanja informacija.
7. Nasljedstvo: Klase mogu koristiti kod iz drugih klasa. Ovo svojstvo objektno
orijentiranih programskih jezika omogućuje temeljitiju analizu podataka, skraćuje
vrijeme razvoja i osigurava višu razinu točnosti.
8. Polimorfizam: Objekti su dizajnirani za dijeljenje ponašanja i mogu poprimiti više
različitih oblika. Program će odrediti koje je značenje ili korištenje potrebno za svako
izvođenje tog objekta iz nadređene klase, smanjujući potrebu za dupliciranjem koda, te
tako štedi vrijeme i resurse.
13
4.2. C++
C++ je programski jezik opće namijenjene, razvio ga je danski programer Bjarne
Stroustrup i dolazi kao proširenje programskog jezika C. a. Poboljšanja nad jezikom C nastavila
su se sa brojnim značajkama poput: virtualne funkcije, preopterećenje operatora, višestruko
nasljeđivanje… U početku se zvao „C s klasama“, a kasnije je dobio naziv C++ krajem 1983.,
uzimajući da je „++“ znak za povećavanje u programskom jeziku C. Danas je C++ je jedan od
najpopularnijih programskih jezika koji se u velikoj mjeri koristi kod sistemskih i aplikacijskih
softvera, drivera, embedded sustavima…
1. C++ je dizajniran da bude jezik opće namijene, efikasan i prenosiv kao jezik C,
2. C++ pruža mogućnost korištenja višestrukih stilova programiranja (npr. proceduralno
programiranje),
3. C++ je dizajniran tako da je kompatibilan s programskim jezikom C, što je više moguće,
4. C++ izbjegava implementaciju značajki koje su specifične za neku platformu ili nisu
opće namijene,
5. C++ je stvoren kako bi nudio programerima izbor načina korištenja značajki jezika, jer
restrikcije u većini slučajeva neće spriječiti programera da nešto radi na svoj način,
6. U jeziku C++ treba izbjeći korištenje značajki koje su nepotrebne i koje pridodaju općim
troškovima performansi jezika,
7. C++ je dizajniran da bude funkcionalan bez kompleksnih programskih okruženja, što
donosi jednostavnost.
14
Slika 7: Source kod u C++ programskome
jeziku
15
5. LOGIČKI PROGRAMSKI JEZICI
Logički programski jezici navode program kao skup logičkih odnosa. Svaki program
napisan u logičkom programskom jeziku je skup rečenica u logičkom obliku, koje izražavaju
činjenice i pravila o nekom problemu. Najpoznatiji logički programski jezici su Prolog, ASP i
Datalog. Ti jezici su slični jeziku baze podataka SQL.
Program se izvršava pomoću „motora za zaključivanje“ koji odgovara na upit sustavnim
pretraživanjem ovih odnosa kako bi napravio zaključke koji će odgovoriti na traženi upit. U
logičkim programskim jezicima pravila su napisana kao logičke rečenice s glavom i tijelom; na
primjer, „H je istinit ako su B1, B2 i B3 istiniti.“ Neki logički programski jezici, kao što su
Datalog i ASP (Answer Set Programming), su većinom deklarativni. Oni dopuštaju izjave o tome
što bi program trebao postići, bez određenih uputa korak po korak o tome kako to učiniti. Drugi,
poput Prologa, kombinacija su deklarativnog i imperativa. Oni također mogu uključivati
proceduralne izjave, kao što je na primjer: „Da biste riješili H, riješite B1, B2 i B3.“
Važna stvar u logičkom programiranju je razdvajanje programa na njihovu logičku
komponentu i njihovu upravljačku komponentu. S čistim logičkim programskim jezicima, sama
logička komponenta određuje tražena rješenja.
Logičko programiranje možemo pogledati na sljedeći način: imamo neki algoritam koji
mora biti spoj logike i kontrole. Ovdje logika predstavlja naš logički program, dok kontrola
predstavlja dokazivanje traženog teorema.
16
Za razliku od funkcionalnog programiranja koje slijedi Von-Neumannovu arhitekturu ili
koristi uzastopne korake, logičko programiranje koristi apstraktni model ili se bavi objektima i
njihovim odnosima. Kao što smo maloprije vidjeli, logika i kontrola su odvojene u logičkom
programiranju, dok su u funkcionalnome pomiješane, a to je ona najveća razlika između ove
dvije vrste programiranja.
5.1. Prolog
Prolog je logički i deklarativni programski jezik povezan s umjetnom inteligencijom i
računskom lingvistikom. Riječ „Prolog“, sastoji se od dvije zasebne riječi: PRO, što označava
programiranje i LOG, što označava logiku. To je jedan od glavnih primjera jezika četvrte
generacije koji podržava paradigmu deklarativnog programiranja (programiranje logikom). Ovo
je posebno prikladno za programe koji uključuju simboličko ili nenumeričko računanje. To je
glavni razlog za korištenje Prologa kao programskog jezika u umjetnoj inteligenciji, gdje su
manipulacija simbolima i manipulacija zaključivanjem glavni zadaci.
U Prologu ne trebamo spominjati način na koji se jedan problem može riješiti, samo treba
navesti koji je problem, kako bi ga Prolog automatski riješio, što uvelike olakšava posao
programeru. Međutim, u Prologu bismo trebali dati tragove kao metodu rješenja.
17
Prolog se sastoji od 3 elementa:
1. Činjenice − Činjenica je predikat koji je istinit, na primjer, ako kažemo, „Trava je
zelena“, onda je to činjenica.
2. Pravila − Pravila su izumiranja činjenica koje sadrže uvjetne klauzule. Da bi se
zadovoljilo pravilo, svi uvjeti moraju biti ispunjeni.
3. Pitanja − Da bismo pokrenuli prolog program, potrebna su nam neka pitanja, na koja se
može odgovoriti danim činjenicama i pravilima.
18
6. FUNKCIONALNI PROGRMASKI JEZICI
Funkcionalno programiranje je način razmišljanja o konstrukciji softvera stvaranjem
čistih funkcija, u kojemu se programi konstruiraju primjenom i sastavljanjem funkcija. U
funkcionalnom programiranju, funkcije se tretiraju kao građani najvišeg reda, što znači da se
mogu vezati za imena te proslijediti kao argumente i vratiti iz drugih funkcija.
Funkcionalni programski jezici posebno su dizajnirani za rukovanje aplikacijama za
simboličko računanje i obradu popisa. Funkcionalno programiranje temelji se na matematičkim
funkcijama. Funkcionalno programiranje podržava funkcije višeg reda i značajke lijene
evaluacije. Neki od najpopularnijih funkcionalnih programskih jezika uključuju: Lisp,Erlang,
Haskell, Clojure… Poput objektno orijentiranog programiranja, funkcionalni programski jezici
podržavaju koncepte kao što su apstrakcija, inkapsulacija, nasljeđivanje i polimorfizam.
Funkcionalni programski jezici podijeljeni su u 2 skupine:
1.Čisti funkcionalni jezici − Ove vrste funkcionalnih jezika podržavaju samo funkcionalne
paradigme. Na primjer: Haskell.
2.Nečisti funkcionalni jezici – Ove vrste funkcionalnih jezika podržavaju funkcionalne
paradigme i programiranje imperativnog stila. Na primjer: LISP.
19
5. Zatvaranje - Unutarnja funkcija koja može pristupiti varijablama roditeljske funkcije, čak
i nakon što se roditeljska funkcija izvrši.
6. Funkcije višeg reda - Omogućuju djelomične primjene. Ova tehnika primjenjuje funkciju
na svoje argumente jedan po jedan
7. Čista funkcija - Funkcija čiji su ulazi deklarirani kao ulazi i nijedan od njih ne smije biti
skriven.
8. Nečiste funkcije - suprotno od čistih. Imaju skrivene ulaze ili izlaze; naziva se nečistim.
Nečiste funkcije se ne mogu koristiti niti testirati izolirano jer imaju ovisnosti.
9. Kompozicija - Kompozicija funkcija kombinira 2 ili više funkcija kako bi se napravila
nova.
6.2.Prednosti i nedostaci
Budući da funkcionalno programiranje nije kao ostale vrste, zbog svoje specifične
primjene u matematici, tako niti naredbe nisu slične, ali prednosti i nedostaci zasigurno postoje.
Neke od prednosti su: omogućuje vam izbjegavanje zbunjujućih problema i pogrešaka u kodu,
paralelna obrada, podržava ugniježđene funkcije, lakše je testirati i izvoditi testiranje jedinica i
otklanjanje pogrešaka u kodu. Iako je riječ o izuzetno kompleksnoj vrsti programiranja, ipak, kao
i svaka vrsta, nije do kraja razrađena te ima poneke nedostatke koje mogu usporit rad, neke od
mana su: teško održavanje jer se mnogi objekti razvijaju tijekom kodiranja, potrebno je dosta
vremena da se postavi računalni okoliš te jezik nije lako razumljiv.
Tablica 1: Usporedba
funkcionalnog
programiranja i objektno
orijentiranog
programiranja
20
6.3.Lisp
Lisp je programski jezik utemeljen na matematičkoj teoriji rekurzivnih funkcija. Lisp je
drugi najstariji programski jezik visoke razine koji je još uvijek u upotrebi, a samo je Fortran
stariji. Lisp je vrlo brzo postao zajednički jezik za programiranje umjetne inteligencije. U Lisp-u
se sva računanja izražavaju kao funkcija barem jednog objekta. Objekti mogu biti druge funkcije,
stavke podataka (kao što su konstante ili varijable) ili strukture podataka. Lisp-ova sposobnost
računanja pomoću simboličkih izraza umjesto brojeva čini ga pogodnim za umjetnu
inteligenciju.
Glavne značajke programskog jezika Lisp:
1. Strojno neovisan jezik.
2. Koristi iterativnu metodologiju dizajna i lako je proširiv.
3. Omogućuje nam dinamičku izradu i ažuriranje programa i aplikacija.
4. Omogućuje otklanjanje pogrešaka na visokoj razini.
5. Podržava objektno orijentirano programiranje.
6. Podržava sve vrste tipova podataka kao što su objekti, strukture, liste, vektori, podesivi
nizovi, skupovi, stabla i simboli.
7. To je jezik koji se temelji na izražavanju.
8. Korištenjem lisp-a također možemo kreirati vlastite funkcije.
21
ZAKLJUČAK
Kao što ste vidjeli u ovom završnom radu, koji pokriva samo pet od mnogih jezika na
terenu, slične ideje se iznova pojavljuju na različitim jezicima. Neki jezici pokušavaju unijeti
nove ideje u stare programske domene, poput pokretanja na virtualnoj mašini dizajniranom za
drugi jezik. Čimbenici koji pokreću nove jezike uključuju novi i brži hardver, nove vrste
aplikacija, nova računalna okruženja (kao što su grafički i web prikaz) i dublje razumijevanje
računalne znanosti.
Važno je naglasiti da je u programiranju najvažniji angažman samog programera, što više
učite i programirate to će te postati bolji te će te stečeno znanje moći iskoristiti na razne načine.
22
LITERATURA
1) Robert W. Sebesta: CONCEPTS OF PROGRAMMING LANGUAGES, URL:
https://www.ime.usp.br/~alvaroma/ucsp/proglang/book.pdf
2) Computer History, Timeline of Computer History, URL:
http://www.computerhistory.org/timeline/software-languages/
3) What is a Scripting Language? ,URL: http://www.computerhistory.org/timeline/software-
languages/
4) About JavaScript, URL: https://developer.mozilla.org/en-
US/docs/Web/JavaScript/About_JavaScript
5) PROCEDURAL PROGRAMMING. URL:
https://uomustansiriyah.edu.iq/media/lectures/6/6_2018_12_13!08_24_38_AM.pdf
6) Pascal - Overview – Tutorialspoint, URL:
https://www.tutorialspoint.com/pascal/pascal_overview.htm
7) What is Object-Oriented Programming (OOP)?, URL:
https://www.techtarget.com/searchapparchitecture/definition/object-oriented-
programming-OOP
8) A Complete Guide to Programming in C++ - LMPT, URL: http://www.lmpt.univ-
tours.fr/~volkov/C++.pdf
9) Functional Programming Paradigm – GeeksforGeeks, URL:
https://www.geeksforgeeks.org/functional-programming-paradigm/
10) What is Logic Programming? Virtusa ,URL: https://www.virtusa.com/digital-
themes/logic-programming
23
POPIS SLIKA
Slika 1: Prvi programski jezik ................................................................................................3
Slika 4: Prikaz korisnikova sučelja u Visual Studio Code programu prilikom korištenje
JavaScripta-a..........................................................................................................................7
24
POPIS TABLICA
Tablica 1: Usporedba funkcionalnog programiranja i objektno orijentiranog
programiranja………………………………………………………………………………....20
25