510 likes | 1.32k Views
Programski jezici. Programski jezik - jezik koji razumije računalo . Podjela: strojni jezici, simbolički jezici niske razine, simbolički jezici visoke razine. Programski jezici. Jedini oblik programa koji računalo doslovno "razumije“ .
E N D
Programski jezik - jezik koji razumije računalo. • Podjela: • strojni jezici, • simbolički jezici niske razine, • simbolički jezici visoke razine. Programski jezici Sanda, 2012.
Jedini oblik programa koji računalo doslovno "razumije“. Strojni jezik (engl. machine language, machine code) je binarni prikaz programaza računalo. Strojni jezik Sanda, 2012.
Vezan uz građu računala, odnosno ovisan o središnjoj jedinici za obradu (svaki procesor ima sebi svojstven strojni jezik). Pisanje programa je složeno,zahtijeva dobro poznavanje građe računala. Samo za usko specijalizirane stručnjake. Strojni jezik Sanda, 2012.
Nastali s ciljem olakšanja programiranja (čitljiviji i lakši za razumijevanje od binarnog zapisa). • Podjela: • simbolički jezici niske razine, • simbolički jezici visoke razine. Simbolički jezici Sanda, 2012.
Asembler (engl. assembler) - sibolički jezik niske razine. • Svaka binarna naredba strojnog jezika predočena je odgovarajućim simbolom (obično kratica engleskog opisa naredbe pa se lako pamti)npr.: • ADD • SUB • CMP Simbolički jezik niske razine Sanda, 2012.
Asembler - čitljiviji i lakši za razumijevanje ali još uvijek vrlo težak za pisanje i ispravljanje. Program napisan asemblerom treba prevesti u binarni oblik da bi ga procesor “razumio” i mogao izvršiti. Prevodi - program prevoditelj. Simbolički jezik niske razine Sanda, 2012.
Programski jezici kod kojih se veći ili manji skup naredaba strojnog jezika nadomješta jednom naredbom višeg simboličkog jezika. • Naredbe - mnogo više nalik govornom jeziku, lakšeza pamćenje i uporabu. • Isti program može se izvršavati na različitim računalima (procesorima). Simbolički jezici visoke razine Sanda, 2012.
Simbolički jezici visoke razine Sanda, 2012.
U drugoj polovini dvadesetog stoljeća nastaju: FORTRAN, COBOL, BASIC, PASCAL, C i mnogi drugi. • Mogu se podijeliti: • jezici opće namjene, • jezici prilagođeni određenoj vrsti problema. Simbolički jezici visoke razine Sanda, 2012.
Jezik opće namjene, velikih mogućnosti, u načelu neovisan o računalu na kojem se izvodi. (autor: Denis M. Ritchie, 1973. godine) Postigao je velik uspjeh jer su njime razvijani različiti operacijski sustavi i namjenski programi. C jezik Sanda, 2012.
Izvorni program – izvršni program • Izvorni program (engl. source code) - program napisan simboličkim programskim jezikom. • Prevode programi - jezični prevoditelji. • Kao posljedica nastaje izvršni program (strojni oblik). Sanda, 2012.
Međusobno se razlikuju složenošću i djelotvornošću. • Načelno se mogu podijeliti u dvije skupine: • interpreteri (interpretatori, engl. interpreter), • kompajleri (kompilatori, engl. compiler). Jezični prevoditelji Sanda, 2012.
Naredbe izvornog programa prevodi u strojni oblik u trenutku izvođenja programa. Naredba se prevede pa izvrši. Nakon toga se prevede sljedeća naredba i izvrši i tako redom. Interpreter Sanda, 2012.
Sve naredbe izvornog programa prevodi i analizira odjednom. Rezultat rada je izvršni tj. strojni oblik programa. Za razliku od interpretera, kod kompajlera su izvorni i izvršni program potpuno odvojeni i pri izvođenju neovisni. Kompajler Sanda, 2012.
Kompajler Sanda, 2012.
Prenosivi (engl. portable) programi - programi koji se bez izmjena mogu izvoditi na različitim korisničkim računalima neovisno o sklopovlju i operacijskom sustavu. Potreba za programima takve vrste raste s pojavom Interneta. Prenosivi programi Sanda, 2012.
Java - snažan, objektno orijentiran programski jezik opće namjene. • Omogućava stvaranje potpuno prenosivih programa koristeći dva programa prevoditelja: • Java kompajler, • Java prividno računalo. Java Sanda, 2012.
Java kompajler - programkoji se nalazi na računalu programera koji piše i prevodi izvorni program. • Prevođenjem nastaje oblik programa koji se ne može izravno izvršiti ni na jednom stvarnom računalu ali semože proslijediti svakom računalu bez obzira na vrstu računala i operacijski sustav (potpuno je prenosiv). • Taj se međukorak do konačnog strojnog oblika naziva Java bytecodes. Java kompajler – java bytecodes Sanda, 2012.
Java bytecodes je "strojni oblik programa" za Java prividno ili virtualno računalo. Java prividno računalo je program prevoditelj, mora se nalaziti na računalu na kome se program želi izvršiti. Za svaku vrstu procesora - posebno Java prividno računalo (engl. Java virtual machine, Java engine). Rezultat rada Java prividnog računala je strojni oblik programa koji računalao ”razumije” i može ga izvršiti. Java prividno računalo Sanda, 2012.
Java program Sanda, 2012.
Zamisao uporabe gotovih komponenti pri gradnji računalnih sustava primjenjiva je i pri izradi programa. Zadatak se u tu svrhu dijeli na manje dijelove koji se neovisno rješavaju i provjeravaju. Gotovi dijelovi programa nazivaju se objekti (engl. object), a programi koji rabe objekte objektno orijentirani programi (engl. OOP, object oriented programs). Objektno orijentirani programi Sanda, 2012.