RAZVOJ PROGRAMA I PROGRAMSKI JEZICI Sandra Hadikaduni Petra

  • Slides: 49
Download presentation
RAZVOJ PROGRAMA I PROGRAMSKI JEZICI Sandra Hadžikadunić Petra Milin Tina Radonić Ivana Salopek Boris

RAZVOJ PROGRAMA I PROGRAMSKI JEZICI Sandra Hadžikadunić Petra Milin Tina Radonić Ivana Salopek Boris Šarunić

ŽIVOTNI CIKLUS RAZVOJA PROGRAMA n n n 5 koraka potrebnih za razvoj programa koji

ŽIVOTNI CIKLUS RAZVOJA PROGRAMA n n n 5 koraka potrebnih za razvoj programa koji čine životni ciklus razvoja programa: Analiza problema Dizajn programa Kodiranje programa Uklanjanje grešaka programa i testiranje Održavanje programa

Graf : Životni ciklus razvoja programa Poboljšani komplet programa 1. Analiza programa 5. Održavanje

Graf : Životni ciklus razvoja programa Poboljšani komplet programa 1. Analiza programa 5. Održavanje programa Dovršeni komplet programa Specifikacije programa 2. Dizajn programa Specifikacije dizajna 4. Uklanjanje grešaka i testiranje Dokumentirani izvorni kod 3. Kodiranje programa

Analiza programa n n Sistemski analitičar i programer pregledavaju specifikacije i nalaze se sa

Analiza programa n n Sistemski analitičar i programer pregledavaju specifikacije i nalaze se sa korisnicima novog sistema Krajnji rezultat prvog koraka - set programskih specifikacija koje opisuju što program treba raditi, koji programski jezik će se koristiti, kako će se program testirati i koja je dokumentacija potrebna

Dizajn programa n n Dizajn programa predstavlja algoritam – koraci potrebni za obavljanje svih

Dizajn programa n n Dizajn programa predstavlja algoritam – koraci potrebni za obavljanje svih zadataka programa Dobar dizajn programa pomaže da proces razvoja ide glatko i da se u budućnosti revizije softverskog programa lakše obavljaju VRSTE PROGRAMIRANJA n Dva najvažnija pristupa su: strukturno programiranje i programiranje orijentirano prema objektima n «Aspect – oriented» programiranje je noviji pristup

Strukturno programiranje n n Metode za sistematiziranje dizajna programa i pojednostavljivanje grupiraju se pod

Strukturno programiranje n n Metode za sistematiziranje dizajna programa i pojednostavljivanje grupiraju se pod nazivom sistemsko programiranje U njemu su specifični logični dijelovi programa napisani kao manji programi zvani moduli ili potprogrami Struktuirani programi šalju naredbe van do modula kad god je potrebno izvesti malu ili ponavljanu radnju Modul obavlja zadatak i tad se programska naredba vraća u glavni program

Programiranje orijentirano prema objektima (OOP) n Stil programiranja u kojem su objekti modelirani koristeći

Programiranje orijentirano prema objektima (OOP) n Stil programiranja u kojem su objekti modelirani koristeći softver objekti n Objekt je softverska grupa koja sadrži varijable – podaci o stanju objekta i s tim povezane metode ili funkcije n Grupiranje varijabli i metoda objekta u jedinstveni paket tako da detalji budu skriveni od korisnika naziva se skrivanje informacija ili encapsulation. Boja tipke Koordinate za prikazivanje Objekt Varijabla Metoda

n n n n Objekt sadrži i informacije koje definiraju kako objekt može izmijeniti

