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