Innhold
Hvordan et dataprogram fungerer er et mysterium for den typiske brukeren som stoler på arbeidet til programmerere. Programmereren må forstå hvordan datamaskinen forventer å motta kommandoer i de to utføringstrinnene (kompileringstid og utføringstid), i tillegg til andre konsepter.
Bygg tid
Den første fasen av å utføre et program, kompileringstiden, innebærer å oversette språket som er forståelig for mennesker, eller "kildekode", til et språk som datamaskinen forstår, eller "maskinkode". Kildekoden inneholder ord du kjenner igjen, tall i desimalformat og organiserte strukturer som gjør det lettere å forstå strømmen av instruksjoner. Tidspunktet for kompilering er fullført når det nye programmet er en kjørbar fil.
Kjøretid
Datamaskinen bruker instruksjonene som ble produsert på kompileringstidspunktet for å kjøre programmet. I løpet av kjøretiden leser datamaskinen oversettelsen av kildekoden for å utføre oppgavene som er innlemmet av programmereren. Hver gang noen kjører programmet, gjør de det på kjøretid.
Forskjell
Kompileringstiden krysses bare én gang for å oversette kildekoden til en kjørbar fil, som kan kalles så mange ganger som nødvendig uten å kompilere igjen, med mindre programmet trenger endringer. De fleste brukere bruker bare kjøretiden.
Kompileringstidsfeil
Feil kan oppstå i begge trinn av programutførelsen. Kompileringstidsfeil, eller syntaksfeil, finnes i kildekoden. Eksempler på disse er feilstavede kommandoer, problemer i rekkefølge av operasjoner, inkompatible kombinasjoner av typer variabler og utelatelse av nødvendige elementer. En programmerer kan enkelt oppdage kompileringsfeil, fordi de er syntaktiske snarere enn logiske. Kompilatoren finner vanligvis en kompileringstidsfeil og forklarer eller gir tips for å løse den. Hvis kompilatoren produserer en kjørbar fil fra kode, har programmet ingen kompileringstidsfeil.
Katastrofale kjøretidsfeil
Runtime-feil kan føre til at et program krasjer og avsluttes tidlig. Eksempler på slike feil er tilgang til begrenset minne og deling med null. Uttrykket "x / y" er syntaktisk korrekt, men hvis "y" inneholder verdien 0 på kjøretid, mislykkes programmet. En programmerer kan synes det er vanskelig å finne kjøretidsfeil på grunn av at de vanligvis skjer under visse forhold.
Runtime logiske feil
En logisk feil fører ikke til at programmet mislykkes, men det får det til å fungere på en måte som programmereren ikke vil ha. Tenk på et program med en alternativmeny som forventer at brukeren skriver inn ønsket alternativnummer. Hvis brukeren skriver et brev, kan programmet, som venter på et tall, gjøre det til en numerisk verdi og sende brukeren til et av alternativene, og ser ut som om ingenting er galt i stedet for å informere brukeren om at han skrev et ugyldig alternativ.