S (프로그래밍 언어)
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
S는 1976년 벨 연구소에서 개발된 통계 컴퓨팅 언어이다. 탐색적 데이터 분석을 위해 설계되었으며, 대화형 그래픽 기능과 쉬운 문서 제공을 특징으로 한다. S는 "Old S", "New S", S4의 세 가지 주요 버전으로 발전해 왔으며, 객체 지향 프로그래밍과 향상된 그래픽 기능을 제공한다. 인터프리터 방식, 그래프 시각화, 행렬 처리, 다양한 통계 분포 계산, 다변량 분석, 그리고 외부 언어와의 연동을 지원하는 등 다양한 기능을 갖추고 있다.
더 읽어볼만한 페이지
- 도메인 특화 프로그래밍 언어 - 도메인 특화 언어
도메인 특화 언어(DSL)는 특정 문제 영역에 특화된 프로그래밍 언어로, 외부 DSL, 내부 DSL, 시각적 다이어그램 언어 등으로 분류되며, 생산성 향상에 기여하지만 새로운 언어 학습의 필요성과 적용 분야의 제한이라는 특징을 가진다. - 도메인 특화 프로그래밍 언어 - G-code
G-코드는 1950년대 MIT에서 처음 구현된 수치 제어 공작 기계를 제어하는 프로그래밍 언어로서, 다양한 표준과 구현을 거쳐 발전해왔으며 현대에는 매크로 기능과 CAD/CAM 응용 프로그램과의 연동을 지원한다. - 통계 프로그래밍 언어 - 줄리아 (프로그래밍 언어)
줄리아는 2012년에 공개된 고수준 프로그래밍 언어로, 다중 디스패치, 동적 타입 시스템, C와 유사한 성능을 제공하며, 수치 계산, 과학 기술 계산 등에 활용된다. - 통계 프로그래밍 언어 - Stata
Stata는 통계 분석, 데이터 관리, 그래프 작성 기능을 제공하는 통계 소프트웨어 패키지로, 다양한 운영체제 지원, 명령줄 및 그래픽 사용자 인터페이스 제공, 사회과학 및 자연과학 분야에서의 폭넓은 활용, 사용자 커뮤니티를 통한 확장 기능 지원 및 파이썬 연동을 특징으로 한다.
S (프로그래밍 언어) - [IT 관련 정보]에 관한 문서 | |
---|---|
기본 정보 | |
이름 | S |
종류 | 통계 프로그래밍 언어 |
패러다임 | 다중 패러다임 프로그래밍: 명령형 프로그래밍, 객체 지향 프로그래밍 |
발표 연도 | 1976년 |
설계자 | 릭 베커 앨런 윌크스 존 챔버스 윌리엄 S. 클리블랜드 트레버 헤이스티 |
개발자 | 릭 베커 앨런 윌크스 존 챔버스 윌리엄 S. 클리블랜드 트레버 헤이스티 |
자료형 | 동적, 강한 |
구현체 | S-PLUS |
영향을 받은 언어 | C APL PPL 포트란 |
영향을 준 언어 | R |
웹사이트 | ect.bell-labs.com/sl/S/ (보관된 링크) |
2. 역사
S는 벨 연구소에서 1975~1976년 사이에 처음 개발된 통계 컴퓨팅 언어이다.[5] 당시 통계 컴퓨팅은 대부분 포트란 서브루틴을 직접 호출하여 수행되었지만, S는 존 튜키가 옹호한 탐색적 데이터 분석에 영향을 받아 보다 대화형 접근 방식을 제공하도록 설계되었다.[5] 초기 설계에는 대화형 그래픽 장치(당시에는 프린터와 문자 터미널)와 기능에 대한 접근하기 쉬운 문서를 제공하는 것이 포함되었다.
이 프로젝트는 존 챔버스(John Chambers (statistician))와 트레버 헤스티(Trevor Hastie)가 이끌었으며, 리처드 베커, 앨런 윌크스, 존 챔버스(John Chambers), 윌리엄 S. 클리블랜드(William Cleveland)가 개발에 참여했다.[6] 이들은 모두 AT&T 직원이었다.[7] 존 챔버스는 S에 대한 공로로 컴퓨팅 기계 협회로부터 소프트웨어 시스템 상을 받았다.[8]
S의 첫 번째 작동 버전은 1976년에 GCOS 운영 체제에서 작동하도록 구축되었다.[5] 당시 S는 이름이 정해지지 않았으며, "ISCS(대화형 SCS)", "SCS(통계 컴퓨팅 시스템)", "SAS(통계 분석 시스템)"(이미 사용 중: SAS 시스템 참조) 등의 이름이 제안되었다. 'S'라는 이름(1979년까지 작은 따옴표로 사용)은 제안된 이름들에 공통적으로 사용되었고, 당시 같은 기관에서 설계된 C와 같은 다른 프로그래밍 언어와 일관성이 있어 선택되었다.[5] "statistics(통계)"의 약자이다.[9]
1979년 말, S2는 GCOS에서 유닉스로 이식되었으며, 이는 새로운 주 플랫폼이 되었다.[10] 1980년 S의 첫 번째 버전이 벨 연구소 외부로 배포되었고, 1981년에는 소스 버전이 공개되었다.[5] S는 학계에 무료로 배포되어 통계학자들 사이에서 인기를 얻었다.[11] 1984년 벨 연구소 연구팀은 ''S: 데이터 분석 및 그래픽을 위한 대화형 환경''[12] (1984년 Brown Book)과 ''S 시스템 확장''[13] 두 권의 책을 출판했다. 또한, 1984년 S의 소스 코드는 교육 및 상업적 목적으로 AT&T 소프트웨어 판매를 통해 라이선스를 받게 되었다.
1988년에는 S 언어의 구문에 많은 변화가 있었던 S3가 출시되었다.[10] ''The New S Language''[14] (1988년 블루 북)가 출판되어 '매크로'에서 '함수'로의 전환, 함수가 다른 함수로 전달될 수 있는 방법 등 새로운 기능을 소개했다. 1991년에는 ''Statistical Models in S''[15] (1991년 화이트 북)이 출판되었으며, 공식 표기법[16] (~
연산자 사용), 데이터 프레임 객체, 그리고 객체 메서드 및 클래스 사용의 수정 사항을 소개했다.
S의 그래픽 사용자 인터페이스는 Axum과의 통합 이후 대화형 그래픽 기능을 업데이트했다.[9]
2. 1. "Old S" (1976-1984)
S는 1976년 벨 연구소에서 존 챔버스를 비롯한 연구자들이 개발한 초기 버전이다. 존 튜키의 탐색적 데이터 분석 개념에 영향을 받아 대화형 통계 컴퓨팅 환경을 제공하는 것을 목표로 했다.[5] 당시 대부분의 통계 컴퓨팅이 포트란 서브루틴 호출을 통해 이루어졌던 것과 달리, S는 보다 상호작용적인 접근 방식을 채택했다.[5]S 개발에는 존 챔버스가 주도적인 역할을 했으며, 트레버 헤스티, 리처드 베커, 앨런 윌크스, 윌리엄 S. 클리블랜드 등이 참여했다.[6] 존 챔버스는 S 개발에 대한 공로를 인정받아 컴퓨팅 기계 협회로부터 소프트웨어 시스템 상을 수상했다.[8] 이는 그의 사회적 기여를 보여주는 중요한 업적이다.
초기 S는 GCOS 운영 체제에서 작동하도록 구축되었으나,[5] 1979년 말 유닉스로 이식되면서 새로운 전기를 맞았다.[10] UNIX/32V가 32비트 DEC VAX로 이식되면서, 유닉스 플랫폼은 S를 위한 컴퓨팅 환경으로 적합하게 되었다.[10] 1980년에는 S의 첫 번째 버전이 벨 연구소 외부로 배포되었고, 1981년에는 소스 버전이 공개되었다.[5] S는 학계에 무료로 배포되어 통계학자들 사이에서 인기를 얻었다.[11]
1984년에는 *S: 데이터 분석 및 그래픽을 위한 대화형 환경*(1984 Brown Book)[12]과 *S 시스템 확장*[13]이라는 두 권의 책이 출판되었다. 같은 해, S의 소스 코드는 교육 및 상업적 목적으로 라이선스를 받게 되었다.
2. 2. "New S" (1988-1991)
1988년 Statistical Sciences, Inc.에서 S-PLUS의 첫 번째 버전을 출시했다. S-PLUS는 이후 TIBCO 소프트웨어에 매각되었다.[9] 이 시점에 S3의 출시와 함께 S 언어 구문에 많은 변화가 있었다.[10] ''The New S Language''[14] (1988년 블루 북)는 '매크로'에서 '함수'로의 전환, 그리고 함수가 다른 함수(예:apply
)로 전달될 수 있는 방법과 같은 새로운 기능을 소개하기 위해 출판되었다."객체"의 개념을 확장하고 구문을 더 일관성 있게 (그리고 엄격하게) 만들기 위해 S 언어에 많은 변경이 있었다. 그러나 많은 사용자는 'New S'로의 전환이 어렵다고 생각했는데, 매크로를 다시 작성해야 했기 때문이다. S에는 X11 및 PostScript 그래픽 장치 사용, 많은 내부 함수를 포트란에서 C로 다시 작성, 배정밀도 (만) 산술 사용과 같은 많은 다른 변경 사항이 적용되었다. ''New S'' 언어는 현대 버전의 S-PLUS 및 R에서 사용되는 언어와 매우 유사하다.
2. 3. S4 (1998-)
S 표준의 최신 버전은 1998년에 출시된 S4이다.[17] S4는 향상된 객체 지향 기능을 제공한다. S4 클래스는 S3 클래스와 뚜렷이 다르다. S4는 각 클래스의 표현과 상속을 공식적으로 정의하며, 다중 디스패치를 지원한다. 제네릭 함수는 단 하나의 인수가 아닌 여러 인수의 클래스를 기반으로 메서드로 디스패치될 수 있다.[18]3. 특징
S는 인터프리터 방식, 처리 결과를 그래프로 시각화하는 기능, 행렬 처리 기능, 통계 분포 계산 기능, 다변량 분석 기능, 그리고 FORTRAN이나 C 언어로 작성된 함수를 호출할 수 있는 확장성을 가진 프로그래밍 언어이다.[19][20]
3. 1. 인터프리터 방식
소스 코드를 직접 실행할 수 있는 대화형 인터프리터 언어이다.[19][20]3. 2. 그래픽 기능
S는 히스토그램, 원형 차트, 꺾은선 그래프, 산점도, 상자 수염 그림, 등고선 플롯 등을 그리는 함수를 제공하며, 데이터를 인수로 전달하기만 하면 그림을 그릴 수 있다. 이처럼 처리 결과를 그래프로 시각화하는 기능은 S 언어의 중요한 특징이다.[19][20]3. 3. 행렬 처리
S는 행렬 간의 연산, 전치, 결합, 특이값 분해, 역행렬 계산과 같은 행렬 처리 기능을 제공한다.[19][20]3. 4. 통계 분포 계산
S는 정규 분포, 지수 분포, 감마 분포, 베타 분포, 카이 제곱 분포 등 주요 확률 분포의 확률 밀도 함수, 누적 분포 함수를 계산하는 함수와 각 분포에 기반한 난수를 생성하는 함수를 제공한다.[19][20]3. 5. 다변량 분석
S는 주성분 분석, 판별 분석, 중회귀 분석, 정준 상관 분석, 군집 분석과 같은 다변량 분석을 위한 함수를 제공한다.[19][20]3. 6. 확장성
S는 UNIX 명령을 직접 실행하기 위한 함수를 제공한다.[19][20] 또한, 외부 호출을 수행할 수 있으므로, FORTRAN이나 C 언어로 작성된 함수를 호출할 수도 있다.참조
[1]
서적
Programming with Data: A Guide to the S Language
Springer
[2]
웹사이트
S-Plus: An Introduction
https://www.stat.ric[...]
2024-02-28
[3]
서적
Advancements in Security and Privacy Initiatives for Multimedia Images
https://books.google[...]
IGI Global
2020-09-25
[4]
서적
R in 24 Hours, Sams Teach Yourself
https://books.google[...]
Sams Publishing
2015-12-16
[5]
간행물
A Brief History of S
http://www2.research[...]
AT&T Bell Laboratories
2015-07-23
[6]
서적
A Chronicle of Permutation Statistical Methods: 1920–2000, and Beyond
https://books.google[...]
Springer Science & Business Media
2014-04-11
[7]
서적
Encyclopedia of Statistical Sciences, Volume 12
https://books.google[...]
John Wiley & Sons
2005-12-16
[8]
서적
Computational Actuarial Science with R
https://books.google[...]
CRC Press
2014-08-26
[9]
서적
R in 24 Hours, Sams Teach Yourself
https://books.google[...]
Sams Publishing
2015-12-16
[10]
서적
Software for Data Analysis: Programming with R
https://books.google[...]
Springer
2008-06-14
[11]
서적
Generalized Estimating Equations
https://books.google[...]
CRC Press
2002-07-30
[12]
서적
S: An Interactive Environment for Data Analysis and Graphics
https://archive.org/[...]
Wadsworth & Brooks/Cole
[13]
서적
Extending the S System
Wadsworth & Brooks/Cole
[14]
서적
The New S Language: A Programming Environment for Data Analysis and Graphics
Wadsworth & Brooks/Cole
[15]
서적
Statistical Models in S
Wadsworth & Brooks/Cole
[16]
논문
Symbolic description of factorial models for analysis of variance
[17]
웹사이트
The S System
http://ect.bell-labs[...]
Bell Labs
2001-01-01
[18]
서적
Advanced R.
http://adv-r.had.co.[...]
adv-r.had.co.nz
2020-02-18
[19]
논문
S言語による社会調整結果の視覚化データベース
https://hdl.handle.n[...]
大阪大学人間科学部
1995-03
[20]
웹사이트
S言語とは?
http://www.msi.co.jp[...]
2015-04-16
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com