24 Глава 1. Проблемы разработки языка
тем выдавала два выходных файла, содержащих обновленные платежные ведомо
сти и платежные чеки). Такая операционная среда называется средой пакетной
обработки (batchprocessing), поскольку входные данные группируются в пакеты
внутри файлов
1
и в виде пакетов обрабатываются программой. 80колонная пер
фокарта, или карта Холлерита (Hollerith card), названная так по имени Германа
Холлерита (Herman Hollerith), придумавшего ее для переписи населения США в
1980 г., была неотъемлемой частью компьютеров 60х гг.
Такие языки, как FORTRAN, COBOL и Pascal, изначально разрабатывались
под пакетную среду выполнения, хотя сейчас могут использоваться в интерактив
ной и встроенной операционной средах.
Интерактивные среды. В начале 70х гг., ближе к концу эпохи универсальных
ЭВМ, появилось интерактивное программирование. Чтобы не использовать при
создании программы пачку перфокарт, к компьютеру были подсоединены элект
роннолучевые мониторы. В результате исследований, проведенных в 60е гг. в рам
ках проекта по разработке компьютера на основе микропроцессоров (MAC —
microprocessorarray computer) и операционной системы Multics, осуществлявше
гося в MIT, появились компьютеры с возможностью разделения времени. В таких
системах каждому пользователю выделялись небольшие кванты процессорного
времени. Так, например, если каждому пользователю компьютера выделяются кван
ты в 25 мс и к компьютеру подключено 20 пользователей, то каждый из них за одну
секунду может использовать два раза по 25 мс (или 50 мс). Поскольку пользовате
ли зачастую тратят большую часть компьютерного времени на обдумывание за
дач, а не на непосредственное взаимодействие с компьютером, то те немногие, кто
в данный момент реально используют компьютер, имеют возможность пользоваться
большим количеством временем, чем отведенная им квота в два отрезка времени в
секунду.
При использовании интерактивной среды пользователь общается с програм
мой во время ее выполнения посредством дисплея, на который выводятся выход
ные данные, и клавиатуры или мыши, позволяющей вводить информацию. При
мерами являются системы обработки текстов, электронные таблицы, видеоигры,
системы обработки баз данных и системы компьютерного обучения. Наверняка
читатель хорошо знаком со всеми приведенными примерами.
Влияние на языки программирования. В языках, разработанных для пакетной
среды, файлы обычно являются основой для большинства структур вводавывода.
Хотя файлы также можно использовать и для интерактивного вводавывода на
терминал, в этих языках не было необходимости в реализации специальной воз
можности интерактивного вводавывода. Например, файлы обычно хранятся в виде
записей фиксированной длины, однако при интерактивном вводе данных програм
ма должна считывать каждый символ по мере его введения с клавиатуры. Также
обычно структура вводавывода не обеспечивает доступа к специальным устрой
ствам вводавывода, используемым во встроенных системах.
1
Здесь под файлом понимается картотека или набор подшитых бумаг (основное значение англий
ского слова file), а не широко используемый в современной информатике термин для обозначения
именованной области связанных данных на внешнем носителе информации (например, диске). Пер
фокарты чемто напоминали карточки в библиотечных каталогах, поэтому собранные вместе они
также назывались файлом. — Примеч. науч. ред.