n n n n Objekt sadrži i informacije koje definiraju kako objekt može izmijeniti poruke sa ostalim objektima Ista poruka se može poslati većem broju objekata s tim da se svaki objekt nosi sa porukom sa svojom odgovarajućom metodom - polymorphism. Kako svaki objekt reagira na pojedinu poruku je determinirano odgovarajućom metodom pohranjenom u objektu Podatak u objektu može biti u različitim formatima Objekti su organizirani u razrede - specifične karakteristike zajedničke svim objektima jedne vrste Mogu postojati i podrazredi Svi objekti u podrazredu automatski posjeduju ili nasljeđuju sve karakteristike razreda iz kojeg su izvedeni Velika prednost ovog programiranja je da se objektima može pristupiti različitim programima

 «Aspect-Oriented» Programiranje (AOP) n n n Način slaganja programskih komponenata, jedna povrh druge,

«Aspect-Oriented» Programiranje (AOP) n n n Način slaganja programskih komponenata, jedna povrh druge, tako da se metode i pravila koje se zajedno koriste mogu lako ponovno koristiti sa odvojenim, nepovezanim objektima Aspects – važni individualni moduli ili potprogrami, koji se mogu koristiti kad god je potrebno, bez ponavljanja važnog kôda kroz cijeli program AOP i OOP se smatraju komplementarnim a ne suprotnim tehnologijama Crosscutting - Sposobnost ovog programiranja da koristi prečace kroz tipične dijelove odgovornosti u danom modelu programiranja AOP istovremeno poboljšava kvalitete softvera i smanjuje troškove razvoja i održavanja informatičke tehnologije

ALATI ZA DIZAJNIRANJE PROGRAMA n n n Sastoje se od dijagrama, grafikona, tablica, modela

ALATI ZA DIZAJNIRANJE PROGRAMA n n n Sastoje se od dijagrama, grafikona, tablica, modela i drugih alata koji prikazuju organizaciju zadataka programa, korake koje će program slijediti ili karakteristike objekta Tri opće korištena alata sa strukturnim programiranjem su: structure charts, flowcharts i pseudocode Četvrti alat koji se ponekad koristi u objektno orijentiranom programiranju je data modeling

Structure charts – strukturni grafikoni n Slikovno i riječima prikazuju organizaciju programa n Prikazuju

Structure charts – strukturni grafikoni n Slikovno i riječima prikazuju organizaciju programa n Prikazuju kako su dijelovi programa ili moduli, definirani i međusobno povezani

n n Strukturni dijagrami predstavljaju top – down filozofiju, prema kojoj su moduli konceptirani

n n Strukturni dijagrami predstavljaju top – down filozofiju, prema kojoj su moduli konceptirani prvo na najvišim razinama hijerarhije a onda detaljnije prikazani u nižim razinama Široke funkcije koje su prvo definirane na najvišoj razini, dalje su podijeljene po razinama sve dok ne budu prikazane specifičnim zadaćama koje se trebaju izvesti Prvi korak u dizajnu programa je utvrđivanje kako je program organiziran Jednom kad su sve funkcije programa pažljivo iznesene u grafikonu, počinje idući korak dizajna - u njemu su korisni flowcharts (grafikon toka) i pseudocode

Program flowcharts n n Koriste geometrijske simbole i znakove da bi grafički prikazali slijed

Program flowcharts n n Koriste geometrijske simbole i znakove da bi grafički prikazali slijed koraka u programu Koraci su organizirani po istom logičkom slijedu kao što će se njihove odgovarajuće programske izjave pojavljivati u programu

START Start/Stop program Obrada Namjesti brojilo na 0 Flowline Input/Output Pročitaj izvješće o zaposleniku

START Start/Stop program Obrada Namjesti brojilo na 0 Flowline Input/Output Pročitaj izvješće o zaposleniku Odluka Da Da li ima još izvještaja? Ne Printaj izračun Connector Ne Ne Iskustvo sa kompjutoro m Da U službi tvrtke ≥ 5 godina STOP Da Printaj ime zaposlenik a Dodaj 1 brojilu Pročitaj drugi izvještaj

Pseudocode - alternativa flowchartu n Koristi izjave na mjestu grafičkih simbola u flowchart-u n

