ebamugav: Fortran, C (portaabel assembler), Abstraktsem ja Pakkuda programmeerijale valmistehtud standardtükke. mugavam: Lisp, Ada, ML, Java, Python Võimaldada kasutajal arvutis ühtemoodi ja harjumuspäraselt tegutseda, sõltumatult sellest, mis Kompileerimine: masinkoodis programm nimega kompilaator programmid tal arvutis on. teisendab keeles X programmi masinkoodfailiks Y. Seejärel Miks opsüsteem? täidetakse saadud masinkoodis programm Y. Näide: C. Arvutit saaks programmeerida ka ilma opsüsteemita. Sel juhul: oleks iga programmi tegemine palju raskem kui opsüsteemi Interpreteerimine: masinkoodis programm nimega interpretaator olemasolu korral. Kasutajate jaoks näeks eri programmid väga eri moodi välja loeb sisse X keeles faili ja asub seda rida-realt täitma
BEGIN täitmiseks.Kompileerimine: masinkoodis programm microsoftile ja macintoshile. sum:=0; nimega kompilaator teisendab keeles X programmi FOR i:=0 TO n DO masinkoodfailiks Y. Seejärel täidetakse saadud 1975 Micro-Soft(Gates ja Allen), IBM 5100 (I masinkoodis programm Y. Näide: sum:=sum+i C.Interpreteerimine: masinkoodis programm "läpakas")
lennu-,merevägi. 1989-90 FIDONET – rahvusvaheline võrguots programm nimega kompilaator teisendab keeles X sum=0 programmi masinkoodfailiks Y. Seejärel täidetakse Eestis – 90a epost,USENET for i in range(n+1): saadud masinkoodis programm Y. Näide: 1935-1937 Turingi masin1936: Churchi lambda- C.Interpreteerimine: masinkoodis programm arvutus
x=2*y+sin(y); Kõrgkeeled on erineva abstraktsusastmega: Masinalähedane ja ebamugav: Fortran, C (portaabel assembler) Abstraktsem ja mugavam: Lisp, Ada, ML, Java, Python, Peale programmeerimiskeelte on veel hulk muid keeli: Päringukeeled (SQL, RDQL, ....) Kujunduskeeled (HTML, PS, ...) Spetsifitseerimiskeeled (loogikakeeled, UML,) On olemas kaks põhivarianti keeles X programmi täitmiseks. Kompileerimine: masinkoodis programm nimega kompilaator teisendab keeles X programmi masinkoodfailiks Y. Seejärel täidetakse saadud masinkoodis programm Y. Näide: C. Interpreteerimine: masinkoodis programm nimega interpretaator loeb sisse X keeles faili ja asub seda ridarealt täitma.Näide:vana BASIC Just-in-time compilaator(TSI) Java Keelte erisused: kolm põhiasja Süntaks (kuidas kirjutatakse näiteks if .. then .. else ühes või teises keeles) Semantika ehk tähendus (mida õigesti kirjutatud rogramm tegelikult siis teeb) Teegid (libraries) (millised valmis
7. 15 Päringukeeled (SQL, RDQL, ....) Kujunduskeeled (HTML, PS, ...) Spetsiftseerimiskeeled (loogikakeeled, UML, ....) Parser ehk süntaksianalüüs: süntaksipuu - Parser ehitab mällu süntaksipuu, mida siis edasi töödeldakse Kuidas keeles X kirjutatud programmi täidetakse? Kompileerimine: masinkoodis programm nimega kompilaator teisendab keeles X programmi masinkoodfailiks Y. Seejärel täidetakse saadud masinkoodis programm Y. Näited: C, Fortran, Go Interpreteerimine: masinkoodis programm nimega interpretaator loeb sisse X keeles faili, teisendab ta nö pseudo-assembleriks / vahekoodiks ja asub seda vahekoodi varianti rida-realt täitma. Näited: Python, PHP, Perl, vanemad Javascripti mootorid jne. NB! Programmi interpreteerimine on ca 10-200 korda aeglasem, kui kompileeritud koodi täitmine
fortran, cobol, lisp, C, modula/pascal, python). Mis on data warehouse. Kompileerimine - tõlgib kõrgtaseme keelest masinkoodi (või mingisse nn. vahekoodi, näit. Java baitkoodi) - Kompilaator teeb neist assemblerikeelsed ajutised failid / võtab “source code”i ja tõlgendab selle masinale arusaadavaks koodiks. Masinkoodis programm nimega kompilaator teisendab keeles X programmi masinkoodfailiks Y. Seejärel täidetakse saadud masinkoodis programm Y. Näited: C, Fortran, Go. Interpreteerimine – masinkoodis programm nimega interpretaator loeb sisse X keeles faili, teisendab ta nö pseudo-assembleriks / vahekoodiks ja asub seda vahekoodi varianti rida-realt täitma. Näited: Python, PHP, Perl, vanemad Javascripti mootorid jne. Funfact: Programmi interpreteerimine on ca 10-200 korda aeglasem, kui kompileeritud koodi täitmine.
Päringukeeled (SQL, RDQL, ....) Kujunduskeeled (HTML, PS, ...) Spetsifitseerimiskeeled (loogikakeeled, UML, ....) .... Kuidas keeles X kirjutatud programmi täidetakse? NB! arvuti suudab täita ainult masinkoodis programme. Kaks põhivarianti keeles X programmi täitmiseks. Kompileerimine: masinkoodis programm nimega kompilaator teisendab keeles X programmi masinkoodfailiks Y. Seejärel täidetakse saadud masinkoodis programm Y. Näide: C. Interpreteerimine: masinkoodis programm nimega interpretaator loeb sisse X keeles faili, kontrollib/ veidi teisendab teda ja asub nö sisekujul varianti rida-realt täitma. Näited: Python, PHP, Perl, vanemad Javascripti mootorid jne. NB! Programmi interpreteerimine on ca 10-200 korda aeglasem, kui kompileeritud koodi täitmine.