Довольно простой вопрос, но кое-что я не смог выяснить. Кто был первым, кто описал идею указателя? Сама абстрактная концепция?
Довольно простой вопрос, но кое-что я не смог выяснить. Кто был первым, кто описал идею указателя? Сама абстрактная концепция?
Ответы:
Бад Лоусон получил награду IEEE Computer Pioneer Award несколько лет назад за изобретение переменной указателя в 1964 году.
Указатели - это действительно хранилище, адресуемое содержимым регистра. Таким образом, все языки ассемблера реализуют это каким-то образом, и до этого все жестко закодированный машинный код реализовывал это.
Там будет некоторый аргумент в отношении первого компьютера, который реализовал это. Насколько я знаю, система малого масштаба Манчестерского университета была первой, в которой была реализована система хранения, адресованная регистрами, управляемыми программой. Это , возможно, предшествовал системе ENIAC , но это было так мало памяти, чтобы сделать адресацией хранения спорный вопрос.
Указатели являются более широкими ссылками. Первым языком, который имел что-то подобное, был Алгол 60, который можно было назвать по имени. Этот ответ на SO входит в некоторые детали. У PL / I были указатели, как и у BCPL, что означает, что CPL, вероятно, тоже, хотя я не нашел никаких доказательств этого. CPL очень трудно конкретизировать информацию о.
Чтобы более прямо ответить на ваш вопрос относительно того, «кто» или Д. У. Баррон, Кристофер Стрейчи или Мартин Ричардс, вероятно, придумал термин «указатель».
Трудно догадаться, кто именно их придумал, но регистры индекса в IBM 704 были, вероятно, первой реализацией. Следовательно, с точки зрения языка программирования, это, несомненно, был бы ассемблерный язык 704-х годов.
Очевидно, потребовалось несколько лет после этого, чтобы языки программирования более высокого уровня были разработаны для того, чтобы воспользоваться этим нововведением, но к тому времени большая часть изобретений была сделана, и в основном все сводилось к выбору имен, обозначений и т. Д., Чтобы описать, какое оборудование поддерживается.
Указатели в качестве основной концепции используются в «косвенной адресации» функции на большинстве процессоров, начиная с 6502.
Commodore использовал "kernal" на своих компьютерах VIC 20, C64 и C128. фиксированный набор программ адресации мог бы вызвать, который тогда был бы перенаправлен к текущему коду. Затем они могут изменить ОС, не нарушая существующее программное обеспечение.
Я думаю, что 8080 и Z80 тоже имели косвенный адрес, но я не уверен и не помню его в 8008.
Хорошо. Впервые конкретный синтаксис и семантика, разработанные для переменных-указателей, были для языка программирования PL / I в 1964 году.
Оригинальный документ об этом появился в 1967 году в ACM Communications в 1967 году.