Я предполагаю, что они не могли сидеть перед компьютером целый день, как сегодня. Так как они написали свою программу? На листе бумаги и введите его позже, когда компьютер будет в наличии? Как они сделали свое тестирование?
Я предполагаю, что они не могли сидеть перед компьютером целый день, как сегодня. Так как они написали свою программу? На листе бумаги и введите его позже, когда компьютер будет в наличии? Как они сделали свое тестирование?
Ответы:
Приблизительно в 1974 году вы сидели за удобным столом и писали свою программу на бумаге. Вы бы проверили его, пройдя по голове, используя данные теста. Когда вы убедились, что ваша программа верна, вы пойдете в комнату перфокарт и перенесете свою программу на перфокарты, по одной строке из 80 символов на карточку. Вы также перфорируете карты для любых данных, которые могут понадобиться вашей программе. Затем вы также перфорируете несколько невероятно загадочных карт на языке управления заданиями (JCL), которые сообщают компьютеру, как компилировать и запускать вашу программу, и какие устройства ввода / вывода она будет использовать. Затем вы берете свои карты в «Окно ввода-вывода», где отдает их клерку.
Когда наступил твой ход, клерк загрузил твои карточки в лоток и нажал кнопку, чтобы заставить компьютер начать их читать. Вывод вашей программы обычно идет на линейный принтер или на барабанный плоттер. Когда ваша программа будет готова, клерк соберет ваши карточки и распечатку и поместит их в отверстие для голубей, где вы сможете их забрать. Вы бы выбрали вывод, просмотрите результаты и повторите процесс. Для полного цикла потребуется от 20 минут до 24 часов. Вы, вероятно, можете себе представить, что вы не были довольны, когда обнаружили, что единственным выводом было напечатанное сообщение от компилятора, сообщающее, что в вашей программе произошла синтаксическая ошибка.
Вы также можете иметь доступ к компьютеру через телетайп, так что вы можете провести интерактивный сеанс с удаленным компьютером. Однако печатать на телетайпе было физически больно (очень жесткие и громкие клавиши), так что вы все равно обычно писали и тестировали свою программу на бумаге.
К 1976 году системы UNIX и мини-компьютеры, такие как PDP 11-70, стали более распространенными. Вы обычно работали в комнате, полной видеотерминалов с дисплеями 25x80 символов. Они были подключены к компьютеру через последовательные линии. Грубый, но не слишком отличается от работы в командной строке сегодня. Большинство редакторов тогда были довольно глупы. Ви был удивительным улучшением.
Я изучал программирование в PL / 1 в 1975 году (на IBM 370/168 ), будучи подростком (я родился в 1959 году). Я имел честь иметь отца, работающего в IBM France. Его босс М. Дорнбуш написал книгу (на французском языке) о программировании в PL / 1.
В то время программа (сделанная кем-то, кто изучал программирование) представляла собой пакет из нескольких сотен перфокарт. Ответ Чарльза Э. Гранта описывает процесс: сначала вы написали свою программу на бумаге, и вы проверили ее довольно тщательно. Тогда вы перфорированные карты (на IBM29 клавишной машине), и , наконец , вы положили колоду карт в перфокарта. Обратите внимание, что в то время исходные программы были довольно маленькими (программа из нескольких тысяч операторов, то есть перфокарт - была очень большой программой).
Будучи подростком, я был впечатлен способностью компилятора проверки PL / 1, в частности, предлагать исправления опечаток.
В последующие годы я играл со старым компьютером CAB / 500 и компьютером IBM / 1620 в научном музее Дворца декоров в Париже (оба компьютера были достаточно взрослыми, чтобы сидеть в музее). CAB / 500 был выпущен в 1960-х годах, и мой отец написал свой компилятор PAF (своего рода язык BASIC), когда я был младенцем или ребенком (1958-1962).
Сегодня я все еще делаю вещи ( MELT ), связанные с компиляторами, и один из немногих, кто может утверждать, что он видел, как его собственный отец писал компиляторы!
Забавной вещью с PAF на CAB / 500 был ее интерактивный редактор (с физическими tty и перфорированными лентами), способный к завершению (по ключевым словам). Это было немного похоже на оригинальный IBM PC, как-то «персональный компьютер».
Самое смешное в IBM / 1620 было то, что вам пришлось загружать его, вводя несколько цифр на клавиатуре, чтобы загрузить монитор и компилятор Fortran.
Обратите внимание, что в 1950-х на некоторых компьютерах даже не было считывателей перфокарт (AFAIK это было необязательно в IBM650 и IBM7094), но я их никогда не видел.
Отметим также, что доступ к компьютерам в середине 1970-х годов был огромной привилегией (потому что они были дорогостоящим оборудованием). Возможно, сегодня эквивалентом может быть получение доступа к машинам по производству кремния или вычислительной мощности в масштабе центра обработки данных.
Это зависит от того, как далеко вы хотите вернуться.
Самое раннее «Программирование» использовало перфокарты, которые выглядели так (Это кобол)где они написали свой код с очень небольшим взаимодействием чего-либо особенно электрического, а затем подали их (когда они действительно получили возможность) на один компьютер в здание, чтобы код некоторое время работал и выплевывал распечатку из какой-либо формы , Часто было много других людей, которые хотели бы использовать один и тот же компьютер, поэтому вам приходилось ждать где-то до нескольких дней (если он был действительно занят) ваших результатов, которые чаще всего не были бы совершенно бесполезными (вы думаю, что получить синтаксическую ошибку сейчас может быть неприятно. Представьте себе, если вам пришлось полностью переписать часть кода, а затем подождать день, чтобы скомпилировать его). Им не нужно было почти столько же проверять ввод данных, либо проводить юзабилити-тестирование или любые другие критические тесты, потому что компьютеры там, где их так мало, «
Когда PDP и его эквиваленты стали более распространенными, программист (особенно в среде колледжа) записывал свой код на бумаге, а затем записывал время с PDP, чтобы набрать свой код и запустить его несколько раз. У них не было много времени, если они не работали в утренние часы, поэтому люди, не спавшие всю ночь только для того, чтобы заставить свой код работать, нередки, и ограниченная доступность времени на «настоящих» PDP (или эквивалент) приведет к тому, что несколько групп создадут свой собственный клон, чтобы получить немного больше времени.
Я бы сказал, что в те времена на самом деле использовать компьютерную программу было бы немного легче, чем писать ее сегодня. Учитывая, что сегодняшние IDE гораздо более удобны для пользователя, чем пользовательские интерфейсы компьютерных программ, даже тогда, когда они имели удаленные последовательные терминалы. В большинстве программ используются загадочные недокументированные последовательности клавиш или команды.
Мой единственный опыт работы с древними компьютерными системами - это старый цветной принтер Kodak 2610 Photo. Он загружался с серийного TTY с использованием считывателя оптических полос. Во время работы мне нужно было перезагрузить компьютер только один раз после сбоя.
Командное управление осуществлялось через серийный tt100 tty, но вся конфигурация была сохранена и восстановлена с использованием механического tty, который мог читать и записывать бумажные полосы.
Я помню, как мама рассказывала мне, что она программирует в колледже (около 1969-1970). Она сказала, что в первый год они использовали перфокарты, что было больно. На второй год они получили PDP-8, который был удивительным компьютером, и я думаю, что у них действительно был терминал или, по крайней мере, бумажная лента.
Я думаю, что она работала в Фортране и Лиспе.
Джерри Вайнберг некоторое время назад ответил на похожий вопрос в одном из своих блогов: http://secretsofconsulting.blogspot.com/2008/12/how-we-used-to-do-unit-testing.html.
Я думаю, что это может пролить свет на ваш вопрос.