Datorprogram - pussel på nätet
Ett datorprogram, även kallat dataprogram, är en serie instruktioner som styr en dator, och beskriver de operationer som datorn ska utföra, då programmet körs. Datorprogrammet kan utföra en liten specifik uppgift eller bilda en omfattande helhet, som en operativsystemkärna, en ordbehandlare eller en webbläsare. En samling datorprogram eller datorprogram i allmänhet kallas ofta programvara eller mjukvara.
Ett datorprogram skrivs typiskt i ett människovänligt programspråk (till exempel Java, C++ eller Delphi) och kompileras eller tolkas sedan till maskinkod, som datorn förstår.
Olika klasser av datorprogram
Datorprogram kan delas in
systemprogram, som utgör plattformen, såsom operativsystemets kärna, drivrutiner och centrala verktyg samt program som behövs för bootningen (på en PC BIOS och bootloader), och systemverktyg;
tillämpningsprogram, vilka uppfyller någon för användaren direkt meningsfylld funktion, såsom ordbehandlare, e-postprogram och webbläsare
enkla program skrivna av användaren själv, ofta i form av skript eller makron för olika tillämpningsprogram
programmeringsverktyg, datorprogram som används för att skriva datorprogram.
skadlig programkod, som en dator exekverar utan användarens samtycke, för att sabotera eller för någon annans vinning, till exempel datorvirus eller spionprogram.Man kan också göra skillnad till exempel mellan serverprogram och program avsedda att användas direkt eller mellan program för normala bords- och serverdatorer och program för inbyggda system, till exempel för mobiltelefoner, bilar och tvättmaskiner.
Maskinkod och källkod, portabilitet
Maskinkoden är bunden till en viss typ av processor och övrig hårdvara, ofta också till ett visst operativsystem och de tjänster operativsystemet och olika programbibliotek erbjuder. I vissa fall kan man med olika trick skriva programmet så att olika maskinkod körs beroende på omgivningen.
Källkoden, d.v.s. koden i den form den ursprungligen skrivs, kan däremot någorlunda lätt skrivas så att programmet går att kompilera för olika hårdvara och olika operativsystem.