Hugo'nun 1963 referansından önce gerçek bir alıntı yapabilir miyiz? Evet. John McCarthy , 1960 Nisan'ından itibaren sembolik ifadelerin özyinelemeli işlevlerinde ve bunların makine tarafından hesaplanmasında “string” kelimesini kullandı .
Atom sembolleri için, büyük Latin harfleri ve rakamları içeren dizeleri kullanacağız…
fakat bu soru için daha faydalı, bir dizgeye veri türü olarak yapılan başvuru:
Kabul edilen herhangi bir karakter dizisi [L] bir L ifadesidir.
Bu iyi bir örnek değil. "Bir karakter dizisi" derken, McCarthy, özel anlamıyla programcıların "anlamını" kullanmıyor. Bir Java programcısına kolayca "bir dize" diyebilirsiniz ve "karakterlerin" bölümünün kapalı olduğunu bilirler: McCarthy'nin kullanımı bu özelliği göstermez. McCarthy'nin güvenli bir şekilde çalıp çalmadığını veya o zaman gerçekten bir terimin bulunup bulunmadığını görmek için 1950'lere geri dönmeye çalışalım. LISP muhtemelen burada çok yardımcı olmayacak, matematiksel bir hesaplamaya dayandığından, McCarthy'nin karakter dizisi işlevleri, dizge işlemesi fikrinin ilk uygulaması olabilir.
1960'lı yılların önemli bir dize işleme sistemi, 1964’deki SNOBOL, Bir String Manipulation Language idi . Bu, McCarthy'nin yukarıda yazdığı makaleye atıfta bulunur, ancak aynı zamanda COMIT ve SCL'yi de tartışır. SCL'de sundukları işler yayınlanmamıştır: talihsiz bir çıkmaz.
COMIT'in izlenmesi kolaydır. Bilgisayar Programlama Sanatı (Cilt 1, üçüncü baskı, s.461) bize VH Yngve'nin üzerine 1963 CACM makalesi yazdığını söylemektedir. Ama "string" in en erken kullanımını arıyorum , bu yüzden daha önceki yayınları araştırmak için yazar araştırması yapacağım.
Bulabildiğim ilk şey Temmuz 1958'den itibaren Mekanik Tercüme için bir Programlama Dilidir. Bu sadece "string" kelimesinin bir kullanımını içerir:
Noktalama işaretleri veya boşluklar arasındaki sürekli harflerin her biri sözlükte aranır.
Yine, bu kullanım McCarthy'ninki gibidir: bu, günümüzdeki anlamında kullanılmakta olan “ip” için kanıt değildir. Makaleye ayrıntılı olarak baktığımızda, veri yapısının bir kart üzerinde bir "hat" olduğunu görüyoruz (daha uzun "hatlar" için devamlara izin veriyor).
Tamam, COMIT'in tarihinde ileriye gideceğiz ve ne alabileceğimize bakacağız. İlk yararlı referans, bir haziran 1959 konferansındaki işlemlerden itibaren mekanik çeviri için COMIT sistemidir .
Eğer D SIN (F) 'yi COS (F) D (F) ile değiştirmek istiyorsak, F sınırsızdır ve herhangi bir rasgele bileşen dizisi olabilirse, bu dizgiyi almak için $ gösterimini kullanırız.
Bu, bugün kullanma şeklimize daha çok benziyor: "string" tek başına duruyor ve bir bonus tanınabilir bir özel sembole sahip: dolar işareti hala bir dizi değişkenini belirtmek için bazı BASIC tatlarında kullanılıyor.
Bu süre zarfında, "string" kelimesi aynı zamanda birçok kez ACL '58 Bildirilerinden Perlis ve Smith tarafından sembollerin dizilişini işlemek için bir komut dilinde ve bir kez de Paylaşım 709 Sisteminde: Boehm ve Çelik.
ACM dijital kütüphanesini 1960'ların başlarında 'string' için araştırmak, "ALGOL'de string kullanımı", "Yeni Dilde String Uygulaması" ve "Alfanümerik bilgiler için liste tipi bir depolama tekniği" gibi başlıklar dahil 62 sonuç verir. Bu fikir o zamana kadar iç içe geçmiş gibi görünüyor.
Bilgisayar bilimi jargonunun sıralı bir karakter listesi olarak algıladığı "string" in birkaç yıl boyunca 1960 civarında yaygınlaştığını iddia ediyorum. Bundan önce, Yngwe ve McCarthy gibi yazarlar "karakter dizisi" diyebildiklerinden ve olduklarından emin olabilirlerdi. anlaşıldı, ancak "string" i bugün kullandığı anlamda çıplak bir kelime olarak kullanamadı.
Kısa yol muhtemelen bilgisayar ana ile Perlis ve Smith gazetesi tarafından tanıtıldı. Yaygın olarak belirtilmemiştir, ancak önemli bir alıntı, Nisan 1960’ta Joseph W. Smith’in ALGOL’e yaptığı sözdizimsel ve anlamsal yükseltmelerdir (CACM’in McCarthy’nin LISP’nin açıklamasıyla aynı baskısında). Bu kağıttan:
Bu yazının amacı ALGOL'e bir dizi sözdizimsel ve anlamsal artırma önermektir. Önerilen uzantılar, bu dilde "string" manipülasyonunun tanımlanmasını kolaylaştırmak için tasarlanmıştır; sembol manipülasyonu için kapsamlı bir dil oluşturmazlar.
Bana göre bu, akademik sözlükte onaylanan ve ticari hesaplamalar için kullanılan araçlara önem verilen sembolik hesaplamalar için bir veri türü anlamına gelen "string" ifadesini oluşturur.
Bu arada, Programlama Dilleri: Jean Sammet'in (1972) Tarih ve Geleceği , COMIT ve SNOBOL'un string manipülasyonunun öncüleri olduğunu öne sürüyor, bu yüzden daha önceki örnekler olmayacağına eminim.