Những chương trình đầu tiên có từ bao giờ?
Những máy có chương trình đã được nghĩ ra trước khi phát minh ra máy tính hiện đại. Nhưng coi chừng! Tất cả các máy dùng để tính toán không nhất thiết có chương trình. Chẳng hạn, máy của Blaise Pascal hoặc của Wilhelm Leibniz ở thế kỷ XVII giúp thực hiện các phép cộng một cách tự động, sau đó là các phép nhân, nhưng không tùy ý theo bất kỳ dãy tính toán nào. Tổ tiên của các máy tính có chương trình có lẽ là máy dệt do Joseph Marie Jacquard phát minh và cuối thế kỷ XVIII. Người ta có thể lên chương trình cho máy nhờ các tấm bìa đục lỗ xác định họa tiết của vải.
Trong những năm 1830, Charles Babbage, nhà toán học Anh, đã nghĩ ra một loại máy nhằm thực hiện tự động các phép tính số học. Tuy không hề được chế tạo, nhưng máy của Babbage đã báo hiệu cấu tạo của máy tính hiện đại. Khoảng 10 năm sau, nhà toán học nữ - Ada Lovelace đã mô tả các phương pháp tính cho loại máy này. Ngôn ngữ Ada thể hiện sự biết ơn người phụ nữ lập chương trình đầu tiên này trong lịch sử.
Năm 1937, nhà Phần mềm học Anh Alan Turing đã nghĩ ra một máy phi vật chất. Nó gồm có một băng vô hạn có thể di chuyển bút chì trên đó, viết hoặc xóa những ký hiệu đã chọn trong một tập thể hữu hạn. Theo Turing, cái máy hư cấu này dùng để chứng minh rằng không thể viết được một số chương trình. Tiềm năng biểu thị (toán học) của mọi ngôn ngữ chương trình hóa đều tương đương với tiềm năng của máy Turing: người ta không thể lập chương trình hơn hoặc kém chiếc máy tưởng tượng này.
Trong Chiến tranh Thế giới II đã xuất hiện những tiền thân thật của máy tính, là những cỗ máy đồ sộ phục vụ các phép tính quân sự. Năm 1949, nhà toán học John von Neumann đã đưa vào các chương trình được ghi trong bộ nhớ chứ không phải trên những bìa đục lỗ nữa.