다른 답변 argv
은 C에서 나온 것으로, C는 배열을 "벡터"라고 부르는 아이디어를 어디서 얻었습니까?
직접 BCPL에서 나왔습니다 . argv
(문자열) 인수의 벡터를 참조 하지만 BCPL에는 벡터에 문자열이 저장되어 있지만 문자열 리터럴이었고 파스칼 문자열처럼 작동했습니다. 벡터에는 길이 literal!0
와에 문자 의 두 가지 요소 가 literal!1
있습니다. Clive Feather 에 따르면 , 문자열은 문자열을 문자 배열로 "풀고"배열을 변환 한 다음 문자열로 "다시 포장"하여 문자열을 조작했습니다. 문자열 이 문자 배열 인 C와 비교하십시오 .
그렇습니다. C는 벡터에 v를 사용했습니다. BCPL 이전에 벡터가 이런 식으로 벡터를 사용 했습니까? BCPL 자체는 "캠브리지 [또는 결합 된] 프로그래밍 언어"의 단순화였습니다. 이것은 vector
1 차원 배열matrix
의 동의어 와 2 차원 배열의 동의어로 사용되었습니다. 이것은 벡터와 행렬의 수학 표기법 과 일치 하지만 CPL에서는 편리한 니모닉이며 수학 구조와 관련된 속성이 없습니다.
컴퓨팅 언어와 관련하여 더 많은 시간을 되돌릴 수 있습니까? 트레일의 한 가지 지점이 차갑습니다. CPL은 Algol 60 (1963 년 업데이트)의 영향을 많이 받았습니다. 이제 ALGOL 68에는 bits
and와 같은 "packed vectors"로 설명 된 유형이 bytes
있었지만, 이것들은 ARRAY
배열을 참조한 Algol의 초기 릴리스에는 없었습니다 . BCPL은 1966 년에 시작되었으므로 CPL은 그 이전 (1963 년 이후) 이었어 야합니다. ALGOL 68 (1968 년과 1973 년에 표준화)은 직접적인 영향을 미칠 수 없었습니다.
반면 CPL의 주요 기능은 McCarthy의 LISP 시스템을 참조 합니다 . 이것은 벡터 자체를 사용하여 시스템 자체의 데이터 구조를 참조 하지 않지만 S- 표현식 , M- 표현식 및 L- 표현식입니다 (L- 표현식은 문자열이므로 벡터와 문자열 간의 연관성이 사라졌습니다). 않는 다른 의미로 사용 벡터 "는 언제든지 기계 상태"를 나타내는 "변수의 개수의 값"을 표현한다. 따라서 우리는 의견에서 가정에 대한 증거를 가지고 있습니다. 컴퓨팅에서 '배열'을 의미하기 위해 '벡터'라는 단어를 사용한다는 것은 수학에서 유사한 용어를 적용하는 것에서 비롯됩니다.