Software is all about logic. Programmering har fået et ry for at være et felt, der er tungt på matematik og skøre ligninger. Og datalogi synes at være kernen i denne misforståelse.
sikker på, der er noget matematik, og der er nogle formler — men ingen af os behøver faktisk at have pH. D. ‘ er i beregning for at vi kan forstå, hvordan vores maskiner fungerer! Faktisk er mange af de regler og paradigmer, som vi lærer i processen med at skrive kode, de samme regler og paradigmer, der gælder for komplekse computervidenskabelige begreber. Og nogle gange stammer disse ideer faktisk fra datalogi, og vi vidste det aldrig nogensinde.
uanset hvilket programmeringssprog vi bruger, når de fleste af os skriver vores kode, sigter vi mod at indkapsle forskellige ting i klasser, objekter eller metoder og med vilje adskille, hvilke forskellige dele af vores kode der vedrører. Med andre ord ved vi, at det generelt er gode ting at opdele vores kode, så en klasse, objekt eller metode kun er bekymret for og ansvarlig for en enkelt ting. Hvis vi ikke gjorde dette, kunne tingene blive super rodet og sammenflettet i et rod på et net. Nogle gange sker dette stadig, selv med adskillelse af bekymringer.
som det viser sig, følger selv de indre funktioner i vores computere meget lignende designparadigmer. Vores compiler har for eksempel forskellige dele til det, og hver del er ansvarlig for at håndtere en bestemt del af kompileringsprocessen. Vi stødte på en lille smule af denne sidste uge, da vi lærte om parseren, som er ansvarlig for at skabe parse træer. Men parseren kan umuligt få til opgave alt.parseren har brug for hjælp fra sine venner, og det er endelig tid for os at lære, hvem de er!
da vi lærte om parsing for nylig, dyppede vi tæerne i grammatik, syntaks og hvordan kompilatoren reagerer og reagerer på disse ting inden for et programmeringssprog. Men vi har aldrig rigtig fremhævet, hvad en compiler er! Når vi kommer ind i den indre funktion af kompileringsprocessen, lærer vi meget om compiler design, så det er vigtigt for os at forstå, hvad vi præcist taler om her.
compilere kan lyde lidt skræmmende, men deres job er faktisk ikke for komplekse at forstå — især når vi bryder de forskellige dele af en complier ned i bidstore dele.
men først, lad os starte med den enkleste definition muligt. En compiler er et program, der læser vores kode (eller en hvilken som helst kode på ethvert programmeringssprog) og oversætter det til et andet sprog.