b"\n_START_ARTICLE_\nComputerprogramma\n_START_PARAGRAPH_\nEen computerprogramma is een opeenvolging van instructies met als doel om een specifieke taak met een computer uit te voeren. Een programma kent een uitvoerbare vorm, die de computer direct kan gebruiken om de programma-instructies in een centrale verwerkingseenheid uit te voeren. _NEWLINE_Computerbroncode wordt in het algemeen geschreven door computerprogrammeurs. Broncode wordt geschreven in een programmeertaal, die vaak een van de twee belangrijkste programmeerparadigma's volgt: imperatief of declaratief programmeren. Broncode kan met behulp van een compiler worden omgezet in een uitvoerbaar bestand (ook wel een executable of binair bestand genoemd) en later worden uitgevoerd door een centrale verwerkingseenheid. Als alternatief kunnen computerprogramma's worden uitgevoerd met behulp van een interpreter. Ook kunnen zij als firmware worden gedraaid of worden ingebed in de hardware._NEWLINE_Een verzameling van computerprogramma's en bijbehorende data wordt software genoemd. Als een computerprogramma wordt uitgevoerd, leest de computer de instructies uit het programma, zoals deze zijn opgeslagen op een gegevensdrager (bijvoorbeeld bestanden op een harde schijf) en voert de programmacode in de aangeven volgorde uit, gebruik makend van de data. Hetzelfde computerprogramma stelt een programmeur in staat om in een voor mensen gemakkelijker leesbare broncodevorm de algoritmen van een betreffende computerprogramma te bestuderen en zo nodig verder te ontwikkelen.\n_START_SECTION_\nModel van computerprogramma's\n_START_PARAGRAPH_\nDe Engelse wiskundige Alan Turing beschreef een theoretische machine, de turingmachine, die een model van het rekenen vormt zoals de computer dat doet. De machine kan worden geconfigureerd met een eindige verzameling mogelijke toestandsovergangen: zo'n configuratie kan worden gezien als het model van een programma. Een verschil is dat in computers het rekenen gebeurt op het ingebouwde geheugen, dat eindig is._NEWLINE_Naast turingmachines bestaan er nog allerlei andere soorten wiskundige modellen van het rekenen, waarmee uiteenlopende aspecten van het rekenen bestudeerd kunnen worden."