std :: iota의 iota는 무엇을 의미합니까?


146

"i"가 증가하고 "a"가 할당되었다고 가정하지만 답을 찾거나 찾을 수 없습니다. 또한 itoa혼란스러워하는 비표준과 매우 유사합니다 .


10
아마도 APL에서 온 것일까 요? 그리스 문자 Iota는 연속 정수로 구성된 벡터를 생성하는 데 사용되었습니다.
cmbuckley

3
혼란 스럽다고 생각되면 Google Go는 iota<s> 키워드 </ s>로 특별히 선언 된 식별자를 만듭니다. 이 식별자는 정의당 한 번씩 증가하지만 상수를 정의 할 때만 증가합니다.
Potatoswatter

3
itoa혼란 에 대해 동의했다 . 나는 같은 생각을했다.
NHDaly


1
웃긴, 나는 어떻게 든 그 이름이 "atoi"를 거꾸로 가져간 것이라고 생각했습니다. 그래도 실제로 이해가되지 않습니다.
Petter

답변:


184

에서 원래 SGI의 STL 문서 :

iota라는 이름은 프로그래밍 언어 APL에서 가져 왔습니다.

그의 Turing Award 강의에서 Ken Iverson (APL의 발명가)은 다음과 같이 말했습니다.

예를 들어 로 표시되는 정수 함수 는 인수에 적용될 때 ι첫 번째 n정수로 구성된 벡터를 생성합니다 n.

ι이다 소문자 그리스 문자 이오타 .

내가 입력 한 위의 인용에서 ι, U + 03B9, "그리스의 SMALL LETTER IOTA" 하지만 유니 코드가 실제로 APL의 이오타를위한 전용 코드 포인트를 가지고 있다 U + 2373, "APL 기능성 SYMBOL IOTA" .


주석가의 요구에 부응하여이 맥락에서“iota”의 어원을 추가로 다루겠습니다.

가장 가능성이 높은 대답은 Ken Iverson이 사용자에게“정수”라는 단어와 문자“i”를 일반적인 정수 변수, 특히 배열 첨자에 사용하는 것을 상기시키는 기호를 원한다는 것입니다.

그러나 더 깊은 의미가 있다고 가정 해 봅시다.

옥스포드 영어 사전 (Oxford English Dictionary)에 따르면,“iota”는“로마 I, i; 그리스어 알파벳의 가장 작은 글자”(알파벳순이 아닌 물리적으로 가장 작은 문자), 그리고“가장 작거나 매우 작은 입자 또는 수량”을 의미합니다. 이 의미의 OED의 최초 알려진 사용법은 1636 년 Daniel Featley의 Clavis mystica에서 온 것입니다.

우리는 하나님의 책의 요오 타나 잡담을 잃어 버릴 것인가, 아니면 지나칠 것인가?

Clavis mystica 는 성서의 일부에 대한 안내서이며,이 문장은 특히 마태 복음 5:18을 참조합니다. 킹 제임스 버전 1611 년 판에는 마태 복음 5:18에 대한이 본문이 있습니다 .

마태 복음 5:18

전사:

나는 진실로 너희에게 말하기를, 하나의 요 오트 나 하나의 제목, 또는 하나의 권리, 또는 하나의 표제가 모두 성취 될 때까지 법에서 현명하게 통과해서는 안된다.

OED는 "iot"와 같은 다른 형태의 "jot"으로 "iote"를 제공하는데,이 단어는 "iota"와 같이 해당 문자의 그리스어 이름 인 "ἰῶτα"에서 유래합니다. Featley가“iote”를“iota”로 변경 한 이유는 무엇입니까? 안타깝게도 개인 도서관 에 Clavis mystica 사본이 없으므로 더 이상 조사 할 수 없습니다.

