Die Idee des Maschinenprogramms stammt ebenfalls aus dem antiken Griechenland. Eines der frühesten Beispiele für die Anwendungen einer programmierbaren Maschine ist der Mechanismus von Antikythera, ein zahnradgetriebenes Instrument zur Berechnung von astronomischen Ereignissen. Das aus dem ersten Jahrhundert vor Christus stammende Gerät gilt als die älteste erhaltene analoge Rechenmaschine.
In den frühen Tagen der Computer verwendete man ausschließlich die für Laien nahezu unverständliche Maschinensprache, die einen direkten Bezug zu den im Rechner ablaufenden elektronischen Prozessen herstellt. Die zunehmende Leistungsfähigkeit der Computer ermöglichte eine zunehmende Abstraktion des Codes und somit eine menschlichere Form der Programmierung.
Mit dem Aufkommen preiswerter Heimcomputer in den 1980ern wurde das Programmieren auch im privaten Alltag populär. Einen wichtigen Beitrag zur Verbreitung der entsprechenden Kenntnisse leistete dabei die Programmiersprache BASIC, die auf nahezu allen Computern der damaligen Zeit verfügbar war. Im Gegensatz zu älteren, meist sehr kryptischen Programmiersprachen bot BASIC auch für Nicht-Profis eine Möglichkeit, mit wenig Aufwand und technischem Know-how in kurzer Zeit sehenswerte Ergebnisse zu erzielen.
Heutige Programmiersprachen verwenden überwiegend einen objektorientierten Ansatz, bei dem die funktionalen Elemente eines Programms im Vordergrund stehen. Ein weiteres Merkmal moderner Programmierung ist die Verwendung von Bibliotheken. Das sind vorgefertigte Codestücke, die zur Bewältigung häufig wiederkehrender Teilaufgaben, etwa der Aktivierung des Grafiktreibers oder dem Einblenden eines Dialogfensters eingesetzt werden und somit die Programmierung erheblich beschleunigen. So bleibt mehr Zeit für den wichtigsten Schritt der Code-Erstellung, der Fehlerkorrektur.
Wohl kaum ein Computerprogramm ist unmittelbar nach seiner Entwicklung frei von Fehlern. Statistisch gesehen verbringen Programmierer deutlich mehr Zeit mit dem Auffinden und Beseitigen der sogenannten Bugs als mit dem eigentlichen Schreiben des Codes. Der Begriff “Bug” als Bezeichnung für einen Programmfehler wird häufig der amerikanischen Programmiererin Grace Hopper zugeschrieben. Diese fand im Jahre 1947 eine Motte im System des Mark II-Großrechners ihres Instituts und klebte sie mit dem Kommentar “First actual case of bug being found” ins Logbuch der Maschine. Tatsächlich stammt die entsprechende Verwendung des Begriffs jedoch aus dem 19. Jahrhundert und ist bereits in den Schriften Thomas Edisons belegt. Auch in Zukunft werden Bugs sicher ein wesentlicher Bestandteil des Lebens eines Programmierers bleiben.