Pseudocode - alternativa flowchartu n Koristi izjave na mjestu grafičkih simbola u flowchart-u n Izgledom više sliči na program nego flowchart n Prilično je jednostavan za mijenjanje i prilagodbu n Ne postoji formalni set standarda za pisanje pseudocoda, no ipak postoje neki standardi koji se češće koriste Data modeling n Tehnika ilustriranja podatka u aplikaciji i obično se koristi kad se dizajnira aplikacija koja će se primijeniti koristeći objektno – orijentirano programiranje n Sa OOP aplikacijom svi objekti u programu su identificirani, zajedno sa svojim odgovarajućim razredima, varijablama i kvalitetama

KONTROLNA STRUKTURA n Model koji kontrolira kad i kako će se instrukcije u programu

KONTROLNA STRUKTURA n Model koji kontrolira kad i kako će se instrukcije u programu izvoditi n Strukturni programi koriste tri osnovne kontrolne strukture: redoslijed, selekcija i ponavljanje Redoslijed kao kontrolna struktura n Jednostavna serija procedura koje slijede jedna drugu n Nakon što se prva funkcija u potpunosti iznese, kontrola ULAZ programa se pomiče na drugi korak Procedura 1 Procedura 2 Procedura 3 IZLAZ

Selekcija kao kontrolna struktura n Upute koje prima kontrola programa ovise o određenim uvjetima

Selekcija kao kontrolna struktura n Upute koje prima kontrola programa ovise o određenim uvjetima n Najčešći tip selekcije je ako-onda-ili struktura u kojoj uvjet može rezultirati dvjema mogućnostima – točno ili netočno n Drugi mogući tip selekcije se koristi kad postoji više od dvije mogućnosti. Ova struktura - case control structure, dozvoljava toliko mogućih rezultata određenog uvjeta koliko je potrebno ULA Z Točn o (Da) Netočno (Ne) ? uvjet Procedura 1 Procedura 2 Uvjet 1 Procedura 1 IZLAZ Uvjet 2 Procedura 2 IZLAZ Uvjet 3 Procedura 3

Ponavljanje kao kontrolna struktura n Koristi se jedna ili više instrukcija koje treba ponoviti

Ponavljanje kao kontrolna struktura n Koristi se jedna ili više instrukcija koje treba ponoviti u petlji sve dok se određeni uvjet ne zadovolji n Može biti u dva oblika: do-while ili do-until ULAZ Netočno (Ne) Procedura ? uvjet Točno (Da) Procedura IZLAZ Netočno (Ne) Točno (Da) IZLAZ Do - while Do - until

VAŽNOST DOBROG DIZAJN PROGRAMA n n n Ako program nije dobro isplaniran prije nego

VAŽNOST DOBROG DIZAJN PROGRAMA n n n Ako program nije dobro isplaniran prije nego li počne proces kodiranja obično rezultira sa manjom kvalitetom Postoji nekoliko osnovnih principa koji bi se trebali imati na umu da bi se napravio dobar programski dizajn: Budi točno određen, Pravilo jedne ulazne točke i jedne izlazne, Ne postojanje infinite loops ili logičkih grešaka, Specifikacije dizajna.

Kodiranje programa n n n Kodiranje je proces pisanja koraka programa na programskom jeziku

Kodiranje programa n n n Kodiranje je proces pisanja koraka programa na programskom jeziku U procesu kodiranja kompjuterski profesionalci često koriste posebne tehnike koje im pomažu da budu produktivniji Neke tehnike koje su korisne u tu svrhu su odabir najprikladnijeg programskog jezika i korištenje odgovarajućih standarda kodiranja, ponovno upotrebljivog koda i rječnika podataka

ODABIR PROGRAMSKOG JEZIKA n n n n Postoji mnogo različitih programskih jezika koji se

