Forskellen mellem kompilator og tolk

Compiler vs tolk

Når du skriver programmer på et højt niveau sprog, vil computeren ikke være i stand til at forstå det. For at det kan bruges, skal du konvertere det til noget, som en computer forstår. Det er her compilere og tolke kommer ind, da de begge har den samme funktion. Den største forskel mellem en compiler og en tolk er, når de udfører koden. Med en tolk udføres koden med det samme, når tolken overfører den fortolkede kode til computeren. Til sammenligning udfører en kompilator ikke koden. I stedet skriver den den færdige kode på disken. Koden, der er skrevet til disk, kan derefter udføres når som helst.

Den største forskel mellem tolk og kompilator gyder en anden. Da der er behov for tolk, når du kører et program, skal du have en tolk installeret, hvis du vil udføre programmet på din maskine. Dette er ikke tilfældet med en compiler. Når programmet er blevet samlet, har du bare brug for det kompilerede program og ikke kompilatoren eller den originale kode.

En fordel ved at bruge en tolk i stedet for en kompilator er evnen til at udføre programmet på computere, der kører forskellige operativsystemer; forudsat at du har den passende tolk. Når du kompilerer et program, er det kun for et specifikt operativsystem og kører ikke på andre. For at få det til at køre på et andet operativsystem skal du optimere din kode til det operativsystem og sammenstille den igen.

Ulempen ved at bruge en tolk er den tilføjede overhead. En tolk har brug for en vis behandlingskraft, og hver kodelinje vil blive fortolket under kørsel. Dette er ikke tilfældet, når du har et kompileret program, fordi operativsystemet kan læse det direkte og udføre hver kommando. Det ekstra trin med at fortolke kode gør det fortolkede program til at køre betydeligt langsommere end kompileret kode. Tolken vil heller ikke være i stand til at drage fordel af OS-specifikke optimeringer, der kan lade et kompileret program køre mere effektivt.

Valg mellem en compiler og en tolk skal afhænge af, om du vil have bærbarhed eller ydeevne.

Resumé:

  1. En tolk udfører koden direkte, mens en kompilator ikke gør det
  2. En tolk skal være tilgængelig i målmaskinen, mens en kompilator ikke er det
  3. Et tolket program kører på flere platforme, mens et kompileret program ikke gør det
  4. Et fortolket program kører langsommere end et kompileret program