Die CPU (Central Processing Unit) und der Mensch haben gänzlich unterschiedliche Sprachen. Jene Sprache, welche die CPU verarbeitet nennt man Maschinensprache oder Assembler. Jene Sprachen die dem Menschen angepaßt sind nennt man Programmiersprachen (z.B. C, C++,VisualBasic, Java).
Der Programmierer erstellt zuerst einen Source-Code (Quellcode). In diesem Quellcode sind alle Funktionalitäten in der Programmiersprache formuliert, die von der CPU ausgeführt werden müssen. Dieser Quellcode wird durch Compilieren in einen Assemblercode (Maschinensprache) umgewandelt. Durch einen nachfolgenden Link-Vorgang (Bindungsvorgang) wird das lauffähige Programm erzeugt. Dieses Programm kann eine eigene grafische Oberfläche besitzen, dann stellt es eine grafische Anwendung (z.B. WinWord, Excel) , andernfalls stellt es eine Kommando (z.B. xcopy) dar. Eine grafische Oberfläche ist gekennzeichnet durch pixelförmige (=punktförmige) Darstellung. Die Altermative dazu sind zeichenmäßig aufgebaute Bildschirmausgaben.