ดังนั้นจึงเห็นได้ชัดว่าสตริงของสิ่งต่าง ๆ เป็นลำดับของสิ่งต่าง ๆ และลำดับของอักขระ / ไบต์ / ฯลฯ อาจจะเรียกว่าสตริงเช่นกัน แต่ใครเป็นคนแรกที่เรียกพวกเขาว่าสตริง? และเมื่อ? และในบริบทใดที่มันติดอยู่ ฉันสงสัยเกี่ยวกับเรื่องนี้เสมอ
ดังนั้นจึงเห็นได้ชัดว่าสตริงของสิ่งต่าง ๆ เป็นลำดับของสิ่งต่าง ๆ และลำดับของอักขระ / ไบต์ / ฯลฯ อาจจะเรียกว่าสตริงเช่นกัน แต่ใครเป็นคนแรกที่เรียกพวกเขาว่าสตริง? และเมื่อ? และในบริบทใดที่มันติดอยู่ ฉันสงสัยเกี่ยวกับเรื่องนี้เสมอ
คำตอบ:
เราจะได้รับการอ้างอิงที่แท้จริงก่อนที่จะอ้างอิงของ Hugo ในปี 1963 หรือไม่? ใช่. John McCarthy ใช้คำว่า "string" ในฟังก์ชั่น Recursive ของการแสดงออกเชิงสัญลักษณ์และการคำนวณโดยใช้เครื่อง Part Iตั้งแต่เมษายน 1960
สำหรับสัญลักษณ์อะตอมเราจะใช้สตริงตัวอักษรและตัวเลขละตินตัวพิมพ์ใหญ่ ...
แต่มีประโยชน์มากกว่าสำหรับคำถามนี้การอ้างอิงถึงสตริงเป็นประเภทข้อมูล:
สตริงของอักขระที่ยอมรับ [คือ] นิพจน์ L
นั่นไม่ใช่ตัวอย่างที่ดี โดยการพูดว่า "สตริงอักขระ" McCarthy ไม่ได้ใช้ "string" ในโปรแกรมเมอร์ที่มีความหมายเฉพาะในปัจจุบัน คุณสามารถพูดว่า "สตริง" กับโปรแกรมเมอร์ Java ได้อย่างง่ายดายและพวกเขาจะรู้ว่าส่วน "ของตัวละคร" นั้นโดยนัย: การใช้งานของ McCarthy ไม่ได้แสดงให้เห็นถึงคุณลักษณะนี้ เราลองย้อนกลับไปในช่วงทศวรรษ 1950 เพื่อดูว่า McCarthy เล่นปลอดภัยหรือไม่ LISP อาจจะไม่ช่วยอะไรมากที่นี่เนื่องจากมันใช้แคลคูลัสเชิงคณิตศาสตร์ดังนั้นฟังก์ชันสตริงของ McCarthy อาจเป็นแอปพลิเคชั่นแรกของแนวคิดในการประมวลผลสตริง
ที่สำคัญระบบสตริงการประมวลผลของปี 1960 เป็น 1964 ของSNOBOL สตริงภาษาการจัดการ เอกสารนี้อ้างถึงบทความของ McCarthy ข้างต้น แต่ยังกล่าวถึง COMIT และ SCL งานที่พวกเขาอ้างถึงใน SCL นั้นไม่ได้ถูกตีพิมพ์นั่นคือจุดจบที่โชคร้าย
COMIT ง่ายต่อการติดตาม The Art of Computer Programming (เล่มที่ 1 ฉบับที่สามหน้า 44) บอกเราว่า VH Yngve เขียนบทความ 1963 CACM แต่ฉันกำลังมองหาการใช้ "สตริง" ที่เร็วที่สุดดังนั้นฉันจะทำการค้นหาผู้เขียนสำหรับสิ่งพิมพ์ก่อนหน้า
สิ่งแรกที่ฉันสามารถหาได้คือภาษาการเขียนโปรแกรมสำหรับการแปลเชิงกลตั้งแต่เดือนกรกฎาคม 2501 ซึ่งมีเพียงการใช้คำว่า "string" เท่านั้น:
แต่ละสตริงของตัวอักษรต่อเนื่องระหว่างเครื่องหมายวรรคตอนหรือช่องว่างจะค้นหาในพจนานุกรม
อีกครั้งการใช้งานนี้ก็เหมือนของ McCarthy นี่ไม่ใช่หลักฐานสำหรับ "สตริง" ที่ใช้ในความหมายปัจจุบัน เมื่อดูรายละเอียดในกระดาษเราจะเห็นว่าโครงสร้างข้อมูลเป็น "เส้น" บนการ์ด (เพื่อให้สามารถต่อเนื่อง "เส้น" อีกต่อไป)
ตกลงเราจะเดินหน้าต่อไปในประวัติของ COMIT และดูว่าเราจะได้อะไร การอ้างอิงที่มีประโยชน์ครั้งแรกคือระบบ COMIT สำหรับการแปลเชิงกลจากการดำเนินการประชุมมิถุนายน 1959
หากเราต้องการแทนที่ D SIN (F) ด้วย COS (F) D (F) โดยที่ F ไม่ จำกัด และอาจเป็นลำดับขององค์ประกอบใด ๆ โดยพลการเราใช้สัญกรณ์ $ เพื่อใช้แทนสตริงนี้
ดูเหมือนว่าจะคล้ายกับวิธีที่เราใช้ในปัจจุบันมากขึ้น: "สตริง" ยืนอยู่คนเดียวและโบนัสมีสัญลักษณ์พิเศษที่เป็นที่รู้จัก: เครื่องหมายดอลลาร์ยังคงใช้ในรสชาติพื้นฐานบางอย่างเพื่อแสดงถึงตัวแปรสตริง
จากช่วงเวลานี้คำว่า "string" ก็ปรากฏขึ้นหลายครั้งในภาษาคำสั่งสำหรับจัดการสตริงของสัญลักษณ์โดย Perlis และ Smith จาก ACM '58 Proceedings และอีกครั้งในระบบ Share 709: การใช้งานเครื่องของการเขียนโปรแกรมสัญลักษณ์โดย Boehm และ เหล็ก.
การค้นหาไลบรารีดิจิทัล ACM สำหรับ 'string' ในต้นปี 1960 ให้ผลลัพธ์ 62 รายการรวมถึงชื่อเรื่อง "การจัดการสตริงใน ALGOL", "การจัดการสตริงในภาษาใหม่" และ "เทคนิคการจัดเก็บรายการข้อมูลสำหรับตัวอักษรและตัวเลข" ดูเหมือนว่าความคิดจะกลายเป็นที่ยึดที่มั่นแล้ว
ฉันจะยืนยันว่า "สตริง" ในความหมายของศัพท์แสงวิทยาศาสตร์คอมพิวเตอร์เป็นรายการตัวอักษรที่สั่งเป็นเรื่องธรรมดาในช่วงสองสามปีประมาณ 2503 ก่อนหน้านั้นผู้เขียนเช่น Yngwe และ McCarthy สามารถพูดว่า "สตริงของอักขระ" และต้องแน่ใจว่าพวกเขา เข้าใจแล้ว แต่ไม่สามารถใช้ "สตริง" เป็นคำเปล่าได้ในความหมายที่ใช้ในปัจจุบัน
การจดชวเลขอาจแนะนำให้รู้จักกับการคำนวณหลักโดยกระดาษ Perlis และ Smith มันยังไม่ได้รับการกล่าวถึงอย่างกว้างขวาง แต่มีการอ้างอิงที่สำคัญอย่างหนึ่งคือโจทย์ดับบลิวดับบลิวสมิ ธ ในเดือนเมษายนปี 1960 โดยโจเซฟดับบลิวสมิ ธ (ในฉบับเดียวกันของ CACM จากกระดาษนั้น:
วัตถุประสงค์ของบทความนี้เพื่อเสนอชุดของการเสริมประโยคและความหมายของ ALGOL ส่วนขยายที่เสนอถูกออกแบบมาเพื่ออำนวยความสะดวกในรายละเอียดของการจัดการ "สตริง" ในภาษานั้น พวกเขาไม่ได้เป็นภาษาที่ครอบคลุมสำหรับการจัดการสัญลักษณ์
สำหรับฉันแล้วนี่ถือเป็นหลักฐานของ "สตริง" หมายถึงประเภทข้อมูลสำหรับการคำนวณเชิงสัญลักษณ์ที่ได้รับการยืนยันในพจนานุกรมทางวิชาการและแนะนำให้รู้จักกับเครื่องมือที่ใช้สำหรับการคำนวณเชิงพาณิชย์
อนึ่งภาษาโปรแกรม: ประวัติศาสตร์และอนาคตโดย Jean Sammet (1972) แสดงให้เห็นว่า COMIT และ SNOBOL เป็นต้นกำเนิดของการจัดการสตริงดังนั้นฉันค่อนข้างมั่นใจว่าจะไม่มีตัวอย่างก่อนหน้านี้
ไม่ใช่คำตอบที่สมบูรณ์ แต่การใช้สตริงเพื่อหมายถึง "จำนวนวัตถุที่จัดเรียงในบรรทัด" นั้นมีอยู่ราว ๆ ปลายทศวรรษที่ 1400 แหล่ง
นี่คือการใช้งานเดียวกันเป็นหลัก
การอ้างอิงที่เร็วที่สุดที่ฉันสามารถหาได้ในการคำนวณคือจากMeteorของมีนาคม1963 : LISP Interpreter สำหรับการแปลงสตริงโดย Daniel G. Bobrow ที่ AI Labs ของ MIT
Oxford อังกฤษมีตัวอย่างการคำนวณก่อนหน้านี้จาก1956ปัญหาของวารสารของสมาคมเพื่อการคำนวณ :
พื้นที่ถูกตั้งค่าไว้สำหรับผูกสายของเขตข้อมูลการควบคุมกลับไปกลับมาจนกว่าจะได้รับการเรียงลำดับอย่างสมบูรณ์