Trong khi các câu trả lời khác lưu ý argv
đến từ C, thì C đã lấy ý tưởng ở đâu để gọi một mảng là "vectơ"?
Trực tiếp, nó đến từ BCPL . Mặc dù argv
đề cập đến vectơ của các đối số (chuỗi), BCPL đã có các chuỗi được lưu trữ trong các vectơ, nhưng chúng là các chuỗi ký tự và chúng hoạt động giống như các chuỗi Pascal. Vectơ có hai yếu tố: chiều dài literal!0
và ký tự tại literal!1
. Theo Clive Feather , các chuỗi được xử lý bằng cách "giải nén" chúng thành các mảng ký tự, biến đổi mảng sau đó "đóng gói lại" chúng thành các chuỗi: so sánh điều này với C trong đó các chuỗi là các mảng ký tự.
Vì vậy, có, C đã sử dụng v cho vector bởi vì một cái gì đó khác đã làm như vậy trước đây. Bây giờ, có điều gì trước khi BCPL sử dụng vector theo cách này không? BCPL tự nó là một sự đơn giản hóa của "Ngôn ngữ lập trình Cambridge [hoặc kết hợp]": từ này được sử dụng vector
như một từ đồng nghĩa cho mảng 1 chiều và matrix
là từ đồng nghĩa cho mảng 2 chiều. Điều này phù hợp với ký hiệu trong toán học của vectơ và ma trận, mặc dù trong CPL chúng chỉ là những câu thần chú tiện dụng và không có bất kỳ tính chất nào liên quan đến cấu trúc toán học.
Chúng ta có thể đẩy lùi thời gian xa hơn về ngôn ngữ điện toán không? Một nhánh tiềm năng của đường mòn của chúng tôi chạy lạnh. CPL bị ảnh hưởng nặng nề bởi Algol 60 (bản cập nhật năm 1963). Bây giờ ALGOL 68 đã có các loại được mô tả là "vectơ đóng gói", chẳng hạn như bits
và bytes
: nhưng chúng không có trong các bản phát hành trước đó của Algol mà chỉ ARRAY
đề cập đến mảng. Vì BCPL xuất hiện từ năm 1966, CPL phải có trước đó (nhưng sau năm 1963): ALGOL 68 (được chuẩn hóa vào năm 1968 và 1973) không thể có ảnh hưởng trực tiếp.
Mặt khác, các tính năng chính của CPL cũng liên quan đến hệ thống LISP của McCarth . Trong khi điều này không sử dụng vector để chỉ một cấu trúc dữ liệu trong hệ thống chính nó, những con người S-biểu , M-biểu và L-biểu thức (L-biểu là chuỗi, vì vậy bất kỳ mối liên hệ giữa vector và chuỗi đã biến mất), nó không sử dụng vectơ theo nghĩa khác để biểu thị "giá trị của một số biến" đại diện cho "trạng thái của máy bất cứ lúc nào". Vì vậy, chúng tôi có bằng chứng cho một giả định được đưa ra trong các ý kiến: việc sử dụng từ 'vectơ' để có nghĩa là 'mảng' trong điện toán xuất phát từ việc áp dụng thuật ngữ tương tự trong toán học.