BE%D0%BAgt;. Для управління ними використовувалися набори інструкцій, які в рамках сучасної класифікації можна вважати прототипами предметно-орієнтованих мов програмування lt;http://ru.wikipedia/wiki/%D0%9F%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BD%D0%BE-%D0%BE%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8Fgt;. Значущим можна вважати «мова», на якому леді Ада Августа графиня Лавлейс lt; https: //ru.wikipedia/wiki/%D0%9B%D0%B0%D0%B2%D0%BB%D0%B5%D0 % B9% D1% 81, _% D0% 90% D0% B4% D0% B0 gt; написала програму для обчислення чисел Бернуллі lt;http://ru.wikipedia/wiki/%D0%A7%D0%B8%D1%81%D0%BB%D0%B0_%D0%91%D0%B5%D1%80%D0%BD%D1%83%D0%BB%D0%BB%D0%B8gt; для Аналітичної машини Чарльза Беббіджа lt;http://ru.wikipedia/wiki/%D0%91%D1%8D%D0%B1%D0%B1%D0%B8%D0%B4%D0%B6,_%D0%A7%D0%B0%D1%80%D0%BB%D1%8C%D0%B7gt;, що стала б, у разі реалізації, першим комп'ютером - хоча і механічним, з паровим двигуном - у світі.
У 1930 lt; https: //ru.wikipedia/wiki/1930-%D0%B5_%D0%B3%D0%BE%D0%B4%D1%8Bgt;- 1940 роках lt; https: //ru.wikipedia/wiki/1940-%D0%B5_%D0%B3%D0%BE%D0%B4%D1%8Bgt ;, А. Черч lt;http://ru.wikipedia/wiki/%D0%A7%D1%91%D1%80%D1%87,_%D0%90%D0%BB%D0%BE%D0%BD%D0%B7%D0%BEgt;, А. Тьюринг lt;http://ru.wikipedia/wiki/%D0%A2%D1%8C%D1%8E%D1%80%D0%B8%D0%BD%D0%B3,_%D0%90%D0%BB%D0%B0%D0%BDgt;, А. Марков lt;http://ru.wikipedia/wiki/%D0%9C%D0%B0%D1%80%D0%BA%D0%BE%D0%B2,_%D0%90%D0%BD%D0%B4%D1%80%D0%B5%D0%B9_%D0%90%D0%BD%D0%B4%D1%80%D0%B5%D0%B5%D0%B2%D0%B8%D1%87_(%D0%BC%D0%BB%D0%B0%D0%B4%D1%88%D0%B8%D0%B9)gt; в СРСР розробили математичні абстракції (лямбда-числення lt;http://ru.wikipedia/wiki/%D0%9B%D1%8F%D0%BC%D0%B1%D0%B4%D0%B0-%D0%B8%D1%81%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5gt;, машину Тьюринга lt;http://ru.wikipedia/wiki/%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%B0_%D0%A2%D1%8C%D1%8E%D1%80%D0%B8%D0%BD%D0%B3%D0%B0gt;, нормальні алгорифм lt;http://ru.wikipedia/wiki/%D0%9D%D0%BE%D1%80%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BCgt;) відповідно - для формалізації алгоритмів lt; https: //ru.wikipedia/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0% BC gt;.
В цей же час, в 1940-і роки, з'явилися електричні цифрові комп'ютери і був розроблений мова, яку можна вважати першим високорівневим мовою програмування для ЕОМ - «Plankalk? l lt; https: //ru.wikipedia/wiki/Plankalk% C3% BCl gt; », створений німецьким інженером К. Цузе lt; https: //ru.wikipedia/wiki/%D0%A6%D1%83%D0%B7%D0%B5,_%D0% 9A% D0% BE% D0% BD% D1% 80% D0% B0% D0% B4 gt; в період с1943 lt; https: //ru.wikipedia/wiki/1943_%D0%B3%D0%BE%D0%B4gt; по 1945 роки lt; https: //ru.wikipedia/wiki/1945_%D0%B3%D0%BE%D0%B4gt; [2] lt;http://ru.wikipedia/wiki/%D0%AF%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8Fgt;.
Програмісти ЕОМ початку 1950-х років lt; https: //ru.wikipedia/wiki/1950-%D0%B5_%D0%B3%D0%BE%D0%B4%D1%8Bgt ;, зокрема таких, як UNIVAC lt; https: //ru.wikipedia/wiki/UNIVACgt; і IBM 701, при створенні програм lt;http://ru.wikipedia/wiki/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0_(%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80)gt; користувалися безпосередньо машинним кодом lt;http://ru.wikipedia/wiki/%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4gt;, запис програми на якому складалася з одиниць і нулів і який прийнято вважати мовою програмування першого покоління (при цьому різні машини різних виробників використовували різні коди, що вимагало переписувати програму при переході на іншу ЕОМ). Незабаром на зміну такому методу програмування прийшло застосування мов другого покоління, також обмежених специфікаціями конкретних машин lt; https: //ru.wikipedia/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%D1% 8C% D1% 8E% D1% 82% D0% B5% D1% 80 gt ;, але більш простих для використання людиною за рахунок використання мнемонік (символьних позначень машинних команд) і можливості зіставлення імен адресами в машинній пам'яті. Вони традиційно відомі під найменуванням мов асемблера lt;http://ru.wikipedia/wiki/%D0%AF%D0%B7%D1%8B%D0%BA_%D0%B0%D1%81%D1%81%D0%B5%D0%BC%D0%B1%D0%BB%D0%B5%D1%80%D0%B0gt; і автокодом lt; https: //ru.wikipedia/wiki/%D0%90%D0%B2%D1%82%D0%BE%D0%BA%D0%BE%D0%B4gt ;. Однак, при використанні асемблера ставав необхідним процес перекладу програми на мову машинних кодів перед її виконанням, для чого були розроблені спеціальні програми, також отримали назву ассемблеров. Зберігалися і проблеми з переносимістю програми з ЕОМ однієї архітектури на іншу, і необхідність для програміста при вирішенні задачі мислити термінами «низького рівня» - осередок, адреса, команда. Пізніше мови другого покоління були вдосконалені: в них з'явилася підтримка макрокоманд lt;http://ru.wikipedia/wiki/%D0%9C%D0%B0%D0%BA%D1%80%D0%...