Chi ha inventato i puntatori?

12

Domanda abbastanza semplice, ma qualcosa che non sono stato in grado di scoprire. Chi è stata la prima persona a descrivere l'idea di un puntatore? Lo stesso concetto astratto?

    
posta Mike 14.10.2011 - 06:14
fonte

6 risposte

15

I puntatori sono davvero archiviati dal contenuto di un registro. In quanto tali, tutti i linguaggi assemblatori lo implementano in qualche modo e, prima ancora, tutti i codici macchina codificati lo hanno implementato.

Ci saranno alcune discussioni sul primo computer che l'ha implementato. Per quanto ne so, il sistema a scala ridotta di Manchestern University è stato il primo ad includere lo spazio di archiviazione gestito dai registri controllati dal programma. Potrebbe essere stato preceduto dal sistema ENIAC, ma aveva così poca memoria da rendere lo stoccaggio indirizzabile un punto controverso.

    
risposta data 14.10.2011 - 09:03
fonte
5

I puntatori sono più ampiamente riferimenti. La prima lingua ad avere qualcosa di simile era ALGOL 60 che poteva chiamare per nome. Questa risposta su SO entra in dettaglio. PL / I aveva dei puntatori come BCPL , il che significa che probabilmente CPL lo ha fatto anche se non ho trovato qualche prova per questo. CPL è molto difficile da informazioni concrete.

Per rispondere più direttamente alla tua domanda sul "chi", D. W. Barron, Christopher Strachey o Martin Richards probabilmente hanno coniato il termine "puntatore".

    
risposta data 14.10.2011 - 06:37
fonte
4

È difficile indovinare con esattezza chi è venuto a trovarli, ma i registri di indice nell'IBM 704 sono stati probabilmente la prima implementazione. Da un punto di vista del linguaggio di programmazione, quindi, sarebbe stato indubbiamente il linguaggio di assemblaggio del 704.

A quanto pare ci sono voluti alcuni anni prima che i linguaggi di programmazione di livello superiore fossero progettati per trarre vantaggio da questa innovazione, ma a quel punto la maggior parte dell'invenzione era stata fatta, e per lo più si trattava di selezionare nomi, notazioni, ecc. per descrivere cosa supporta l'hardware.

    
risposta data 14.10.2011 - 08:07
fonte
3

Bud Lawson ha ricevuto i premi http: // IEEE Computer Pioneer Award alcuni anni fa, per aver inventato la variabile pointer nel 1964.

    
risposta data 14.10.2011 - 16:01
fonte
0

I puntatori come concetto di base vengono utilizzati in "indirizzamento indiretto" di una funzione sulla maggior parte delle CPU almeno fino al 6502.

Commodore usava il "kernal" sui suoi computer VIC 20, C64 e C128. un insieme fisso di software di indirizzi potrebbe chiamare che verrebbe reindirizzato al codice corrente. Potrebbero quindi modificare il sistema operativo senza rompere il software esistente.

Penso che anche l'8080 e lo Z80 avessero un indirizzo indiretto, ma non ne sono sicuro e non lo ricordo nell'8008.

    
risposta data 14.10.2011 - 14:37
fonte
0

Bene - La prima volta che una sintassi e una semantica concrete sono state sviluppate per le variabili puntatore era per il linguaggio di programmazione PL / I nel 1964.

Il documento fondamentale su questo è apparso nel 1967 in ACM Communications nel 1967.

    
risposta data 07.12.2016 - 21:57
fonte

Leggi altre domande sui tag