ODABIR PROGRAMSKOG JEZIKA n n n n Postoji mnogo različitih programskih jezika koji se mogu odabrati za kodiranje programa Neki kriteriji koji utječu na taj odabir su sljedeći: Prikladnost Uklopljivost Standardi Dostupnost programera Prenosivost Brzina razvoja

STANDARDI KODIRANJA n n n Lista pravila napravljenih da bi se standardizirali stilovi programiranja

STANDARDI KODIRANJA n n n Lista pravila napravljenih da bi se standardizirali stilovi programiranja Ova pravila pomažu da programi budu čitljiviji i lakši za održavanje Komentari ili primjedbe su bilješke u sklopu kôda programa koje objašnjavaju ključne značajke i korake programa, a napisane su na takav način da ih računalo ignorira kad se program izvodi Obično se označavaju specifičnim simbolima, kao npr. *, C, ' ili // Komentari se također zovu interna dokumentacija

PONOVNO UPOTREBLJIV KÔD n n Generički segmenti kôda koji mogu biti opet upotrijebljeni sa

PONOVNO UPOTREBLJIV KÔD n n Generički segmenti kôda koji mogu biti opet upotrijebljeni sa manjim modifikacijama Omogućuje da se dijelovi novih programa kreiraju kopiranjem i lijepljenjem prethodno testiranih dijelova koda, bez grešaka, iz već postojećih programa, što uvelike smanjuje vrijeme razvoja RIJEČNICI PODATAKA n n Sadrži informacije o podacima koji se susreću u procesiranju informacija o poduzeću Većina rječnika podataka su aktivni, što znači da su umreženi s aplikacijama koje podržavaju

PREVOĐENJE KODIRANIH PROGRAMA U IZVEDIVI KOD n n n Izvorni kôd - skup navoda

PREVOĐENJE KODIRANIH PROGRAMA U IZVEDIVI KOD n n n Izvorni kôd - skup navoda programa koje osoba piše pomoću programskog jezika Da bi se program izvodio na računalu, izvorni kôd mora se prevesti u bitove i bajtove koje računalo može razumjeti Ova verzija binarnog ili strojnog jezika naziva se objektni kôd ili objektni modul Kôd se prevodi sa izvornog na objektni kôd upotrebom prevoditelja jezika Tri su uobičajena tipa prevoditelja jezika: kompajleri, interpreteri i asembleri

Kompajleri n Prevodi cijeli program u strojni jezik prije izvođenja istog n Svaki jezik

Kompajleri n Prevodi cijeli program u strojni jezik prije izvođenja istog n Svaki jezik orijentiran na kompajler zahtjeva vlastiti poseban kompajler Interpreteri n Ne kreira cijeli objektni modul za program nego čita, prevodi i izvodi izvorni program red po red n Interpreter radi prijevod na strojni jezik za vrijeme rada programa, svaki put kad se program pokrene n Prednosti i nedostaci u usporedbi s kompajlerima: n prednosti - lakši za upotrebu i pomažu programerima lakše otkriti greške u programu jer izvedba obično stane ako se pojavi greška n nedostaci - manje učinkoviti od kompajlera, pa se programi izvode sporije

Asembleri n n Prevodi navode sa asemblerskog jezika na strojni jezik Upotrebljavaju uglavnom samo

Asembleri n n Prevodi navode sa asemblerskog jezika na strojni jezik Upotrebljavaju uglavnom samo profesionalni programeri za pisanje učinkovitog kôda Radi kao kompajler, radeći spremljene objektne module Svaki asembler se piše posebno za svaki tip računala jer je taj jezik specifičan za računalo

Uklanjanje grešaka programa i testiranje n n Proces kojim se osigurava da program nema

Uklanjanje grešaka programa i testiranje n n Proces kojim se osigurava da program nema grešaka ili bug-ova Uklanjanje grešaka je obično dugačak proces, ponekad zahtjeva više od 50% vremena razvoja programa PRELIMINARNO UKLANJANJE GREŠAKA n Proces uklanjanja grešaka počinje nakon ulaska izvornog koda u računalo n Rijetko je neki program bez grešaka kad ga programer pokuša prvi put pokrenuti n Greške se najčešće klasificiraju na greške sintakse ili logične greške

