Автокод, простой язык программирования; система команд некоторой условной машины, способной в качестве элементарных выполнять значительно более сложные операции, чем данная конкретная ЭВМ. Наиболее распространены А. типа 1:1, в которых основной элемент языка (оператор, строка) при переводе на языке цифровой вычислительной машины (ЦВМ) преобразуется в одну команду. С помощью А. типа 1:1 можно составить любую программу, которая возможна в системе команд вычислительной машины. Программирование на А. типа 1:1 эквивалентно программированию на языке ЦВМ, однако более удобно для человека и ускоряет работу примерно в 3 раза. А., отличные от А. типа 1:1, ориентируются не на систему команд ЦВМ, а на класс решаемых задач, значительно ускоряют работу по программированию, но не дают возможности получить программу такого же высокого качества, какое в принципе достижимо при программировании на языке ЦВМ или на А. типа 1:1. В А. (не типа 1:1) основной элемент языка (оператор) при переводе в код ЦВМ преобразуется, как правило, в совокупность нескольких команд. Указать резкую границу между А. и другими (более сложными) языками программирования невозможно. Примерами А. типа 1:1 могут служить А., разработанные в СССР для ЦВМ БЭСМ-6 и «Урал». Пример более сложного А. — А. типа «Инженер» для ЦВМ «Минск».
Алгоритм, заданный на А., перерабатывается в программу ЦВМ с помощью т. н. программы-транслятора, которая может по заданию программиста производить также простейшее распределение памяти, автоматическую компоновку программ из отдельных частей с использованием библиотеки подпрограмм и другие операции.
Во многих системах автоматического программирования А. служит промежуточным языком при переводе с другого языка программирования в код ЦВМ.
Кстати, если вспоминать о бейсике в частности и ЯВУ в целом, то для Manchester Mark I/II было разработано несколько ЯВУ с общим названием Autocode: en.wikipedia.org/wiki/Autocode
Но забавным мне показался второй — Mark 1 Autocode, причём он довольно широко использовался, судя по википедии.
Пример программы:
Что можно интересного сказать:
— одна операция — одна строка
— 18 целочисленных переменных с именами от n1 до n18
— столько вещественных переменных сколько было доступно прочей памяти с именами вида v1..v999
— оператор j7 переходит на строку пронумерованную как 7, после запятой пишется условие
— если нужно обращаться с ячейками памяти как с массивом, то используется конструкция vnx, например vn10 которая означает переменную v… с номером который хранится в переменной n10
Конечно это было прямо несколько шагов вперёд по сравнению с программирование в символах телетайпа.
Замечание об оставлении пустого места между строками много лет спустя повторилось в рекомендации нумеровать строки бейсик-программ числами, кратными 10 — при необходимости можно будет вставить новые строчки. :-)
Ну про инженеров — это я вообще ко всему коллективу работавшему над машиной обращался, там всё-таки согласно википедии 300000 человеко-часов было затрачено даже на предыдущую итерацию Mark I (Manchester Baby) у которого было всего 7 машинных команд (практически эзотерическая машина!) из которых арифметико-логические только вычитание и смена знака числа. Но вообще да, мозговой центр там был сплошь из профессоров и кандидатов наук.
я уже не понимаю зачем там вам нужно что-то перечитывать. что вы собираетесь найти? всё просто так как я констатировал и всё. двойных смыслов в тех фразах нет, это не афоризмы.
Лучше приводить конкретные цитаты, выдержки из текста.
Желательно привести «точные координаты» утверждений, как я просил. Страницу (по нумерации источника), абзац, текст. Связано это с тем что я не могу вычитывать все документы в поиске утверждаемого, весьма лимитировано время...
Назвать Алана Тьюринга британским инженером — это, конечно, пять.
Но если учесть что Тьюринг — один из людей, сформировавший парадигму компьютерных вычислений вообще, я не уверен, что стоит сильно удивляться тому что мышление для современных компьютеров не особенно то и изменилось. Для смены парадигмы нужен ещё один Тьюринг.
P.S.
Раскопал, что такая странная кодировка на самом деле не странная, а просто повторяет кодировку британского телеграфного кода тех лет — вставил картинку в статью.
Я кстати тоже подумал про LTE, но т.к. я современный прог слушаю мало, подумал что м.б. просто у меня ассоциация по незнанию. Очень круто что ты подумал именно про них же.
Ожидал сначала услышать обычный псевдовосемьбит, и был приятно удивлен совершенно другим звучанием. Напомнило чем-то Liquid Tension Experiment по звучанию и настроению.
P.P.S.
Интересно, залез сейчас взглянуть на документацию еще какого-нибудь из предтеч. И выбрал в этот раз Manchester Mark I — его «родитель» Manchester Baby был вообще первым компьютером с программой хранимой в ОЗУ. Этот компьютер был некоммерческим, поэтому документации какой то официальной долгое время не было и почитать можно было только статьи в разные журналы и издания. Например: curation.cs.manchester.ac.uk/computer50/www.computer50.org/kgill/mark1/natureart.html curation.cs.manchester.ac.uk/computer50/www.computer50.org/kgill/mark1/natureart51.html curation.cs.manchester.ac.uk/computer50/www.computer50.org/kgill/mark1/conf.html curation.cs.manchester.ac.uk/computer50/www.computer50.org/kgill/mark1/ssem.html
Так вот — несмотря на то что в этих статьях подробно описываются такие вещи как память, аккумулятор и счётчик инструкций — слово register не используется вообще.
К 1951 году коммерческая жилка всё-таки врывается в цех и выпускается коммерческий вариант (с поднятыми характеристиками) Manchester Mark I с названием Ferranti Mark I.
Для него конечно же уже появляется официальная документация по программированию за авторством самого Алана Тюринга (!) которую можно почитать тут: curation.cs.manchester.ac.uk/computer50/www.computer50.org/kgill/mark1/RobertTau/turing.pdf
Так вот — если там тоже дать на поиск слово «register» то оно найдётся два раза, но не в тексте инструкции, а в предисловии которое написано много много позже. Сам Алан Тюринг нигде не использует слово «регистр». Надо заметить, правда, что как ОЗУ так и аккумулятор там хранились на электронно-лучевых трубках (именно ЭЛТ!) и поэтому к ним чаще всего применяется эпитет «tubes». Такое ощущение, что британцы слово «регистр» переняли у американцев когда то позднее.
P.S.
Что касается UNIVAC — это один из первых компьютеров общего назначения вообще и видно что в нём регистры памяти противопоставляются несмотря на то что всё сделано на электронно-лучевых-трубках и первое же место где слово register встречается во второй документации говорит что registers are identical to memory, но присутствуют в единичных экземплярах и как бы находятся между памятью и вычислительным устройством — и тут приводится аналогия с табло калькулятора. В общем у тех кто писал документацию к UNIVAC уже есть сложившаяся терминология в этом смысле и по видимому так просто корней не найти, т.к. скорее всего это были кулуарные штуки конкретных коллективов людей работавших в оборонке под грифом секретно до того.
По моему мнению, ячейки памяти (в смысле ячейки ОЗУ) по смыслу не считались регистрами (в смысле регистрами процессора). В тексте применен термин «registers», означающий по смыслу также «ячейки памяти», «записи». Чего ты, видимо, не знал, не понял и не учел.
Не, это я знал. Во первых с английским у меня проблем нет, а во вторых о смысле слова registry как производного от register я задумывался еще во времена когда впервые познакомился с 1C: Предприятие и её концепцией РЕГИСТРОВ ОСТАТКОВ, например. По русски вообще странно звучит впервые и заставляет поднимать этимологию.
В общем спорим ни о чём, тут и спора то не должно быть.
(Your text to link...)
Но забавным мне показался второй — Mark 1 Autocode, причём он довольно широко использовался, судя по википедии.
Пример программы:
Что можно интересного сказать:
— одна операция — одна строка
— 18 целочисленных переменных с именами от n1 до n18
— столько вещественных переменных сколько было доступно прочей памяти с именами вида v1..v999
— оператор j7 переходит на строку пронумерованную как 7, после запятой пишется условие
— если нужно обращаться с ячейками памяти как с массивом, то используется конструкция vnx, например vn10 которая означает переменную v… с номером который хранится в переменной n10
Конечно это было прямо несколько шагов вперёд по сравнению с программирование в символах телетайпа.
Спасибо за предоставленный материал.
Но если прям интересно, то тут (документация по UNIVAC I от 59 года): www.bitsavers.org/pdf/univac/univac1/UNIVAC1_Programming_1959.pdf
Это страница 16 со слов: «The arithmetic registers are identical to memory cells except...»
Желательно привести «точные координаты» утверждений, как я просил. Страницу (по нумерации источника), абзац, текст. Связано это с тем что я не могу вычитывать все документы в поиске утверждаемого, весьма лимитировано время...
Но если учесть что Тьюринг — один из людей, сформировавший парадигму компьютерных вычислений вообще, я не уверен, что стоит сильно удивляться тому что мышление для современных компьютеров не особенно то и изменилось. Для смены парадигмы нужен ещё один Тьюринг.
Раскопал, что такая странная кодировка на самом деле не странная, а просто повторяет кодировку британского телеграфного кода тех лет — вставил картинку в статью.
Интересно, залез сейчас взглянуть на документацию еще какого-нибудь из предтеч. И выбрал в этот раз Manchester Mark I — его «родитель» Manchester Baby был вообще первым компьютером с программой хранимой в ОЗУ. Этот компьютер был некоммерческим, поэтому документации какой то официальной долгое время не было и почитать можно было только статьи в разные журналы и издания. Например:
curation.cs.manchester.ac.uk/computer50/www.computer50.org/kgill/mark1/natureart.html
curation.cs.manchester.ac.uk/computer50/www.computer50.org/kgill/mark1/natureart51.html
curation.cs.manchester.ac.uk/computer50/www.computer50.org/kgill/mark1/conf.html
curation.cs.manchester.ac.uk/computer50/www.computer50.org/kgill/mark1/ssem.html
Так вот — несмотря на то что в этих статьях подробно описываются такие вещи как память, аккумулятор и счётчик инструкций — слово register не используется вообще.
К 1951 году коммерческая жилка всё-таки врывается в цех и выпускается коммерческий вариант (с поднятыми характеристиками) Manchester Mark I с названием Ferranti Mark I.
Для него конечно же уже появляется официальная документация по программированию за авторством самого Алана Тюринга (!) которую можно почитать тут: curation.cs.manchester.ac.uk/computer50/www.computer50.org/kgill/mark1/RobertTau/turing.pdf
Так вот — если там тоже дать на поиск слово «register» то оно найдётся два раза, но не в тексте инструкции, а в предисловии которое написано много много позже. Сам Алан Тюринг нигде не использует слово «регистр». Надо заметить, правда, что как ОЗУ так и аккумулятор там хранились на электронно-лучевых трубках (именно ЭЛТ!) и поэтому к ним чаще всего применяется эпитет «tubes». Такое ощущение, что британцы слово «регистр» переняли у американцев когда то позднее.
Тьфу, смешались люди-кони, «электронно-лучевых-трубках» читать как «электронных лампах».
Что касается UNIVAC — это один из первых компьютеров общего назначения вообще и видно что в нём регистры памяти противопоставляются несмотря на то что всё сделано на электронно-лучевых-трубках и первое же место где слово register встречается во второй документации говорит что registers are identical to memory, но присутствуют в единичных экземплярах и как бы находятся между памятью и вычислительным устройством — и тут приводится аналогия с табло калькулятора. В общем у тех кто писал документацию к UNIVAC уже есть сложившаяся терминология в этом смысле и по видимому так просто корней не найти, т.к. скорее всего это были кулуарные штуки конкретных коллективов людей работавших в оборонке под грифом секретно до того.
В общем спорим ни о чём, тут и спора то не должно быть.