История программирования (точнее, история лингвистического и программного обеспечения) — это прежде всего история алгоритмических языков, операционных систем и технологий разработки программого обеспечения.
Первым программистом в истории вычислительной техники считается леди Ада Лавлейс (1815-1852) — дочь лорда Байрона, отличавшаяся незаурядными математическими способностями. Сотрудничая с Ч.Бэббеджем, написала комментарии к статье о его машине, которые можно считать первым трудом по программированию. Она описала ряд примеров применения машины Бэббеджа, разработала программу вычисления на ней чисел Бернулли.
Рис. 1.  Ада Лавлейс
История технологий разработки программого обеспечения в СССР начинается вместе с созданием первых ЭВМ. Уже в 1950 году в ИТМиВТ АН СССР начал работать первый постоянный семинар по программированию, которым руководил Л.А. Люстерник. В 1952 году в МГУ была создана кафедра вычислительной математики (кафедру возглавил С.Л. Соболев), для студентов и аспирантов которой в 1952/53 учебном году А.А. Ляпунов впервые прочитал курс “Принципы программирования”. В 1953 году в отделе прикладной математики Математического института АН СССР был создан во главе с А.А. Ляпуновым отдел программирования.
В 1952—1953 годах А.А. Ляпуновым был предложен операторный метод для описания программ. Практически впервые был создан способ представления программ на обозримом уровне. Вместо неэффективного для человека задания программ в машинных кодах А.А. Ляпунов предложил формализованное представление высокого уровня. Особенно важным было то, что операторный метод позволял создать теорию синтаксических структур программ.
В 1953 году А.А. Ляпунов сформулировал постановку задачи автоматизации программирования. Эта оригинальная постановка была успешно использована в первых отечественных трансляторах, называвшихся тогда программирующими программами. Летом 1954 года появилась программирующая программа ПП-1 (отдел прикладной математики Института математики АН СССР), а в 1955 году — ее улучшенный вариант ПП-2. Чуть позднее была создана еще одна программирующая программа.
Многие черты объектно-ориентированного программирования (ООП) были реализованы в языке моделирования Simula-67, разработанном в Норвегии Найгардом (Nygard) и Далом (Dahl).
Сложность разрабатываемых программ становилась все заметнее. Для преодоления возникающих трудностей требовалась разработка методологии программирования, превращающей стихийное программирование в науку создания программных систем. Заметным вкладом в создание технологий разработки программного обеспечения стала концепция структурного программирования, основанная на положениях блочно-иерархического подхода к программированию. Ее автором является голландский ученый Эдстер Дейкстра (1930-2002), внесший заметный вклад в разработку информационных технологий Ему принадлежат также определения стека, семафора, разработка ряда алгоритмов (например, поиск кратчайшего пути) и т.п.
Структурное программирование нашло яркое выражение в языке программирования Паскаль (Pascal), созданным швейцарцем Н.Виртом (Niclaus Wirth) на кафедре информатики Стэнфордского университета в 1970 г. Вернувшись из Стенфорда в Швейцарию, Н.Вирт развивает методологию программирования, в 1980 г. в языке Модула-2 он реализует концепцию модульного программирования.
Использование ООП не как языка программирования, а как технологии проектирования программных систем определено в методике, разработанной в 1996 г. Гради Бучем (Booch), Айваром Джекобсоном и Джеймсом Рамбо. Они создали UML (Unified Modeling Language) — язык для спецификации, виртуализации, конструирования и документирования информационных систем.
Рис. 2.  Г.Буч
Язык UML был официально принят OMG в качестве стандарта в 1997 г. Поддержкой языка UML занимается компания Rational Software, специализирующаяся на разработке CASE-средств, систем автоматизированного проектирования ПО, средств управления программными проектами.
К заметным событиям в области программирования в СССР следует отнести также появление технологии создания крупномасштабных программных средств для систем реального времени в рамках проекта "Прометей", язык обработки символьной информации Рефал, разработанный В.Ф.Турчиным в МГУ, язык моделирования дискретных и дискретно-непрерывных систем НЕДИС, язык Аналитик для машин "Мир" и др. Руководителем проекта "Прометей" был В.В.Липаев, являвшийся председателем координационного совета Министерства радиопромышленности СССР по автоматизации проектирования программного обеспечения и написавший ряд книг по технологиям разработки, надежности и качеству программных систем. В Новосибирске проблемами автоматизации программирования и создания трансляторов активно занимался А.П.Ершов.
Ведущую роль в мире в создании программного обеспечения для персональных компьютеров играет компания Microsoft, созданная в 1975 г. Биллом Гейтсом (B.Gates) и Полом Алленом. В 1980 г. появилась операционная система MS-DOS (Microsoft Disk Operation System) для первого IBM PC. Затем Гейтс разрабатывает программы электронных таблиц Excel и текстовый редактор Word. В дальнейшем Microsoft регулярно обновляет основные компоненты программной системы MS Office, включая ОС Windows, разрабатывает многоязыковую среду программирования Microsoft.Net Framework.
В истории баз данных видное место занимает Э. Кодд, разработавший в 1970 г. реляционную модель БД.
Другие события из истории программирования — см. "история алгоритмических языков".