Greške sintakse n n n Pojavljuju se kad programer ne slijedi odgovarajuću sintaksu (pravilo)

Greške sintakse n n n Pojavljuju se kad programer ne slijedi odgovarajuću sintaksu (pravilo) programskog jezika koji se upotrebljava Npr. , računalo ne može razumjeti što se želi napraviti ako se krivo napiše PRINT kao PRNT, ako se utipka END OF IF STATEMENT umjesto točne fraze END IF, ili ako se stavi potreban zarez ili zagrada na krivo mjesto Interpreter jezika ili kompajler obično obavještava programera o greški, naznačavajući izvor greške sintakse

Logične greške n Proizlaze iz logičnih problema u dizajnu programa i često ih je

Logične greške n Proizlaze iz logičnih problema u dizajnu programa i često ih je teško otkriti n Takva greška se vidi kad je sintaksa naredbe točna, ali program daje krivi rezultat n Za prepoznavanje logičnih grešaka, programeri često upotrebljavaju privremen pisani «dummy» izvod koji mogu biti umetnuti u različite lokacije da pokažu kako se program grana n Ti pisani izvodi otkrivaju da je samo jedan broj budući input zbog brojila koji je počeo od 1 umjesto od 0 n Jednom kad je greška ispravljena program radi pravilno n Za pomoć lociranja logične greške, većina kompajlera danas sadržavaju ugrađeni program za traženje pogrešaka n Nakon pronalaženja i lociranja svih identificiranih pogrešaka i sastavljanje potrebnih korekcija, programer ponovo sakuplja i ponovo rješava program da vidi da li su sve pogreške otklonjene

Testiranje n Na nekoj točci u procesu pronalaženja pogrešaka, program će izgledati pravilan n

Testiranje n Na nekoj točci u procesu pronalaženja pogrešaka, program će izgledati pravilan n Dobra «test data» bit će prava mreža podataka koja će bit generirana i kojom će upravljati korisnik sistema n «Test data» može također kontrolirati vjerojatne izvore propust kodiranja Beta testiranje n Test napravljen na mjestu proizvodnje u poduzeću često se naziva alpha test n Program kreiran za masovnu distribuciju mora proći kroz nekoliko rundi testiranja van poduzeća n «Beta» testiranje – preporuča da program što više puta prođe kroz testiranja prije nego će proizvod biti pušten u prodaju

Završen paket programa n n Kada je programsko pronalaženje pogrešaka i testiranje završeno, primjerak

Završen paket programa n n Kada je programsko pronalaženje pogrešaka i testiranje završeno, primjerak «test data» , rezultati i završen programski kôd mogu biti uključeni u programski paket Za završen programski paket, potrebna je korisnička dokumentacija koja bi trebala biti razvijena Uobičajeno obuhvaća korisnički priručnik koji sadrži informacije za instrukcije pokretanja programa, prikaz softverskih naredbi, te naputak za otkrivanje smetnji koji pomaže sa poteškoćama Korisnička dokumentacija trebala bi biti napisana na takav način da je razumljiv za sve korisnike

Programsko održavanje n n n Proces obnavljanja softvera tako da i dalje bude koristan

Programsko održavanje n n n Proces obnavljanja softvera tako da i dalje bude koristan Programski paket trebao bi se obnavljati da bi pokazao koji problemi su se pojavili i koje promjene programa su potrebne da bi ih se uklonilo Ako je problem prevelik za rutinsko programsko održavanje, program bi se trebao opet razviti

ALATI ZA OLAKŠAVANJE PROGRAMSKOG RAZVOJA n Programski razvojni alati mogu biti upotrijebljeni da olakšaju

