# Compiler en interpreter: code laten werken [Begrippen uitgelegd](LEESMIJ.md) Broncode is geschreven zodat mensen haar kunnen lezen. Een computer heeft een manier nodig om die opdrachten in acties om te zetten. Een **compiler** vertaalt een programma naar een andere vorm. Een **interpreter** voert een programma uit volgens de uitvoerregels. ## Denk aan muziek Stel je een opgeschreven melodie voor. Het ene hulpmiddel vertaalt die naar instructies voor een speeldoos. Het andere leest de melodie en speelt haar terwijl het verder leest. Beide moeten dezelfde afspraken over de noten volgen. Echte taalhulpmiddelen kunnen deze aanpakken combineren. “Gecompileerd” en “geïnterpreteerd” beschrijven hoe een hulpmiddel een programma uitvoert. Ze bewijzen niet dat een taal altijd snel of langzaam is. ## De routes van Pliro Bij het uitvoeren van broncode leest en controleert Pliro eerst het programma. De referentie-interpreter voert de gecontroleerde opdrachten uit. Een browser heeft een passende uitvoerlaag voor browseruitvoering. Voor een native bouw maakt Pliro Go-broncode. De Go-bouwhulpmiddelen maken daarvan een uitvoerbaar bestand voor het gekozen doel. Die Go-code is een tussenstap; normaal blijf je jouw Pliro-broncode bewerken. Een **bouwdoel** beschrijft het platform waarvoor het resultaat wordt gemaakt. Een Windows-programma is niet automatisch een Linux-app. Doelen kunnen ook verschillende teken- of apparaatfuncties ondersteunen. ## Een handig verschil Controle kan een onbekende naam vinden voordat het programma draait. Tijdens uitvoering kan een rekenfout ontstaan die van invoer afhangt. Succesvol bouwen bewijst niet dat je spelregels bij je plan passen. [Broncode en apps](../gidsen/broncode-en-apps.md) · [Bouwgids](../gidsen/apps-bouwen.md) · [Testen](../gidsen/testen.md)