Всякая новая техника создается, когда возникает большая общественная потребность в ней. К середине нашего века научно-технический прогресс привел к необходимости облегчить труд ученых и инженеров, ускорить выполнение громоздких расчетов и повысить их точность. Автоматизация вычислений, создание мощного, быстродействующего и точного электронного арифмометра - вот о чем думали специалисты - творцы первых ЭВМ. Никто в те далекие теперь годы и не помышлял о будущем информационном перевороте; решалась скромная, на первый взгляд чисто техническая задача. Да и возможности первых образцов вычислительных машин оказались небольшими.
Еще в годы второй мировой войны в США была собрана из обычных электромагнитных реле, которых тогда были тысячи на любой телефонной станции, вычислительная машина "Марк-1". Считала она в привычной десятичной системе счисления - телефонные реле имели как раз десять позиций своих контактов. Работала машина неторопливо - пока реле отщелкают свое, можно было вручную все посчитать. Поэтому вскоре после войны появились машины на электронных лампах: в США - ENIAC, а в СССР - МЭСМ (малая электронно-счетная машина), которую создал коллектив под руководством С.А. Лебедева. Ламповые ЭВМ уже оказались в состоянии выполнять сотни и тысячи арифметических или логических операций за одну секунду. Они могли обеспечить высокую точность вычислений. Человек уже не мог соперничать с такой машиной.
Жизнь первого поколения ЭВМ оказалась короткой - около десяти лет. Электронные лампы грелись, потребляли много электроэнергии, были громоздки (так, например, машина ENIAC весила 30 тонн, имела 18 тысяч электронных ламп и потребляла 150 киловатт). И что еще хуже - часто выходили из строя. Над компьютерщиками продолжали посмеиваться: чтобы сложить, скажем, два числа, требовалось написать программу из многих машинных команд. Например, такую: "Ввести в машину первое слагаемое; ввести второе; переслать из памяти первое слагаемое в арифметическое устройство (arithmetic unit); переслать в арифметическое устройство второе слагаемое и вычислить сумму; переслать результат в память; вывести это число из памяти машины и напечатать его".