Компьютерное программирование в эпоху перфокарт
Эта статья написана как личное размышление, личное эссе или аргументативное эссе , в котором излагаются личные чувства редактора Википедии или представлен оригинальный аргумент по определенной теме. ( сентябрь 2016 г. ) |
С момента изобретения языков программирования до середины 1970-х годов большинство программистов создавали, редактировали и сохраняли свои программы построчно на перфокартах .
Перфокарты
[ редактировать ]Перфокарта — это гибкий носитель однократной записи, на котором кодируются данные, обычно состоящие из 80 символов. Группы или «колоды» карт образуют программы и коллекции данных. Этот термин часто используется как взаимозаменяемый с перфокартой , с той разницей, что неиспользованная карта является «перфокартой», но как только информация была закодирована путем пробивания отверстий в карте, она стала «перфокартой». будет использоваться термин « перфокарта» Для простоты в этой статье для обозначения любого из них .
Часто программисты сначала записывают свои программы на специальных формах, называемых листами кодирования, стараясь отличить цифру ноль от буквы О , цифру единицу от буквы I , восьмерку от B , двойку от Z и т. д., используя местные соглашения, такие как « перечеркнутый ноль ». Затем эти формы были приняты операторами перфоратора, которые с помощью перфоратора , такого как IBM 026 (позже IBM 029 ), пробивали колоду. Часто другой оператор перфоратора затем брал эту колоду и повторно перфорировал из листов кодирования, но с использованием «верификатора», такого как IBM 059 , который проверял, что исходная перфорация не содержит ошибок.
Ошибка при опечатке обычно требовала повторной перфорации всей карты. Редактирование программ облегчалось реорганизацией карточек, удалением или заменой изменившихся строк; резервное копирование программ осуществлялось путем дублирования колоды или записи на магнитную ленту.
В небольших организациях программисты могут выполнять перфорацию самостоятельно и во всех случаях часто имеют доступ к клавишам для внесения небольших изменений в колоду.
Рабочая среда
[ редактировать ]В приведенном ниже описании описывается магазин, полностью принадлежащий IBM («магазин» — это жаргон программистов, обозначающий сайт программирования), но магазины, использующие мэйнфреймы (или миникомпьютеры ) других марок, будут иметь аналогичное оборудование, хотя из-за стоимости или доступности могут иметь оборудование другого производителя, например Магазины NCR , ICL , Hewlett-Packard (HP) или Control Data будут иметь компьютеры, принтеры и т. д. NCR, ICL, HP или Control Data, но иметь кнопочные панели IBM 029. Огромный размер и присутствие IBM в отрасли часто приводили к тому, что многие из их соглашений были приняты другими поставщиками, поэтому приведенный ниже пример довольно похож на большинство мест, даже в магазинах, не принадлежащих IBM.
Типичная корпоративная или университетская компьютерная установка будет состоять из набора комнат, включая большую комнату с кондиционером и ограниченным доступом для компьютера (похожую на сегодняшнюю серверную комнату) и меньшую, более тихую смежную комнату для отправки заданий. Рядом должна была быть комната, полная перфомашин для программистов. Бухгалтерскую машину IBM 407 можно настроить так, чтобы можно было регистрировать недавно созданные или отредактированные программы (распечатывая их на сложенной бумаге ) для корректуры. IBM 519 может быть предоставлен для воспроизведения программных колод для резервного копирования или для пробивки последовательных чисел в столбцах 73–80.
В таких мейнфреймах , известных как «закрытые цеха», [а] программисты передавали колоды программ, часто сопровождаемые карточками данных для чтения программой, человеку, работающему за стойкой в компьютерном зале. В часы пик обычно стояли в очереди, чтобы сдать колоду. Чтобы решить эту проблему, устройство считывания карт можно было бы переустановить (или изначально установить) за пределами компьютерного зала, чтобы позволить программистам выполнять « самообслуживание » отправки заданий.
Во многих компьютерных установках использовались карты с противоположным угловым срезом (иногда без углового среза) в качестве «разделителей заданий», так что оператор мог одновременно укладывать несколько колод заданий в устройство чтения карт и иметь возможность быстро разделить колоды вручную, когда они извлекли их из укладчика. Эти карты (например, карта JCL «JOB» для начала новой работы) часто заранее перфорировались в больших количествах. [1] Это было особенно полезно, когда главный компьютер не считывал карты напрямую, а вместо этого считывал их изображения с магнитной ленты , подготовленной в автономном режиме компьютерами меньшего размера, такими как IBM 1401 . После считывания карт оператор компьютера возвращал колоду карт – обычно в одну из ячеек, помеченных алфавитом в зависимости от последнего инициала программиста. Поскольку программы запускались в пакетном режиме, могло пройти значительное время, прежде чем какая-либо печатная или перфорированная копия была создана и помещена в те же самые ячейки - однако в малоиспользуемой системе можно было внести изменения и перезапустить программа менее чем за час.
Преданные программисты могут не ложиться спать далеко за полночь, чтобы выполнить несколько быстрых работ. Использование этого дорогостоящего оборудования часто взималось со счета пользователя. Мэйнфрейм мог стоить миллионы долларов, а его использование измерялось секундами на одно задание.
Меньшие компьютеры, такие как IBM 1620 и 1130 , и миникомпьютеры, такие как PDP-11, были менее дорогими и часто работали как «открытый цех», где программисты имели исключительное право пользования компьютером в течение определенного периода времени. Для быстрого внесения исправлений поблизости обычно располагался перфоратор, хотя многие из этих небольших машин работали на перфоленте .
Идентификация и последовательность
[ редактировать ]Многие ранние языки программирования, включая FORTRAN , COBOL и различные ассемблерные языки IBM , использовали только первые 72 столбца карты — традиция, восходящая к устройству чтения карт IBM 711 , использовавшемуся в сериях IBM 704/709/7090/7094 ( особенно IBM 704 , первый массовый компьютер с оборудованием для вычислений с плавающей запятой ), который мог прочитать только 72 из 80 столбцов за один проход.
Столбцы 73-80 игнорировались составителями и могли использоваться для идентификации или порядкового номера, чтобы в случае падения колоды карт ее можно было восстановить в правильном порядке с помощью сортировщика карт . В зависимости от языка программирования, операторы вывода отладки можно быстро активировать и «закомментировать» с помощью карточек, на которых такие операторы отмечены символом комментария ( например , «C» в Фортране) в столбце 80 карты; перевернув карту конец за конец, в первом столбце поместится буква «C», что превратит теперь перевернутое содержимое карты в комментарий, оставив при этом физическую карту на месте в колоде.
(Альтернативным, несовершенным, но широко используемым методом поддержания правильного порядка карт было проведение одной или нескольких диагональных полос по верхнему краю всех карт в колоде.)
В последующие годы, когда данные перфокарт были преобразованы в файлы на магнитной ленте, порядковые номера часто использовались в качестве столбца в массиве в качестве значения индекса, которое можно сопоставить с временными последовательностями, например, в естественных науках, где данные на картах были связаны с периодическими выходными данными измерительного устройства, такого как регистраторы уровня воды в реках и ручьях в гидрологии или температуры в метеорологии. Целые хранилища, полные колод карт, можно было бы превратить в гораздо меньшие стойки с девятидорожечными кассетами.
См. также
[ редактировать ]Сноски
[ редактировать ]- ^ Компьютерную установку, называемую «закрытым цехом», не следует путать с обычным значением закрытого цеха , рабочего места, требующего членства в профсоюзе. Большинство программистов получали зарплату и не входили в профсоюзы.
Ссылки
[ редактировать ]- ^ да Круз, Франк (декабрь 2019 г.). «Перфокарты IBM» . История вычислительной техники Колумбийского университета . Колумбийский университет.
Внешние ссылки
[ редактировать ]- Фиск, Дейл (2005). «Программирование с использованием перфокарт: воспоминания программиста об обучении этому ремеслу в 1973 году» (PDF) . Проверено 11 ноября 2008 г. : Статья о культуре программирования, сложившейся вокруг использования перфокарт, на основе опыта Фиска «обучения ремеслу» у окружающих его людей.
- да Круз, Фрэнк (июль 2001 г.). «Зона ввода/вывода самообслуживания Колумбийского университета» . История вычислительной техники Колумбийского университета .
- Органик, Э.И. (1966). Учебник по Фортрану IV . Аддисон-Уэсли.
- «Принципы обработки данных перфокарт IBM (1961)» . www.computercollector.com .
Галерея
[ редактировать ]- Коробка перфокарт с несколькими программными колодами.
- Колода карт, содержащая одну программу.
- Блокнот с формами кодирования на Фортране.
- Карта отформатирована для языка ассемблера IBM 1620 .
- Карты иногда застревали в считывателе, и приходилось переперфовать одну или несколько.
- Листинг большой компьютерной программы на непрерывной бумаге, переплетенный в переплет для распечаток.
- Барабанная карта IBM с клавиатурой, используемая для программирования табуляции и пропусков
- Воспроизводящий перфоратор IBM 519 с открытой панелью управления коммутационной панелью (во время работы она будет закрыта).
- Высокоскоростное устройство считывания карт и перфоратор IBM 1402, используемые в более крупных установках и обычно управляемые оператором.
- Среднескоростной кард-ридер и перфоратор IBM 1442, используемые на многих небольших компьютерах, таких как IBM 1130.