마태 복음 5:18의 그리스어에서“iote”는“ἰῶτα”이고,“title”(또는보다 현대적으로“tittle”)은“κεραία”입니다. "κεραία"라는 단어는 대략 "분리하다"또는 "아포스트로피"를 의미했습니다. 따라서이 성구 는 가장 작은 세부 사항 에 대한 아이디어를 언급하고 있으며 “ἰῶτα”를 사용하여 그리스 알파벳의 물리적으로 가장 작은 문자로서의 역할을하는 이오타 문자를 언급합니다.

따라서 우리는 STL 함수 iota와 APL 선행어 가 그리스어 알파벳“ι”의 물리적으로 가장 작은 문자의 이름을 따서 이름을 붙인 것으로 추정 할 수 있습니다. 분리된다.

Wikipedia에 따르면 그리스 문자 iota는 페니키아 문자 yōdh에서 나왔습니다.

이것은 현재이 질문에 가고 싶은 프로그래밍 분야입니다.


6
왜 오타를 소개 했습니까? ;-)
subsub

5
그러나 이것은 단지 질문을 조금 뒤로 밀어 넣습니다. 왜 APL 이이 함수를 호출 했 습니까?
Daniel H

1
APL은 최소한 영어로 측정 할 수있는 가장 작은 양을 의미하기 때문에 iota를 사용한다고 생각했습니다 (예 : " Iota를 신경 쓰지 않습니다 ").
Adrian McCarthy

멋진 담론! "iota"Vs "iote"Vs "jot"에 대한 토론에 대해 여기에 의견을 보내겠습니다. 고대 언어에서는 문자 I과 J 사이에 차이가 없었습니다. J는 그리스어 알파벳이 아니며 로마자가 아니므로 기본적으로 3 개의 모든 전사가 동일한 문자를 나타냅니다. WP 기사는 다음과 같이 언급합니다. ""i⟩와 ⟨j between를 명확히 구분 한 최초의 영어 책은 1633 년에 출판되었습니다 ".
Peter K

29

숫자 또는 단위 벡터 집합을 나타 내기 위해 수학에서 사용되는 그리스 문자입니다. C ++의 경우 생성 된 벡터 세트를 얻게됩니다. itoa와 관련이 없습니다.


23

std::iota 반복적으로 증가하는 값으로 반복자 범위를 채 웁니다.

특정 질문에 대답하기 위해 실제로는 아무것도 의미하지 않습니다. Iota (영어로 "eye-oh-duh"또는 "eye-oh-tuh"로 발음) 는 수학적인 의미가있는 그리스 문자입니다.

C ++ 11에서는 표준이지만 이전 표준에서는 그렇지 않습니다.


3
영어 이외의 스피커 대부분의 내가 그것을 발음하지 않는다 "눈 - 오 - 대만족"
phuclv

눈 요트? 나는 하나의 iota를 신경 쓰지 않는다 (정말로 :)
Will

5
@ LưuVĩnhPhúc 나는 적어도 하나의 영어 원어민이 "eye-oh-duh"라고 발음하지 않았 음을 확인할 수 있습니다- "eye-oh-tuh"라고 말합니다 "수학 ə-matical")의
마틴 보너 모니카 지원

4

오, 나는 항상 std::iota(start,end,0)본질적으로

for(size_t i = 0; i < std::distance(start, end) ; i++) { start[i] = i; }

그런 다음 본질적으로 각 배열 요소에 "i를 할당"하고 iota는 i에 대해 그리스어이므로 여기에 있습니다.

(@robmayoff의 답변에 언급 된 APL 선택의 이론적 근거인지는 놀라지 않을 것입니다 .)


1

나는이 페이지에서 인용한다 : iotashaming 당신이 주제에 대해 더 많이 찾을 수있는 곳.

STL은 Ken Iverson의 APL 작업에 큰 영향을 받았습니다. 1979 년 Ken 's Turing Award 강의에서이 문구를 찾을 수 있습니다.

"예를 들어, ι로 표시된 정수 함수는 첫 번째 N 정수의 벡터를 생성합니다."

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.