Bisakah kita mendapatkan kutipan sungguhan sebelum referensi Hugo 1963? Iya. John McCarthy menggunakan kata "string" dalam fungsi Rekursif dari ekspresi simbolik dan perhitungannya dengan mesin, Bagian I , dari April 1960.
Untuk simbol atom, kita akan menggunakan string huruf latin dan digit ...
tetapi lebih bermanfaat untuk pertanyaan ini, referensi ke string sebagai tipe data:
Setiap string karakter yang diterima [adalah] ekspresi-L.
Itu bukan contoh yang bagus. Dengan mengatakan "serangkaian karakter", McCarthy tidak menggunakan "string" dalam arti yang khusus dimiliki oleh pemrogram hari ini. Anda dapat dengan mudah mengatakan "string" ke programmer Java dan mereka akan tahu bahwa bagian "karakter" tersirat: Penggunaan McCarthy tidak menunjukkan fitur ini. Mari kita coba kembali ke tahun 1950-an, untuk melihat apakah McCarthy memainkannya dengan aman atau apakah istilah itu benar-benar tidak ada saat itu. LISP mungkin tidak akan banyak membantu di sini, karena didasarkan pada kalkulus matematika sehingga fungsi string McCarthy mungkin merupakan aplikasi pertama dari ide untuk pemrosesan string.
Sistem pemrosesan string penting pada 1960-an adalah SNOBOL 1964 , A Manipulation Language . Ini mengutip makalah McCarthy di atas, tetapi juga membahas COMIT dan SCL. Pekerjaan yang mereka kutip di SCL tidak dipublikasikan: jalan buntu yang malang.
COMIT lebih mudah dilacak. Seni Pemrograman Komputer (Volume 1, edisi ketiga, hal.461) memberi tahu kita bahwa VH Yngve menulis sebuah artikel 1963 CACM di situ. Tapi saya sedang mencari penggunaan awal "string", jadi saya akan melakukan pencarian penulis untuk publikasi sebelumnya.
Yang pertama saya temukan adalah Bahasa Pemrograman untuk Terjemahan Mekanis , mulai Juli 1958. Ini hanya mengandung satu penggunaan kata "string":
Setiap string huruf yang terus menerus di antara tanda baca atau spasi terlihat dalam kamus.
Sekali lagi, penggunaan ini seperti McCarthy: ini bukan bukti untuk "string" yang digunakan dalam arti saat ini. Melihat kertas secara rinci, kita melihat bahwa struktur data adalah "garis" pada kartu (memungkinkan untuk kelanjutan "garis" yang lebih panjang).
Oke, kita akan bergerak maju dalam sejarah COMIT dan melihat apa yang bisa kita dapatkan. Referensi pertama yang bermanfaat adalah Sistem COMIT untuk terjemahan mekanis , dari proses konferensi bulan Juni 1959.
Jika kita ingin mengganti D SIN (F) dengan COS (F) D (F), di mana F tidak dibatasi dan mungkin urutan sembarang konstituen, kita menggunakan notasi $ untuk mendukung string ini.
Ini tampaknya lebih mirip dengan cara kita menggunakannya hari ini: "string" berdiri sendiri dan sebagai bonus memiliki simbol khusus yang dapat dikenali: tanda dolar masih digunakan dalam beberapa rasa BASIC untuk menandakan variabel string.
Dari sekitar waktu ini, kata "string" juga muncul berkali-kali dalam bahasa perintah untuk menangani string simbol oleh Perlis dan Smith dari ACM '58 Proceeding, dan sekali dalam The Share 709 System: Mesin Implementasi Program Simbolik oleh Boehm dan Baja.
Mencari 'string' di perpustakaan digital ACM pada awal 1960-an menghasilkan 62 hasil, termasuk judul-judul seperti "Penanganan string dalam ALGOL", "Manipulasi String dalam Bahasa Baru" dan "Teknik penyimpanan tipe-daftar untuk informasi alfanumerik". Tampaknya gagasan itu sudah mengakar saat itu.
Saya berpendapat bahwa "string" dalam pengertian jargon ilmu komputer sebagai daftar karakter yang teratur menjadi umum selama beberapa tahun sekitar tahun 1960. Sebelum itu, penulis seperti Yngwe dan McCarthy dapat mengatakan "string karakter" dan memastikan bahwa mereka dipahami, tetapi tidak bisa menggunakan "string" sebagai kata kosong dalam arti yang digunakan hari ini.
Tulisan singkat mungkin diperkenalkan ke arus utama komputasi oleh kertas Perlis dan Smith. Itu belum banyak dikutip, tetapi satu kutipan penting adalah penambahan sintaksis dan semantik untuk ALGOL oleh Joseph W. Smith pada bulan April 1960 (dalam edisi yang sama CACM seperti deskripsi McCarthy tentang LISP). Dari makalah itu:
Tujuan dari makalah ini adalah untuk mengusulkan satu set penambahan sintaksis dan semantik untuk ALGOL. Ekstensi yang diusulkan dirancang untuk memfasilitasi deskripsi manipulasi "string" dalam bahasa itu; mereka bukan merupakan bahasa yang komprehensif untuk manipulasi simbol.
Bagi saya, ini merupakan bukti "string" yang berarti tipe data untuk perhitungan simbolik yang ditegaskan dalam leksikon akademik, dan yang penting diperkenalkan pada alat yang digunakan untuk perhitungan komersial.
Kebetulan, Bahasa Pemrograman: Sejarah dan Masa Depan oleh Jean Sammet (1972) menunjukkan bahwa COMIT dan SNOBOL adalah nenek moyang manipulasi string, jadi saya cukup yakin bahwa tidak akan ada contoh sebelumnya.