S(프로그래밍 언어)

S (programming language)
S
패러다임멀티패키지:필수, 객체 지향
개발자릭 베커, 앨런 윌크스, 챔버스
처음 등장한1976년, 46년(연방)
타이핑 분야다이내믹, 스트롱
면허증.구현에 따라 다름
웹 사이트ect.bell-labs.com/sl/S/ at the Wayback Machine (2018-10-14)
주요 구현
R, S-PLUS
영향을 받다
C, APL, PPL, Fortran

S는 주로 John Chambers와 Bell Laboraties의 Rick Becker와 Allan Wilks에 의해 개발된 통계 프로그래밍 언어입니다.John Chambers가 표현한 이 언어의 목적은 "아이디어를 빠르고 충실하게 소프트웨어로 바꾸는 것"[1]입니다.

S의 현대적인 구현은 GNU 자유 소프트웨어 프로젝트의 일부인 R입니다.S-PLUSTIBCO [citation needed]Software에 의해 이전에 판매되었습니다.

역사

'올드 S'

S는 Bell Laboratories에서 설계된 여러 통계 컴퓨팅 언어 중 하나로 1975~1976년에 [2]처음 형성되었습니다.그때까지 통계 컴퓨팅의 대부분은 Fortran 서브루틴을 직접 호출함으로써 이루어졌지만, S는 부분적으로 John Tukey에 [2]의해 주창된 탐색적 데이터 분석에 의해 동기 부여되어 대안적이고 더 인터랙티브한 접근 방식을 제공하도록 설계되었다.오늘날까지도 초기 설계 결정에는 인터랙티브 그래픽 디바이스(당시 프린터 및 문자 단말기)와 기능에 대한 쉽게 접근할 수 있는 문서 제공이 포함됩니다.

S의 첫 번째 작동 버전은 1976년에 제작되었으며 GCOS 운영 체제에서 운영되었습니다.이때 S는 이름이 없으며 제안 사항에는 ISCS(Interactive SCS), SCS(Statistic Computing System)SAS(Statistic Analysis System)포함되어 있습니다(이미 사용 중: SAS 시스템 참조).S(1979년까지 작은 따옴표와 함께 사용됨)라는 이름은 제안에서 흔히 볼 수 있는 문자이고 당시 같은 기관에서 설계한 다른 프로그래밍 언어(즉, C [2]프로그래밍 언어)와 일치하기 때문에 선택되었습니다.

UNIX/32V가 (당시 새로운) 32비트 DEC VAX로 포팅되었을 때, Unix 플랫폼에서의 컴퓨팅이 S에 실현 가능하게 되었습니다.1979년 말, S는 GCOS에서 UNIX로 포팅되었고, UNIX는 새로운 프라이머리 플랫폼이 되었습니다.

1980년에 S의 첫 번째 버전이 Bell Laboratories 외부에 배포되었고 1981년에 소스 버전이 [2]제공되었다.1984년 Bell Laboratories의 연구팀에 의해 두 권의 책이 출판되었다.S: 데이터 분석[3] 그래픽을 위한 인터랙티브 환경(1984 Brown Book) 및 S [4]시스템 확장.또한 1984년 S의 소스 코드는 AT&T Software Sales를 통해 교육 및 상업적 목적으로 라이선스되었습니다.

"New S"

1988년까지, S와 언어의 구문에 많은 변화가 있었다.New S[5] Language(1988 Blue Book)는 매크로에서 기능으로의 이행 및 기능이 다른 기능으로 넘어가는 방법(예:applyS 언어에 대한 다른 많은 변경은 "객체"의 개념을 확장하고 구문의 일관성을 더 높였습니다(그리고 엄격함).그러나 매크로를 다시 작성해야 했기 때문에 많은 사용자들은 New S로의 전환이 어렵다고 생각했습니다.X11PostScript 그래픽 디바이스의 사용, Fortran에서 C로 많은 내부 함수 재작성, 배 정밀도(전용) 산술 사용 등 S에 대한 다른 많은 변경 사항들이 적용되었다.New S 언어는 S-PLUS R의 최신 버전에서 사용되는 언어와 매우 유사합니다.

1991년에 S(1991 White Book)의[6] 통계 모델이 발표되었으며, 공식 표기[7] 사용(이것들은~operator), 데이터 프레임 객체 및 객체 메서드 및 클래스 사용에 대한 수정사항.

S4

S 규격의 최신 버전은 [8]1998년에 출시된 S4입니다.고급 객체 지향 기능을 제공합니다.S4 클래스는 S3 클래스와 현저하게 다르다.S4 클래스는 각 클래스의 표현과 상속을 정식으로 정의하고 복수의 디스패치를 가진다.일반 함수는 [9]1개뿐 아니라 임의의 수의 인수의 클래스에 근거해 메서드에 디스패치할 수 있다.

레퍼런스

  1. ^ Chambers, John M (1998). Programming with Data: A Guide to the S Language. Springer. ISBN 978-0-387-98503-9.
  2. ^ a b c d Becker, Richard A., A Brief History of S, Murray Hill, New Jersey: AT&T Bell Laboratories, archived from the original (PS) on 2015-07-23, retrieved 2015-07-23
  3. ^ Becker, R.A.; Chambers, J.M. (1984). S: An Interactive Environment for Data Analysis and Graphics. Pacific Grove, CA, USA: Wadsworth & Brooks/Cole. ISBN 0-534-03313-X.
  4. ^ Becker, R.A.; Chambers, J.M. (1985). Extending the S System. Pacific Grove, CA, USA: Wadsworth & Brooks/Cole. ISBN 0-534-05016-6.
  5. ^ Becker, R.A.; Chambers, J.M.; Wilks, A.R. (1988). The New S Language: A Programming Environment for Data Analysis and Graphics. Pacific Grove, CA, USA: Wadsworth & Brooks/Cole. ISBN 0-534-09192-X.
  6. ^ Chambers, J.M.; Hastie, T.J. (1991). Statistical Models in S. Pacific Grove, CA, USA: Wadsworth & Brooks/Cole. p. 624. ISBN 0-412-05291-1.
  7. ^ Wilkinson, G.N.; Rogers, C.E. (1973). "Symbolic description of factorial models for analysis of variance". Applied Statistics. 22 (3): 392–399. doi:10.2307/2346786. JSTOR 2346786.
  8. ^ Chambers, John (January 1, 2001). "The S System". Bell Labs. Archived from the original on 2018-10-14.
  9. ^ Wickham, Hadley (2019). "S4". Advanced R. adv-r.had.co.nz. ISBN 9781466586963. Retrieved 2020-02-18.

외부 링크

  • M의 S언어의 진화.Chambers, S 버전4의 신기능에 대해 설명합니다(PostScript 형식).