Появление первого поколения компьютеров стало возможно благодаря трем техническим новшествам: электронным вакуумным лампам, цифровому кодированию информации и созданию устройств искусственной памяти на электростатических трубках. Компьютеры первого поколения имели невысокую производительность: до нескольких тысяч операций в секунду. В компьютерах первого поколения использовалась архитектура фон Неймана. Средства программирования и программного обеспечение еще не были развиты, использовался низкоуровневый машинный язык. Область применения компьютеров была ограничена.
Второе поколение компьютеров (1956-1963 годы)
Электронные вакуумные лампы выделяли большое количество тепла, поглощали много электрической энергии, были громоздкими, дорогими и ненадежными. Как бедствие, компьютеры первого поколения, построенные на вакуумных лампах, обладали низким быстродействием и невысокой надежностью. В 1947 году сотрудники американской компании "Белл" Уильям Шокли, Джон Бардин и Уолтер Бреттейн изобрели транзистор. Транзисторы выполняли те же функции, что и электронные лампы, но использовали электрические свойства полупроводников. Посравнению с вакуумными трубками транзисторы занимали в 200 раз меньше места и потребляли в 100 раз меньше электроэнергии. В то же время появляются новые устройства для организации памяти компьютеров - ферритовые сердечники изобретением транзистора и использованием новых технологий хранения данных в памяти появилась возможность значительно уменьшить размеры компьютеров, сделать их более быстрыми и надежными, а также значительно увеличить емкость памяти компьютеров.
В 1954 году компания Texas Instruments объявила о начале серийного производства транзисторов, а в 1956 году ученые Массачусетского технологического института создали первый полностью построенный на транзисторах компьютер ТХ-О.
Машинный язык, применявшийся в первом поколении компьютеров, был крайне неудобен для восприятия человеком. Числовая кодировка операций, адресов ячеек и обрабатываемой информации, зависимость вида программы от ее места в памяти не давали возможности следить за смыслом программы. Для преодоления этих неудобств был придуман язык ассемблер. Для записи кодов операций и обрабатываемой информации в ассемблере используются стандартные обозначения, позволяющие записывать числа и текст в общепринятой форме, а для кодов команд - принятые мнемонические обозначения. Для обозначения величин, размещаемых в памяти, можно применять любые имена, отвечающие смыслу программы. После ввода программы ассемблер сам заменяет символические имена на адреса памяти, а символические коды команд на числовые. Использование ассемблера сделало процесс написания программ более наглядным.
В конце 50-х - начале 60-х годов компьютеры второго поколения стали интенсивно использоваться государственными организациями и крупными компаниями для решения различных задач. К 1965 году большая часть крупных компаний обрабатывала финансовую информацию с помощью компьютеров. Постепенно они приобретали черты современного нам компьютера. Так, в этот период были сконструированы такие устройства, как графопостроитель и принтер, носители информации на магнитной ленте и магнитных дисках и др.
Расширение области применения компьютеров потребовало создания новых технологий программирования. Программное обеспечение, написанное на языке ассемблер для одного компьютера, было непригодно для работы на другом компьютере. По этой причине, в частности, не удавалось создать стандартную операционную систему - основную управляющую программу компьютера, так как каждый производитель компьютеров разрабатывал свою операционную систему на своем ассемблере.
Специалисты, использующие в своей деятельности компьютеры, вскоре ощутили потребность в более естественных языках, которые бы упрощали процесс программирования, а также позволяли переносить программы с одного компьютера на другой. Подобные языки программирования получили название языков высокого уровня. Для их использования необходимо иметь компилятор (или интерпретатор), то есть программу, которая преобразует операторы языка в машинный язык данного компьютера.
Одним из первых языков программирования высокого уровня стал Фортран (FORTRAN - FORmula TRANslation), который предназначался для естественного сражения математических алгоритмов и стал необычайно популярен среди ученых. Нa Фортране можно писать большие программы, разбивая задачу на несколько частей (подпрограммы), которые программируются отдельно, а затем объединяются в единое целое. Так как Фортран предназначен в основном для вычислений, в нем отсутствовали развитые средства работы со структурами данных. Этот недостаток был исправлен в языке Кобол (COBOL - Common Business Oriented Language). Кобол специально предназначался для обработки финансово-экономических данных. Кроме того, разработчики постарались сделать Кобол максимально похожим на естественный английский язык, что позволило писать программы на этом языке даже неспециалистам в программировании. Со вторым поколением компьютеров началось развитие индустрии программного обеспечения.
В целом, данный период развития вычислительной техники характеризуется применением для создания компьютеров транзисторов и памяти на ферритовых сердечниках, увеличением быстродействия компьютеров до нескольких сотен тысяч операций в секунду, возникновением новых технологий программирования, языкoв программирования высокого уровня, операционных систем. Компьютеры второго поколения получили широкое распространение, они использовались для научных, инженерных и финансовых расчетов, для обработки больших объемов данных на предприятиях, в банках, государственных организациях.
Третье поколение компьютеров (1964-1971 годы)
В 1958 инженер компании Texas Instruments Джек Килби предложил идею интегральной микросхемы - кремниевого кристалла, на который монтируются миниатюрные транзисторы и другие элементы. В том же году Килби представил первый образец интегральной микросхемы, содержащий пять транзисторных элементов на кристалле германия. Микросхема Килби занимала чуть больше сантиметра площади и была несколько миллиметров толщиной. Год спустя, независимо от Килби, Нойс разработал интегральную микросхему на основе кристалла кремния. Последствии Роберт Нойс основал компанию "Интел" по производству интегральных микросхем. Микросхемы работали значительно быстрее транзисторов и потребляли значительно меньше энергии.
Первые интегральные микросхемы состояли всего из нескольких элементов. Однако, используя полупроводниковую технологию, ученые довольно быстро научились размещать на одной интегральной микросхеме сначала десятки, а затем сотни и больше транзисторных элементов.
В 1964 году компания IBM выпустила компьютер 1MB System 360, построенный на основе интегральных микросхем. Семейство компьютеров IBM System 360 - самое многочисленное семейство компьютеров третьего поколения и одно из самых удачных в истории вычислительной техники. Выпуск этих компьютеров можно считать началом массового производства вычислительной техники. Всего было выпущено более 20 000 экземпляров System 360.
1MB System 360 относится к классу так называемых мэйнфреймов. Компания DEC (Digital Equipment Corporation) представила модель миникомпьютера PDP-8. Мини-компьютеры, или компьютеры средней производительности, характеризуются высокой надежностью и сравнительно низкой стоимостью. Низкая по сравнению со стоимостью суперкомпьютеров стоимость миникомпьютеров позволила начать применять их в небольших организациях - исследовательских лабораториях, офисах, на небольших промышленных предприятиях.
В то же время проходило совершенствование программного обеспечения. Операционные системы строились таким образом, чтобы поддерживать большее количество внешних устройств, появились первые коммерческие операционные системы и новые прикладные программы. В 1968 году на одной из конференций Дуглас Энгельбарт из Станфордского института продемонстрировал созданную им систему взаимодействия компьютера с пользователем, состоящую из клавиатуры, указателя "мышь" и графического интерфейса, а также некоторые программы, в частности текстовый процессор и систему гипертекста. В 1964 году появился язык программирования Бейсик (BASIC - Beginner's All-Purpose Symbolic Instruction Code), предназначенный для обучения начинающих программистов. Бейсик обеспечивал быстрый ввод и проверку программ. Бейсик не очень подходил для написания серьезных программ, однако он давал общее представление о программировании и позволял многим далеким от компьютеров людям быстро овладеть основными навыками программирования. В 1970 году щвейцарец Никлас Вирт разработал язык программирования Паскаль, также предназначенный для обучения принципам программирования. Создававшийся как язык для обучения, Паскаль оказался очень удобен для решения многих прикладных задач. Он прекрасно обеспечивал применение методов структурного программирования, что стало необходимо при создании больших программных систем.
0сновой для компьютеров третьего поколения послужили интегральные микросхемы, что позволило значительно уменьшить стоимость и размеры компьютеров, началось массовое производство компьютеров. В данный период развития вычислительной техники продолжалось увеличение скорости обработки информации. Компьютеры третьего поколения работали со скоростью до одного миллиона операций в секунду. Появились новые внешние устройства, облегчающие взаимодействие человека с компьютером. Увеличение быстродействия компьютеров и области их применения потребовало разработки новых методов создания программного обеспечения. Появились первые коммерческие операционные системы реального времени, специально разработанные для них языки программирования высокого уровня. Область применения компьютеров третьего поколения необычайно широка: системы обработки данных, управления, проектирования, .решения различных коммерческих задач.