Pertanyaan yang cukup sederhana, tetapi sesuatu yang belum dapat saya temukan. Siapa orang pertama yang menggambarkan ide pointer? Konsep abstrak itu sendiri?
Pertanyaan yang cukup sederhana, tetapi sesuatu yang belum dapat saya temukan. Siapa orang pertama yang menggambarkan ide pointer? Konsep abstrak itu sendiri?
Jawaban:
Bud Lawson menerima Penghargaan Perintis Komputer IEEEbeberapa tahun yang lalu, karena menemukan variabel pointer pada tahun 1964.
Pointer benar-benar penyimpanan yang ditujukan oleh isi register. Dengan demikian semua bahasa assembler mengimplementasikan ini dalam beberapa cara, dan, sebelum itu semua kode mesin yang dikodekan keras menerapkan ini.
Akan ada beberapa argumen mengenai komputer pertama yang mengimplementasikan ini. Sejauh yang saya tahu Sistem Skala Kecil Universitas Manchestern adalah yang pertama memasukkan penyimpanan yang ditangani oleh register yang dikendalikan program. Itu mungkin telah didahului oleh sistem ENIAC tetapi memiliki sedikit penyimpanan sehingga membuat penyimpanan addressable menjadi titik diperdebatkan.
Pointer adalah Referensi yang lebih luas. Bahasa pertama yang memiliki hal seperti itu adalah ALGOL 60 yang bisa memanggil nama. Ini jawaban pada SO masuk ke beberapa detail. PL / Saya punya pointer seperti halnya BCPL yang berarti bahwa CPL mungkin juga melakukannya meskipun saya belum menemukan bukti untuk itu. CPL sangat sulit untuk mendapatkan informasi yang konkret.
Untuk lebih langsung menjawab pertanyaan Anda tentang "siapa" baik DW Barron, Christopher Strachey atau Martin Richards mungkin menciptakan istilah "pointer".
Sulit untuk menebak siapa yang datang dengan mereka, tetapi register indeks di IBM 704 mungkin merupakan implementasi pertama. Dari sudut pandang bahasa pemrograman, oleh karena itu, tidak diragukan lagi akan menjadi bahasa assembly 704.
Tampaknya butuh beberapa tahun setelah itu sebelum bahasa pemrograman tingkat yang lebih tinggi dirancang untuk mengambil keuntungan dari inovasi ini, tetapi pada saat itu sebagian besar penemuan telah dilakukan, dan sebagian besar datang ke memilih nama, notasi, dll untuk menggambarkan apa perangkat keras didukung.
Pointer sebagai konsep dasar digunakan dalam "pengalamatan tidak langsung" fungsi pada sebagian besar CPU kembali setidaknya sebagai 6502.
Commodore menggunakan "kernal" pada komputer VIC 20, C64, dan C128-nya. satu set perangkat lunak alamat tetap dapat memanggil yang kemudian akan diarahkan ke kode saat ini. Mereka kemudian dapat memodifikasi OS tanpa merusak perangkat lunak yang ada.
Saya pikir 8080 dan Z80 memiliki alamat tidak langsung juga, tetapi saya tidak yakin dan saya tidak mengingatnya di 8008.
Nah - Pertama kali sintaks dan semantik konkret di mana dikembangkan untuk variabel pointer adalah untuk Bahasa Pemrograman PL / I pada tahun 1964.
Makalah mani tentang ini muncul pada tahun 1967 di ACM Communications pada tahun 1967.