Каждое изменение программы ENIAC требовало переключения сотен кабелей и установку в нужное положение приблизительно 6 тыс. переключателей, на что уходило два дня кропотливой ручной работы.
В новом компьютере EDVAC(Electronic Discrete Variable Automatic Computer, демонстрация – 1947 г.) Д. Мочли и П. Эккерт в качестве внутренней памяти предложили использовать ртутные линии задержки для увеличения объема памяти, а также ориентироваться на работу с двоичными числами, что позволяло упростить конструкцию арифметического устройства.
UNIVAC (Universal Automatic Computer)был разработан в период 1946-1951 гг. и первоначально предназначался для Национального бюро переписи населения США. Этот компьютер имел объем запоминающего устройства – 1000 72-битных слов, время сложения – 120 мкс, время умножения – 1800 мкс.
UNIVAC был оснащен программойкомпоновщиком, который по заданному идентификатору осуществлял выборку нужной подпрограммы из специальной библиотеки
(автор Г. Хоппер (Grace Hopper) назвала ее компилятором (compiler)).
Коммерческий успех UNIVAC послужил толчком технологической революции, которая основывалась на прогрессе в разработке быстродействующей электроники и непрерывном совершенствовании языка общения человека с машиной.
Языки программирования- это тщательно составленные последовательности слов, букв, чисел и мнемонических сокращений, используемые для общения с компьютером.
Программы для ЭВМ первого поколения (ламповые машины 40-50 х гг.) создавались на языках машинных команд (машинный код).
Язык ассемблера - ориентированная на человека форма машинных команд. Языки программирования, имитирующие естественные языки и способные на основании одного предложения строить несколько команд компьютера, принято считать языками высокого уровня.
Первым широко используемым языком высокого уровня является FORTRAN(FORmula TRANslator), который разработала к 1957 г. группа инженеров фирмы IBM под руководством Джона Бекуса (John Backus) для программирования компьюера IBM 704.
FORTRAN был компилируемым языком и предназначался для работы с формулами, используемыми в математике и других научно-технических дисциплинах.
Язык BASIC(Beginner's All-purpose Symbolic Instruction Code) был разработан сотрудниками Дартмутского колледжа
Т. Курцом (Thomas Kurtz) и Д. Кемени (John Kemeny) в 1964 г. Он создавался как язык, предназначенный главным образом для студентов, изучавших гуманитарные науки. Отличался простотой и ориентацией на интерактивное взаимодействие с компьютером посредством терминала. Получил широкое распространение в 70-80-х гг. как встроенный язык микрокомпьютеров.
ALGOL(ALGOrithmic Language) был создан на совещании в Цюрихе в мае 1958 г. как единый язык для научного программирования в США и в Европе. ALGOL многое унаследовал от языка FORTRAN, но в то же время основные понятия в нем были собраны в более логическую структуру. Для описания ALGOL 60 была впервые использована универсальная форма описания синтаксиса языков программирования – форма Бекуса-Наура (BNF – Backus-Naur form). Большинство императивных языков программирования прямо или косвенно являются потомками ALGOL 60. Он свыше 20 лет оставался единственным официальным средством представления алгоритмов в научной литературе.
Автор языка PascalНиклаус Вирт (Niklaus Wirth) назвал его в честь французского философа и математика XVII века. Исходное описание языка Pascal было опубликовано в 1971 г. После своего появления Pascal стал очень популярным в сфере обучения программированию. Сильная структурированность делала Pascal весьма подходящим для создания больших программ. В исходной версии отсутствовали важные с практической точки зрения возможности. Pascal считается классическим языком для реализации принципов структурного программирования.
В работе "Заметки по структурному программированию" (1968 г.) Э. Дийкстра (E. Dijkstra) доказывал, что одна из основных причин "кризиса программного обеспечения" состоит в частом использовании в программах оператора безусловного перехода GOTO, который передает управление из одной точки в другую. Дийкстра предложил использовать три типа управляющих структур: следование, разветвление и цикл.
Язык Сразработал в 1972 г. Деннис Ричи (Dennis Ritchie), специалист по системному программированию из фирмы Bell Laboratories. Язык С наиболее близок к языкам низкого уровня, поскольку обеспечивает непосредственный доступ к аппаратуре (на С было написано более 90 % всего кода центральной программы (ядра) операционной системы UNIX).
Успех С был неразрывно связан с тем, что в одном месте в одно и то же время появились сразу три грандиозных творения:
- язык программирования С,
- операционная система UNIX, - мини-компьютер PDP-11 (в СССР аналоги СМ-4, СМ-1420, ДВК).
«С – это инструмент, острый как бритва: с его помощью можно создать и элегантную программу, и кровавое месиво»
(Брайан Керниган – соавтор книги Kernighan B.W., Ritchie D.M. “The C Programming Language” 1978).
В 1975 г. в журнале Popular Electronics был описан первый набор для сборки мини-компьютера "ALTAIR - 8800"(компания производитель - Micro Instrumentation and Telemetry System, MITS, цена 397 долл.).
В компьютере "ALTAIR" использовался микропроцессор Intel(Integrated Electronics) i8080(n-MOS, 8-разрядный, тактовая частота 2 МГц, 6-мкм технология, 6 тыс. транзисторов). В первоначальном варианте пользователь самостоятельно создавал двоичную программу и вводил ее в машину с помощью переключателей на передней панели.
Среди первого программного обеспечения для "ALTAIR" был интерпретатор языка BASIC, который создали
П. Аллен (Paul Allen) и Б. Гейтс (Bill Gates), основавшие вскоре фирму Microsoft.
Первые прикладные программы
• текстовые процессоры
- Electric Pencil (Michael Schrayer, 1976). - WorldStar (John Barnaby, 1978).
• электронные таблицы
- VisiCalc (Visible Calculator) (Daniel Bricklin, 1979). Изначально это программа была создана для персонального компьютера Apple II(Steve Wozniac, Steve Jobs, 1977), сыграв важную роль в успехе этой машины.
- Lotus 1-2-3 (Mitch Kapor, 1983).
Был намного проще в работе, чем VisiCalc, имел интегрированные возможности создания диаграмм, схем и баз данных. Благодаря Lotus 1-2-3 персональный компьютер быстро обрел статус настольной системы для организации бизнес-активности.
• системы управления базами данных- dBASE II (Wayne Ratliff, 1981).
Apple IIтактовая частота – 1 МГц; ОЗУ – 48-64 Кб; дисковод 5.25" – 140 Кб; цветной монитор; клавиатура, модем.
![]() |
• Mac OS (Macintosh Operating System)
Разработана в компании Apple Computer Inc. для компьютера Macintosh (1984 г.). Впервые применяется графический интерфейс (GUI – Graphical User Interface), который затем был использован в операционной системе Microsoft Windows 1.0 (1985 г.).
IBM PC XTпроцессор Intel i8088 (29 тыс.
транзисторов, 16 разрядов);
тактовая частота – 4.77 МГц;
8-разрядная шина; ОЗУ – 64 Кб; дисковод 5.25" – 160 Кб;
Компилятор Тurbo Pascalбыл создан в фирме Borland International (Philippe Kahn, 1983 г.). Разработчик языка Turbo Pascal А. Хейльсберг (Anders Hejlsberg) стал затем автором проекта Delphi, а после перехода в корпорацию Microsoft – ведущим архитектором языков .NET, а также автором языка C#. Среда Turbo Delphi – 2006 г.
В начале 80-х годов появилась разработанная сотрудником Bell
Laboratories Б. Страуструпом (Bjarne Stroustrup) новая версия языка С++. В него были внесены ряд добавлений, главным из которых были средства объектно-ориентированного программирования, при сохранении ориентации на системное программирование. С-подобные языки сейчас являются признанными лидерами в области профессионального программирования
Более простой по сравнению с С++ объектно-ориентированный язык Javaбыл разработан в начале 90-х гг. Д. Гослингом (James Gosling) из компании Sun Microsystems. Язык Java поддерживает программирование для World Wide Web в форме платформонезависимых Java-апплетов.
Прогресс в программировании во многом связан с противостоянием языков высокого уровня:
• FORTRANи АLGOL 60(70-е годы);
• Pascalи С(80-е годы); • С++и Java(90-е годы).
Язык С#(июнь 2000 г.) был разработан в Microsoft как часть новой технологии .NET. В рамках этой технологии предусмотрена единая среда выполнения программ (Common Language Runtime, CLR), написанных на разных языках программирования. CLR основана на использовании промежуточного языка IL (Intermediate Language), исполняющего почти ту же роль, что и байт-код виртуальной машины языка Java. В составе первой версии Microsoft.NET были компиляторы в IL с С++, C#, Visual Basic.
Скриптовые (сценарные) языкишироко распространены в последнее время, в частности для компьютерных сетей. Среди скриптовых языков можно выделить языкиразметки – GML, TeX, SGML, XML и др., и универсальные языки – Tcl, Perl, PHP, Python, Ruby и др.