R언어 - R language

R언어 - R language

R은 원래 한국어의 외래어 발음으로 “아르”라고 읽어야 한다. 때문에 “R은 컴퓨터언어다”와 같이 R을 “알”로 발음해서 표기한 것은 맞춤법상 틀린 것이고 “R는 컴퓨터언어다”와 같이 표기해야 하는 것이 옳다. 하지만 너무 많은 사람들이 R을 “알”이라고 발음하고 있으며 “아르”라고 발음해서 표기하면 오히려 더 이상하다는 느낌이 들 정도이다. 필자 또한 발음을 “알”로 하고 있어 여기서도 R을 “알”이라고 발음하는 형식으로 작성한다. 틀린 맞춤법을 사용하는 것에 대해 유감의 뜻을 표한다.

R의 시작

R언어는 로스 이하카와 로버트 젠틀맨이 만든 과학계산 및 통계, 수리계산에 촛점을 맞춰 만든 컴퓨터 랭귀지이다.

R은 원래 AT&T 벨연구소에서 만든 S언어의 계보를 따른다. S언어가 버전업 되면 S-PLUS로 개량되었고 R은 그 S-PLUS의 상당 부분을 따르고 문법도 대부분 호환된다. 즉, R은 S-PLUS를 오픈 소스로 다시 만든 것이라고 할 수 있다.

R의 이름이 R이 된 것은 다음과 같은 중의적인 의미가 있다.

  1. S언어보다 알파벳의 순서로 볼 때 더 앞이서 S보다 진보된 것이라는 의미
  2. “Research”의 첫글자를 뜻하는 R
  3. 창시자인 로스 이하카와 로버트 젠틀맨의 이름의 첫글자가 모두 R

R의 특징

R의 정체성

특징을 알기 위해서는 정체성을 알아두는 것이 좋고 정체성을 알려면 탄생과 관련된 역사를 아는 것이 가장 단순하고 좋은 방법 중 하나이다.

앞서 말했듯이 R은 S/S-PLUS언어를 오픈소스로 다시 만든 것인데 S언어의 S는 “statistics”의 첫글자를 뜻한다. 단어의 뜻 그대로 통계이다. 통계를 위해 특화된 컴퓨터랭귀지라고 할 수 있다. 통계를 위한 도구라는 것은 거의 모든 대수연산이나 연구, 분석과 같은 과학분야에 전반적으로 활용할 수 있다는 뜻이 된다.

R의 의존성과 라이센스

R은 GNU의 여러 라이브러리에 의존성이 강하다. 특히 선형대수학과 관련된 패키지들은 GNU의 라이브러리를 그대로 연동해서 사용하는데 이 라이브러리들이 모두 GNU 라이센스를 따르므로 R도 모두 GNU 라이센스를 따른다. R이 GNU 라이센스를 따르기 때문에 R로 작성된 R의 패키지들도 모두 파생되어서 GNU 라이센스를 따르게 된다. 간단히 설명하면 R과 관련된 것은 거의 모두 오픈소스로 개방되어 있다.

R과 일반적인 컴퓨터 언어

R을 소개하는 R project 페이지를 방문해서 소개글을 읽어 보면 R은 범용컴퓨터랭귀지라고 설명하고 있다. R은 범용컴퓨터언어가 맞다. 하지만 범용으로 사용하기에는 어려운점이 많다. 소프트웨어 개발, 고성능 구현체, 웹서비스와 같은 것을 작성하지 못하는 것은 아니다. 하지만 느린 연산 속도, 인메모리 방식의 한계, 확장을 위해서 C++언어로 개발해야 하는 등 일반적인 범용컴퓨터언어가 하는 작업을 R로 하기 위해서는 높은 난이도의 작업을 해야 한다. 하지만 분석을 위한 계산이나 과학기술연구는 편하게 사용할 수 있도록 되어있다.

R은 범용컴퓨터언어가 맞지만 통계, 분석, 과학계산을 위한 특화된 랭귀지로 생각하는 것이 R로 하기에 유리한 일의 범위를 가늠하는데 유리할 것이다.