Ang mga wikang nagrograma ay ginamit kahit na bago imbento ang mga computer. Halimbawa, ang isang scroll piano ng player, na mahabang roll ng naka-encode na papel tape, ay itinuturing na isang maagang anyo ng programming dahil naglalaman ito ng mga tagubiling kinakailangan upang gawing isang tune ang isang piano.
Ang mga unang computer ay na-program sa pamamagitan ng flipping switch at binabago ang pagsasaayos ng hardware. Bilang isang resulta, ang mga unang programmer ay kailangang maging pamilyar sa computer hardware. Ngunit matagal na kaming nakarating, at ang mga wikang programming sa mataas na antas ay nangangailangan ng kaunti o walang kaalaman sa pinagbabatayan na hardware.
Tingnan natin kung paano namin ito nakuha sa pamamagitan ng pagsakop sa limang henerasyon ng mga wika sa computer programming. (Kumuha ng ilang background sa ilang mga pangunahing pigura sa larangan sa The Pioneers of Computer Programming.)