Interaktivni tolmač

V interaktivnem učbeniku bomo uporabljali interaktivno okolje Blockly za slikovno programiranje, ki nam bo omogočalo, da bomo lahko vse primere preizkusili kar neposredno v samem učbeniku. Poleg tega to interaktivno okolje omogoča tudi prikaz kode v besedilnem programskem jeziku python. Tako bomo lahko primerjali kodo vsakega primera v slikovnem programskem jeziku, s kodo v besedilnem programskem jeziku.

Slikovni programski jezik

Slikovni ali grafični programski jezik (ang. Visual programming language - VPL) je vsak programski jezik (ali okolje), ki uporabniku omogoča ustvarjanje programov tako, da uporabnik premika ali razporeja elemente slikovnega programskega jezika. Prednost slikovnih programskih jezikov je v tem, da omogočajo ustvarjanje ali gradnjo sintaktično pravilnih programov, saj lahko uporabnik združuje elemente na točno določen način. S tem se izogne sintaktičnim napakam, kar posledično olajša učenje programskega jezika začetnikom. Ti se lahko namesto s sintakso, t.j. slovnično pravilnostjo programa, ukvarjajo s postopkom, ki bo privedel do rešitve problema.

Obstaja cela množica slikovnih programskih jezikov, ki jih lahko uporabljamo za različne namene. Najbolj znani slikovni programski jeziki za učenje programiranja so: Alice, App Inventor, Blockly, Flowgorithm, Greenfoot, Lego Mindstorms NXT, Raptor, Scratch, Snap! in številni drugi.

V tem interaktivnem učbeniku bomo uporabljali interaktivno okolje Blockly v kombinaciji s besedilnim programskim jezikom python. Blockly namreč omogoča, da uporabnik lahko gradi kodo programskega jezika tako, da razporeja in združuje elemente slikovnega programskega jezika. Hkrati pa se ta koda samodejno pretvarja v izvorno kodo v besedilnem programskem jeziku.


Razlika med tolmačem in prevajalnikom

Večina besedilnih programskih jezikov je nekakšna zmes preproste angleščine in matematike, kar programerju omogoča, da se osredotoči na problem, ki ga želi rešiti, ne pa na strojno opremo računalnika, na katerem dela. Računalnik pa razume zgolj strojni jezik, ki vsebuje ukaze, kot je npr. "Prenesi podatek iz pomnilne celice A v pomnilno celico B." Zato se mora naš program pred ali med izvajanjem pretvoriti v enakovreden program v strojnem jeziku.

Če se pretvorba v celoti izvrši pred izvajanjem, govorimo o prevajanju: poseben program, ki mu pravimo prevajalnik, prevede naš program v enakovreden program v strojnem jeziku.

Druga možnost pa je tolmačenje: program po imenu tolmač bere naš program ukaz za ukazom in računalniku sproti podaja enakovredne ukaze v strojnem jeziku. Tolmačenje je počasnejše od izvajanja prevedenih programov, vendar pa so jeziki, ki se tolmačijo, praviloma enostavnejši od tistih, ki se prevajajo.

Nekateri programski jeziki – med njimi tudi python – uporabljajo kombinacijo obeh pristopov: program se najprej v celoti prevede v nekakšen vmesni jezik, dobljeni prevod pa se nato tolmači.