ALATI ZA OLAKŠAVANJE PROGRAMSKOG RAZVOJA n Programski razvojni alati mogu biti upotrijebljeni da olakšaju razvoj programskog procesa Uključuju: n Aplikativne generatore, n Kompjutersko - potpomognute softverske tehničke (CASE) alate, n Software – sredstva menadžmentskog programa, n Alate za brži aplikacijski razvoj (RAD)

Aplikativni generatori n n n Softverski proizvod koji omogućava programerima i korisnicima vrlo brzo

Aplikativni generatori n n n Softverski proizvod koji omogućava programerima i korisnicima vrlo brzo šifrirati novu aplikaciju Jednostavni primjer je kompjuterski čarobnjak koji se obično pojavljuje u word procesorima, spreadsheets-ima, te ostalim aplikativnim programima Složeniji aplikacijski generatori mogu kreirati šifru za potpune aplikacije

IZVJEŠĆA I GENERATORI OBLIKA n Generator izvješća omogućava pripremu izvješća brzo i jednostavno n

IZVJEŠĆA I GENERATORI OBLIKA n Generator izvješća omogućava pripremu izvješća brzo i jednostavno n Jednom definirana izvješća mogu se pojavljivati na zahtjev n Generatori oblika su srodni generatorima izvješća, izuzev što oni mogu kreirati oblike ili zaslone korištene za input podataka u programu ili bazi podataka n Mnoge baze podataka sadržavaju neke tipove generatora oblika GENERATORI ŠIFRI n Programi koji dozvoljavaju aplikacijama da se kreiraju automatskim prijevodom sa jednog jezika na drugi, ili sa jednog formata u neki drugi oblik šifre

MACRO ZAPISIVAČ n n n Ishod pritiska tipke spremljenog u posebnu datoteku koja će

MACRO ZAPISIVAČ n n n Ishod pritiska tipke spremljenog u posebnu datoteku koja će biti prikazana u svakom trenutku kada zaželite da se pokaže iz aplikacijskog programa u kojem je kreiran Macro može biti korišten za automatsko ponavljanje zahtjevnih zadataka Napisan je u macro programskom jeziku i može biti zahtjevan za pravljenje i razumijevanje Macro zapisivač zabilježuje sve pritiske tipki i svaki klik miša koji se učini dok je zapisivač ugašen Nakon što je macro snimljen, šifra stvorena u macro zapisivaču može jednostavno biti promijenjena za promjenu sitnih preinaka

Kompjutersko-potpomognuta softverska tehnika (CASE) n n Upućuje općenito na proizvode dizajnirane da automatiziraju, pomognu

Kompjutersko-potpomognuta softverska tehnika (CASE) n n Upućuje općenito na proizvode dizajnirane da automatiziraju, pomognu voditi, i pojednostave jedan ili više koraka u programskom razvoju CASE sistem sadrži brojne alate za dizajn, programiranje i održavanje koji pomažu pri bržem razvoju softverskih proizvoda Specifični alati koji su uključeni variraju od jednog isporučitelja do drugih CASE proizvodi omogućavaju brži razvoj aplikacija sa manje grešaka u šifriranju

Software – sredstva menadžmentskih alata n n Dizajnirana su da bi olakšala ponovno korištenje

Software – sredstva menadžmentskih alata n n Dizajnirana su da bi olakšala ponovno korištenje šifri Ponašaju se kao glavno spremište podataka testiranih software komponenata poduzeća koji mogu biti ponovno korišteni u novim aplikacijama brzo i učinkovito Software – sredstva menadžmenta mogu se naći bilo na razini pojedinačnih projekta ili na razini poduzeća Cilj upotrebe ovog softvera je da napravi nove aplikacije i podupre nove poslovne procese mnogo brže i vjerodostojnije

Alati za brži aplikacijski razvoj (RAD) n n Odnose se na grupu metoda razvoja

