가끔 사용하는 언어 중에 R은 인덱스가 1부터 시작합니다

알림
|
X

페이지 정보

작성자 no_profile 안녕스누피 112.♡.18.232
작성일 2024.07.31 21:28
422 조회
2 추천
글쓰기

본문

대부분의 언어들은 0부터 시작하는 인덱스를 갖는데

R은 특이하게 1부터 시작합니다

다른 언어 중에서 1로 시작하는 다른 언어가 또 있는지 잘 모르겠습니다만


아무튼 아무런 생각없이 R은 1부터, 파이썬은 0부터 이렇게 쓰고 있었는데


오늘 그 이유를 chatGPT에 물어봤습니다



R 언어의 인덱스가 1부터 시작하는 이유는 주로 역사적 및 설계 결정에서 비롯됩니다. 몇 가지 주요 이유는 다음과 같습니다:

  1. 역사적 이유: R은 S 언어에서 파생되었습니다. S 언어는 벨 연구소에서 개발된 통계 컴퓨팅 언어로, 그 설계 당시에도 인덱스를 1부터 시작하는 것이 일반적이었습니다. S 언어가 영향을 받은 여러 프로그래밍 언어들, 특히 포트란(Fortran)도 인덱스를 1부터 시작했습니다. R이 S 언어를 계승했기 때문에 이 설계를 그대로 따르게 되었습니다.

  2. 수학적 및 통계적 관습: 수학과 통계학에서 벡터, 행렬 등의 인덱싱은 1부터 시작하는 것이 일반적입니다. 예를 들어, 행렬의 첫 번째 행과 열을 (1,1)로 표시하는 것이 보편적입니다. R은 주로 통계학자와 데이터 분석가를 위한 도구로 설계되었기 때문에 이러한 수학적 관습을 따르는 것이 자연스러웠습니다.

  3. 사용자 친화성: 많은 사용자에게 인덱스를 1부터 시작하는 것이 직관적입니다. 일반적인 대중의 사고방식에서는 "첫 번째" 항목을 1로 인식하기 때문에, 프로그래밍에서도 이 방식을 따르는 것이 논리적일 수 있습니다.

  4. R의 사용자층: R의 주요 사용자층은 통계학자, 데이터 분석가 및 과학자들입니다. 이들은 대부분 인덱스를 1부터 시작하는 수학적, 통계적 배경을 가지고 있습니다. 따라서 R의 설계자들은 이러한 사용자층의 익숙함과 편리함을 고려하여 인덱스를 1부터 시작하도록 설계했습니다.

결론적으로, R 언어의 인덱스가 1부터 시작하는 이유는 역사적 배경, 수학적 전통, 사용자 친화성 및 주요 사용자층의 요구를 반영한 결과입니다.


chatGPT가 이런 이유 때문이라고 합니다~

참 똑똑한 넘이네요 ^^




댓글 5 / 1 페이지

민구니님의 댓글

작성자 민구니 (175.♡.83.90)
작성일 07.31 21:33
좋은 정보 감사합니다

mechest님의 댓글

작성자 mechest (223.♡.205.249)
작성일 07.31 21:42
제가 매일 사용하는 Matlab도 1 부터 시작하는걸 보면 설명이 맞는듯 합니다
11 랜덤 럭키포인트 당첨을 축하드립니다.

RanomA님의 댓글

작성자 RanomA (125.♡.92.52)
작성일 07.31 22:13
포트란이 1이니까 베이직도 1부터 하는 경우가 많았던 모양이네요.

세꼬시님의 댓글

작성자 no_profile 세꼬시 (211.♡.155.55)
작성일 07.31 23:10
Julia 도 1부터 시작합니다.
인덱스가 0부터 시작하는건 아마 포인터 개념에서 비롯된게 아닌가 짐작합니다.

지하철승객님의 댓글

작성자 no_profile 지하철승객 (183.♡.232.82)
작성일 08.01 00:12
오래전에 만들어진 언어들은 1에서 시작하는 경우가 많죠.
성능을 따진다면 0부터, 일상생활에 밀접한 표현이 중요하다면 1부터 시작한다고 보면 될듯?
결국 관습과 사용자 친화적인 부분이 핵심이겠죠.

가로세로 w개씩 100칸이 있는 2차원 배열 a에서 (x, y)에 있는 값을 1차원 메모리에서 가져오려면
0부터 시작하면 &a + x*w + y 로 비교적 간단히 계산하면 되지만
1부터 시작하면 &a + (x-1)*w + (y-1) 과 같이 추가적인 연산이 더 들어가서 0부터 시작하는 게 성능은 더 좋습니다.
글쓰기
전체 검색