Меню
Главная
Случайная статья
Настройки
|
JOSS (акроним для JOHNNIAC Open Shop System)[1] — один из первых интерактивных языков программирования с разделением времени. В нём впервые появились такие возможности, которые впоследствии стали обычными в языках с 1960-х по 1980-е годы, включая: использование номеров строк в качестве адресов для редактирования инструкций и целевых объектов для ветвей; операторы, основанные на логических условиях; встроенный редактор исходного кода, который может выполнять инструкции в прямом (direct) или немедленном (immediate) режиме, названном диалоговым пользовательским интерфейсом.
Первоначально JOSS был реализован на машине JOHNNIAC в RAND Corporation и введён в эксплуатацию в 1963 году. Он оказался очень популярным, и пользователи быстро перегрузили машину. К 1964 году потребовалась замена на машину с более высокой производительностью. JOHNNIAC был снят с производства в 1966 году и заменён PDP-6, который впоследствии вырос до поддержки сотен компьютерных терминалов на базе IBM Selectric. Терминалы использовали зелёные чернила для пользовательского ввода и черные для ответа компьютера. Любая команда, которая не была распознана, вызывала ответ: Eh? или SORRY .
Система оказала огромное влияние, породив множество портов и ответвлений. Некоторые остались похожими на оригинал, например TELCOMP и STRINGCOMP, CAL, CITRAN, ISIS, PIL/I, JEAN (серия ICT 1900), Algebraic Interpretive Dialogue (AID, на PDP-10); в то время как другие, такие как FOCAL и MUMPS, развивались в специфических направлениях. Он также очень похож на интерпретаторы BASIC, использовавшиеся в микрокомпьютерах 1980-х годов, отличаясь в основном деталями синтаксиса.
Содержание
История
Первоначальная идея
В 1959 году Уиллис Уэр написал меморандум RAND на тему вычислений, в котором заявил, что будущие компьютеры будут иметь «множество персональных станций ввода-вывода, чтобы многие люди могли взаимодействовать с машиной одновременно»[2]. Меморандум вызвал интерес у ВВС США, основных спонсоров Rand, и в 1960 году они сформировали проект «Информационный процессор» для изучения этой концепции, которая вскоре стала известна как разделение времени. Проект не был конкретно связан с разделением времени, но был направлен на улучшение взаимодействия человека и компьютера в целом. Тогда идея заключалась в том, что постоянное взаимодействие между пользователем и компьютером в манере запрос-ответ более естественно[2]. Как позже выразился директор JOSS Кит Анкафер:
Было две причины, которые, я думаю, привели к эксперименту. Во-первых, по крайней мере с 1950 года, когда я присоединился к Rand, отдел Rand по computer science всегда был сосредоточен на беспрепятственном взаимодействии с пользователем. Это было просто встроено в нас. Мы узнали об этом от Ганнинга. ... все, о чем мы думали. Во-вторых, видя, как математики борются с калькуляторами Маршана, было ясно, что они не могут использовать JOHNNIAC в чистом виде. Это было бы слишком тяжело. Им пришлось бы учиться на программистов. Это был бы просто разочаровывающий опыт для них. Мы хотели что-то, что выглядело бы для них естественным способом мышления, помогало в решении их проблем без особой подготовки и без необходимости становления программистом, потому что это отпугнуло бы их[3].
Официальное предложение разработать то, что впоследствии стало JOSS на компьютере JOHNNIAC, было принято в марте 1961 года[2].
JOSS-1
JOSS был почти полностью реализован Клиффордом Шоу, математиком, работавшим в растущем подразделении вычислений в Rand. Он был написан на символическом языке ассемблера под названием EasyFox (E и F в тогдашнем фонетическом алфавите вооруженных сил США), также разработанном Шоу[4].
Система JOSS была впервые официально запущена в мае 1963 года и поддерживала пять консолей: одну в машинном зале и ещё четыре в офисах по всему зданию[5]. Ранние консоли были основаны на передающей пишущей машинке IBM Model 868, поскольку на момент начала разработки Selectric ещё не был представлен на рынке[6]. Первое расписание было опубликовано 17 июня. В то время JOSS работал по три часа с 9:00 до 12:00 ежедневно[7]. В январе 1964 года было объявлено, что он полностью функционирует на восьми терминалах[1]. Окончательная версия была развернута в январе 1965 года[8].
К этому времени JOHNNIAC было уже более десяти лет. Его ламповая логика никогда не отличалась высокой надёжностью. Система была очень популярна, поэтому была перегружена даже когда работала хорошо. Пользователи были в восторге, один заявил:
|
|