Alati za brži aplikacijski razvoj (RAD) n n Odnose se na grupu metoda razvoja programa u kojima je glavni cilj postići ekstremnu zbijen raspored Često se koriste tijekom cijeloga procesa razvoja programa, umjesto samo tijekom programskog šifriranja Koristi se zajedno sa objektno-orijentiranim programiranjima RAD programi obično uključuju čarobnjaka, «screen painters» , knjižnice predmeta itd.

PROGRAMSKI JEZICI n n Programski jezik je skup pravila, riječi, simbola i kodova koji

PROGRAMSKI JEZICI n n Programski jezik je skup pravila, riječi, simbola i kodova koji se, pomoću programskog softvera, upotrebljavaju za pisanje kompjutorskih programa Programski softver se sastoji od programa koji pronalazi i uklanja pogreške u drugim programima i prevodilačkog jezika potrebnog za pretvaranje završnog izvornog koda u strojni jezik koji je razumljiv računalu Kategorije programskih jezika: n jezici niske razine n jezici visoke razine n jezici vrlo visoke razine ( jezici 4. generacije) n Programske jezike možemo još podijeliti i na prirodne i vizualne jezike

PROGRAMSKI JEZICI NISKE RAZINE n Najstariji jezici u kojima programeri upisuju naredbe na najnižoj

PROGRAMSKI JEZICI NISKE RAZINE n Najstariji jezici u kojima programeri upisuju naredbe na najnižoj razini koristeći binarnu formu (0 i 1), vrlo su detaljni i strojno ovisni n n Asemblerski jezik – programski jezik nastao na temelju strojnog, ali programerima omogućuje korištenje naziva (imena) i simbola umjesto brojeva. Prednosti: jednostavniji za pisati i razumijeti, efikasno i brzo izvršavanje naredbi, zahtjeva mali prostor za pohranu. Mane: dugo se pišu i teže održavaju, izvode se samo na vrsti procesora za koju su napisani Strojni jezik – programski jezik pomoću kojeg se programi pišu u naredbama binarne forme, rijetko se koriste jer su ljudima teški za čitati i razumijeti

PROGRAMSKI JEZICI VISOKE RAZINE n Jezici koji omogućuju programeru pisanje programa manje ili više

PROGRAMSKI JEZICI VISOKE RAZINE n Jezici koji omogućuju programeru pisanje programa manje ili više neovisnih o vrsti i tipu računala, programere oslobađaju od potrebe poznavanja detalja o hardveru na kojem će program funkcionirati, jednostavniji su za čitanje, pisanje i održavanje. Programi pisani u jezicima visoke razine moraju se prevoditi u strojni jezik upotrebom kompilatora ili interpretera n Jezici 3. generacije: BASIC, COBOL, Pascal, C, FORTRAN i drugi n Noviji visoko razinski jezici: C++, C# i Visual Basic

PROGRAMSKI JEZICI VRLO VISOKE RAZINE n Nazivaju se još i jezicima četvrte generacije n

PROGRAMSKI JEZICI VRLO VISOKE RAZINE n Nazivaju se još i jezicima četvrte generacije n Prednosti: - najbliži su prirodnim ljudskim jezicima - jednostavni za korištenje - zahtjevaju vrlo malo kodiranja - efikasni i vrlo produktivni n Mane: - sporiji u izvršavanju naredbi - zahtjevaju veće mjesto pohrane - manja produktivnost kad ih se prevede na strojni jezik n Koriste se za tumačenje i objašnjavanje, a ne za samu proceduru izvršavanja naredbi, te za pristup bazama podataka

PRIRODNI I VIZUALNI JEZICI n Softver koji koristi sučelje prirodnog jezika omogućava ljudima komunikaciju

