260 likes | 568 Views
Diplomski rad : Skriptni programski jezici. Student : Mina Relji ć 248 /09 Mentor : prof . Veljko Milutinovi ć. Uvod. Fundamentalna promena u pisanju programa Prelazak iz sistemskih programskih jezika u skriptne programske jezike Budu ć nost skriptnih programskih jezika.
E N D
Diplomskirad:Skriptniprogramskijezici Student: Mina Reljić 248/09Mentor: prof. VeljkoMilutinović
Uvod Fundamentalnapromena u pisanjuprograma Prelazakizsistemskihprogramskihjezikau skriptneprogramskejezike Budućnostskriptnihprogramskihjezika "Skriptni programski jezici", Mina Reljić
Sistemski programski jezici • Dizajnirani za: • Izgradnju struktura podatakaodnule • Izgradnjualgoritama od nule • Unapređivanjekompleksnostiprograma • Na nivou najprimitivnijih računarskihelemenata • Reč memorije • Resursibliskiarhitekturiračunara "Skriptni programski jezici", Mina Reljić
Skriptniprogramskijezici • Dizajniraniza: • Povezivanjepostojećih moćnihkomponenti • Pojednostavljenjevezaizmeđu komponenti • Brzrazvojaplikacija "Skriptni programski jezici", Mina Reljić
Trend • Primenuskriptnihjezikapovećavaju: • Brze mašine • Boljiskriptniprogramskijezici • Velikiznačajgrafičkogkorisničkoginterfejsa • Arhitekturakomponenti • EkspanzijaInterneta "Skriptni programski jezici", Mina Reljić
Skriptniprogramskijezik • Interpretativniprogramskijezik • Veomavisoknivoapstrakcije • Podržavaskripte • programenapisanezaspecijalnoizvršno okruženje • Interpretirajuiautomatizujuizvršavanjezadataka • Alternativa – čovekoperater "Skriptni programski jezici", Mina Reljić
Tipoviskriptnihprogramskihjezika Lepljivi (engl. “Glue”) jezici Jezicizakontroluposlovailjuske GUI skriptjezici Specifičnijezicizaaplikacije Ugradivi (eng. “embeddable”) jezici "Skriptni programski jezici", Mina Reljić
Lepljivi (engl. “Glue”) jezici • Najčešće skriptniprogramskijezik • Povezuje (“lepi”) softverskekomponente • Primer: Povezivanjebazepodatakasaserverom • Nekiodprimera: • Unix shell skripte (csh, bash, sh…) • JavaScript • PHP • Python • Ruby "Skriptni programski jezici", Mina Reljić
Jezicizakontroluposlovailjuske • Proizašliizautomatizacijekontroleposlova • Primeri: • Startovanjesistemskogprograma • Kontrolaponašanjasistemskogprograma • Naslednici IBM-ovog JCL • JCL – Job Control Language • Korišćen u istesvrhe "Skriptni programski jezici", Mina Reljić
GUI skriptjezici • Interakcijasagrafičkimkorisničkiminterfejsom • Grafičkiprozori • Meniji • Dugmad • Automatizacijakorisničkihakcija • Zovu se joši “makroi” • Kontrola se sprovodiputempritiskanjadugmića • Kontrola se sprovodinaakciju miša "Skriptni programski jezici", Mina Reljić
Specifičnijezicizaaplikacije • Idiomatskiskriptnijezici • Skrojenizapotrebekorisnikaaplikacije • Izražavanjeakcijaekspertskogsistema • Kompjuterskeigrice (“gaming” okruženje) • Specifičan zadomen • Specijalizovanzajednuaplikaciju "Skriptni programski jezici", Mina Reljić
Ugradivijezici • Tehničkisličnijezicimazaaplikacije • Prenošenjeveštine između aplikacija • Primena: • Aplikacijekojezahtevajubrzeperformanse • Brzefunkcijeprototipa • Korisnik ne znaunutrašnjedelovanje • Primeri: • Lua • Python "Skriptni programski jezici", Mina Reljić
Skriptniisistemskijezici • Prednostiskriptnihprogramskihjezika: • Kratkiisažetiprogrami • Brzirazvoj • Manjirizikodgreške • Izostavljenoprevođenjeipovezivanjeprograma • Provere u vremeizvršavanja • Bogatebibliotekegotovihkomponenti "Skriptni programski jezici", Mina Reljić
Skriptniisistemskijezici • Prednostisistemskihprogramskihjezika: • Osiguranboljiučinakkonačnogkoda • Upravljanjedetaljimaizvršavanja • Pogodnizaračunskizahtevnefunkcionalnosti • Pogodnizaizradukomponentikojeće se koristiti u skriptnomjeziku "Skriptni programski jezici", Mina Reljić
Promenljive • Skriptnijeziciteže danemajutipove • Promenljivoizamenljivoponašanje • Promenljive String u jednom, Integer u drugomtrenutku • String orijentisanijezici • Uniformnareprezentacijarazličitihpodataka • Jezikbeztipova – lakše povezivanjekomponenti "Skriptni programski jezici", Mina Reljić
Greške u skriptnimjezicima • Podjednakobezbednikaoisistemski • Detekcijagreške u poslednjemtrenutku • Kada se nekapromenljivakoristi • U sistemskomjeziku u vremeprevođenja • Sistemskijezik: više koda, manjafleksibilnost "Skriptni programski jezici", Mina Reljić
Skriptjezik – Interpretiranijezik • Bržipreokretitokomrazvoja • Eliminisanokompajliranje • Aplikacijesaregularnimizrazima • Manjaefikasnost u odnosunasistemske • Sistemskijezik – Kompajliranijezik • Interpretirani - moćijednostavnost • Kompajlirani - efikasnostimapiranjanahardver "Skriptni programski jezici", Mina Reljić
Poređenje Prednostii mane programakompajliranihiinterpretativnihprogramskihjezika "Skriptni programski jezici", Mina Reljić
Performanse • Manjeaplikacijenapisaneskriptjezikomu odnosunaonunapisanusistemskim • Dominantanuticajperformansekomponenti • Komponenteimplementiranesistemskimjezikom "Skriptni programski jezici", Mina Reljić
Skripjezik – jezikvisokognivoa • Udaljenostodarhitektureračunara • Bezbrige o memorijskomprostoru • Sporiji u odnosunajezikenižegnivoa • Automatskabriga o resursima • Dodatnoopterećenjesistema • Lakša implemetacija • Brža implementacije > brzinaizvršavanja • Engl. “Time to market” "Skriptni programski jezici", Mina Reljić
Poređenjenanivouapstrakcije Poređenjerazličitihprogramskihjezikanaosnovunivoaapstrakcije. "Skriptni programski jezici", Mina Reljić
Stepenzadovoljstvakorisnika "Skriptni programski jezici", Mina Reljić
Kadatrebakoristitiskriptjezike • Spajanjepostojećihprogramskihkomponenti • Čestepromeneu aplikaciji • Prisutnostgrafičkogkorisničkoginterfejsa • Funkcijeaplikacije se čestomenjaju • Aplikacija je proširiva • AplikacijamanipulišeStringovima "Skriptni programski jezici", Mina Reljić
Kada ne trebakoristitiskriptjezike • Kompleksnialgoritmiistrukturepodataka • Procesuiranjevelikekoličinepodataka • Funkcijestrogodefinisaneistalne "Skriptni programski jezici", Mina Reljić
Zaključak • Brzrazvojaplikacija • Jednostavnasintaksaisemantika • Do četiriputamanjevremenazarazvojaplikacijeu odnosunasistemskiprogramskijezik • Produktivnostprogramera • Manjekoda • Bržirazvoj > Brzoizvršavanje "Skriptni programski jezici", Mina Reljić
Zaključak Glavnasila u razvojuaplikacija Udeonatržisturaste EkspanzijaInternetapopulariše korišćenje “Use computers less efficiently, use people more efficiently” "Skriptni programski jezici", Mina Reljić