ในขณะที่คำตอบอื่น ๆ ทราบว่าargv
มาจาก C, C ได้ความคิดที่จะเรียกว่า "เวกเตอร์" อาร์เรย์?
โดยตรงมาจาก BCPL แม้ว่าจะargv
อ้างถึงเวกเตอร์ของอาร์กิวเมนต์ (สตริง) BCPL มีสตริงที่เก็บไว้ในเวกเตอร์ แต่พวกเขาเป็นตัวอักษรสตริงและพวกเขาทำงานเหมือนสตริงปาสกาล เวกเตอร์มีสององค์ประกอบ: ความยาวที่และตัวละครที่literal!0
literal!1
อ้างอิงจากสไคลฟ์เฟธ มีการจัดการสตริงโดย "เปิดออก" เป็นอาเรย์อักขระเปลี่ยนอาเรย์จากนั้น "บรรจุใหม่" ลงในสตริง: เปรียบเทียบกับ C โดยที่สตริงเป็นอาร์เรย์อักขระ
ใช่แล้ว C ใช้ v สำหรับเวกเตอร์เพราะมีบางอย่างเกิดขึ้นมาก่อน ตอนนี้มีอะไรเกิดขึ้นก่อนที่ BCPL จะใช้เวกเตอร์ด้วยวิธีนี้? BCPL นั้นย่อมาจากภาษาโปรแกรมเคมบริดจ์ "หรือ [รวม]": สิ่งนี้ใช้vector
เป็นคำพ้องความหมายสำหรับอาร์เรย์ 1 มิติและmatrix
เป็นคำพ้องสำหรับอาร์เรย์ 2 มิติ สิ่งนี้สอดคล้องกับสัญกรณ์ในคณิตศาสตร์ของเวกเตอร์และเมทริกซ์ถึงแม้ว่าใน CPL มันเป็นเพียงตัวช่วยจำที่มีประโยชน์และไม่มีคุณสมบัติใด ๆ ที่เกี่ยวข้องกับโครงสร้างทางคณิตศาสตร์
เราสามารถย้อนเวลากลับไปเกี่ยวกับภาษาคอมพิวเตอร์ได้หรือไม่ สาขาหนึ่งที่มีศักยภาพของเส้นทางของเราจะเย็น CPL ได้รับอิทธิพลอย่างมากจาก Algol 60 (การอัพเดตปี 1963) ตอนนี้ ALGOL 68 มีประเภทที่ถูกอธิบายว่าเป็น "เวกเตอร์ที่อัดแน่น" เช่นbits
และbytes
: แต่สิ่งเหล่านี้ไม่ได้อยู่ในรุ่นก่อนหน้าของ Algol ซึ่งเพิ่งจะARRAY
อ้างถึงอาร์เรย์ ในฐานะที่เป็น BCPL มาจากปี 1966 CPL ต้องมาก่อน (แต่หลังจากปี 1963): ALGOL 68 (มาตรฐานในปี 1968 และ 1973) ไม่สามารถมีอิทธิพลโดยตรง
บนมืออื่น ๆ , คุณสมบัติหลักของ CPLยังทำให้การอ้างอิงถึงระบบเสียงกระเพื่อมของแมคคาร์ แม้ว่าสิ่งนี้จะไม่ใช้เวกเตอร์เพื่ออ้างถึงโครงสร้างข้อมูลในระบบ แต่เป็นS-expressions , M-expressionsและL-expressions (L-expressions นั้นเป็นสตริงดังนั้นความสัมพันธ์ระหว่างเวกเตอร์และสตริงจึงหายไป) จะใช้เวกเตอร์ในแง่อื่นเพื่อแสดง "ค่าของตัวแปรจำนวนหนึ่ง" แทน "สถานะของเครื่องได้ตลอดเวลา" ดังนั้นเราจึงมีหลักฐานสำหรับการสันนิษฐานในความคิดเห็น: การใช้คำว่า 'เวกเตอร์' เพื่อหมายถึง 'อาร์เรย์' ในการคำนวณมาจากการใช้คำที่คล้ายกันในคณิตศาสตร์