Metody pracy programistów ewoluowały wraz z rozwojem techniki. Programowanie pierwszego amerykańskiego elektronicznego komputera ENIAC wiązało się z przełączaniem setek styków i obwodów elektrycznych między poszczególnymi modułami, co było czasochłonne i prowadziło do popełniania błędów. Niemiecki konstruktor Konrad Zuse w swoich pierwszych komputerach Z1 oraz Z3 z 1937 i 1941 roku zastosował z kolei wczytywanie kolejnych instrukcji programu z ośmiokanałowej papierowej taśmy perforowanej, którą należało wcześniej odpowiednio przygotować. Do lat 80. XX w. powszechnie stosowano karty dziurkowane, na które wprowadzano partie kodu programu, a następnie wprowadzano do pamięci wewnętrznej komputera w specjalizowanym czytniku kart. thumb|Programowanie komputera ENIAC w latach 40. XX wieku Dziurkowania kart perforowanych dokonywać mógł programista lub operator dziurkarki kart, co zależało od organizacji pracy w ośrodku obliczeniowym.