PRIRODNI I VIZUALNI JEZICI n Softver koji koristi sučelje prirodnog jezika omogućava ljudima komunikaciju sa kompjutorskim sustavom na njihovom urođenom jeziku, korisnik ne mora poznavati sintaksu i pravila, te unosi naredbe pomoću tipkovnice i glasovnih naredbi, najbliži su im jezici 4. generacije n Vizualni jezici se koriste grafičkim programskim okruženjem, programeri ne moraju poznavati pravila, programi pisani ovim jezikom reagiraju povodom različitih radnji npr. klikanjem na neko dugme ili ikonicu Prvi programski jezik koji je koristio vizualno okruženje je Visual Basic, a kasnije C++, Pascal i Java n

POPULARNI PROGRAMSKI JEZICI n Najpopularniji su jezici 3. i 4. generacije n FORTRAN (FORmula

POPULARNI PROGRAMSKI JEZICI n Najpopularniji su jezici 3. i 4. generacije n FORTRAN (FORmula TRANslator) - najstariji programski jezik visoke razine, oblikovao ga je znanstvenik John Backus 1954. g. , koristi se u aplikacijama za rješavanje znanstvenih, matematičkih i tehničkih problema pomoću manipulacije formula, većina FORTRAN kompajlera su vrlo efikasna i brza u prevođenju izvornog koda u objektni kod jer im je, u vrijeme kad su nastali, konkurencija bila asemblerski jezik, najčešće inačice su: FORTRAN IV i FORTRAN 77

n COBOL ( Common Business-oriented Language) razvijen 1958. g. , namijenjen razvoju poslovnih aplikacija

n COBOL ( Common Business-oriented Language) razvijen 1958. g. , namijenjen razvoju poslovnih aplikacija koje se izvode na velikim računalima, to je strukturni program koji se sastoje od modula i podmodula te od više manjih potprograma, duži su, duže se pišu i teže održavaju, lakše se razumiju jer omogućuju upotrebu cjelovitih riječi i to prirodnog jezika, služi za razvoj starijih naslijeđenih aplikacija, COBOL programi se mogu prevesti i prerestruktuirati u druge potrebne formate kao npr. Active-X controls ili Java bytecode n Pascal – stvoren da bi ispunio potrebu alata za učenje za stvaranje strukturiranog programiranja, podupire obilje tipova podataka i posebno je prilagođen za matematičke i znanstvene aplikacije

n n n Basic – stvoren za lakše učenje početničkog jezika koji bi radio

n n n Basic – stvoren za lakše učenje početničkog jezika koji bi radio u prijateljskom, ne – frustrirajućem programskom okružju, lagan za učenje i upotrebu i dovoljan je malen spremnik za pohranu podataka jezika prevodioca Visual Basic – objektno orjentiran pripada u četvrtu generaciju Basica i stvoren je da bi razvio sofisticirane aplikacije koje rade u Microsoft Windows operativnom sustavu C, C++ i C # - C kombinira najbolje djelove strukturiranih jezika visoke razine i asemblerskih jezika to jest, relativno ih je lako kodirati i efikasno koristi izvore računala, dokazao se kao snažan i fleksibilan jezik koji bi se koristio za različite aplikacije

- novija verzija C jezika nazvana je C++ koji uključuje osnovne djelove od C,

- novija verzija C jezika nazvana je C++ koji uključuje osnovne djelove od C, čineći sve C++ programe razumljivima C kompajlerima. Postoje i vizualne verzije C++ jezika, npr. Microsoft Visual C++ je jedan od najpopularnijih programskih jezika za grafičke aplikacije - najnovija verzija C jezika je C# (C sharp), to je objektno orijentiran programski jezik stvoren da bi poboljšao produktivnost u razvoju Web aplikacija n Java - Java program može koristiti bilo koji operativni sustav ili Web browser koji razumije Java bytecode. - bytecode je kompilirani format Java programa - Platform independence je jedna od većih prednosti Java programa - Java je trenutno jedan od najpopularnijih modernih programskih jezika

HVALA NA POZORNOSTI!

HVALA NA POZORNOSTI!