С (язык программирования)

Статистический язык программирования
С
ПарадигмаМультипарадигмальный : императивный , объектно-ориентированный
РазработчикРик Беккер, Аллан Уилкс, Джон Чемберс , Уильям С. Кливленд , Тревор Хасти
Впервые появился1976 ; 48 лет назад ( 1976 )
Дисциплина набора текстадинамичный , сильный
Лицензиязависит от реализации
Веб-сайтect.bell-labs.com/sl/S/ на Wayback Machine (архив 2018-10-14)
Основные внедрения
S-ПЛЮС
Под влиянием
C , APL , PPL , Фортран
Под влиянием
Р

S [1] — статистический язык программирования, разработанный в первую очередь Джоном Чемберсом и (в более ранних версиях) Риком Беккером, Тревором Хасти , Уильямом Кливлендом и Алланом Уилксом из Bell Laboratories . Цель языка, как выразился Джон Чемберс, — «превращать идеи в программное обеспечение, быстро и добросовестно». [1] Он широко используется академическими исследователями. [2]

Одной из основных реализаций S является S-PLUS , коммерческий продукт, ранее продававшийся компанией TIBCO Software .

Современный R , часть проекта свободного программного обеспечения GNU , был основан на S [3] и может запускать множество программ на S, хотя он не полностью обратно совместим . [4]

История

"Старый С"

S — один из нескольких статистических вычислительных языков, разработанных в Bell Laboratories, и впервые сформировавшихся в 1975–1976 годах. До этого времени большая часть статистических вычислений выполнялась путем прямого вызова подпрограмм Fortran ; однако S был разработан для предложения альтернативного и более интерактивного подхода, мотивированного отчасти исследовательским анализом данных, пропагандируемым Джоном Тьюки . [5] Ранние проектные решения, которые актуальны и сегодня, включают интерактивные графические устройства (принтеры и символьные терминалы в то время) и предоставление легкодоступной документации для функций. [ необходима ссылка ]

Разработкой проекта руководили Джон Чемберс и Тревор Хасти , а также в нее входили разработчики Ричард Беккер, Аллан Уилкс, Джон Чемберс и Уильям Кливленд , [6] все из которых тогда были сотрудниками AT&T . [7] Из всех разработчиков, которые внесли вклад в S, Чемберс, по общему мнению, был самым значительным участником. [3] За свою работу над S Чемберс получил премию Software System Award от Ассоциации вычислительной техники. [8]

Первая рабочая версия S была создана в 1976 году и работала на операционной системе GCOS . В то время S не имел названия, и предложения включали ISCS (Interactive SCS) , SCS (Statistical Computing System) и SAS (Statistical Analysis System) (которое уже было занято: см. SAS System ). Было выбрано название «S» (использовавшееся с одинарными кавычками до 1979 года), поскольку это была распространенная буква в предложениях и соответствовало другим языкам программирования, разработанным в том же учреждении в то время (а именно языку программирования C ). [5] Оно означает слово «statistics». [9]

Когда UNIX/32V был перенесен на (тогда новый) 32-битный DEC VAX , вычисления на платформе Unix стали возможны для S. В конце 1979 года S2 был перенесен с GCOS на UNIX, которая стала новой основной платформой. [10]

В 1980 году первая версия S была распространена за пределами Bell Laboratories, а в 1981 году стали доступны исходные версии. [5] S свободно распространялся в академических кругах и стал популярен среди академических статистиков. [11] В 1984 году исследовательская группа Bell Laboratories опубликовала две книги: S: An Interactive Environment for Data Analysis and Graphics [12] (1984 Brown Book) и Extending the S System . [13] Кроме того, в 1984 году исходный код S стал лицензироваться через AT&T Software Sales для образовательных и коммерческих целей.

"Новый С"

Первая версия S-PLUS была выпущена Statistical Sciences, Inc. в 1988 году. Позднее S-PLUS был продан TIBCO Software . [9] К этому времени было внесено много изменений в S и синтаксис языка с выпуском S3. [10] Новый язык S [14] (1988 Blue Book) был опубликован для введения новых возможностей, таких как переход от макросов к функциям и то, как функции могут передаваться другим функциям (например, apply). Многие другие изменения в языке S были направлены на расширение концепции «объектов» и на то, чтобы сделать синтаксис более последовательным (и строгим). Однако многие пользователи посчитали переход на New S сложным, так как их макросы нужно было переписать. Многие другие изменения в S закрепились, такие как использование графических устройств X11 и PostScript , переписывание многих внутренних функций с Fortran на C и использование арифметики двойной точности (только). Новый язык S очень похож на тот, который используется в современных версиях S-PLUS и R .

Графический пользовательский интерфейс S также получил обновленные интерактивные графические функции после интеграции с Axum . [9]

В 1991 году была опубликована работа «Статистические модели в S» [15] (Белая книга 1991 года), в которой было введено использование формульных обозначений [16] (которые используют ~оператор), объектов фреймов данных и модификации использования методов и классов объектов .

С4

Последняя версия стандарта S — S4, выпущенная в 1998 году. [17] Она предоставляет расширенные объектно-ориентированные возможности. Классы S4 заметно отличаются от классов S3; S4 формально определяет представление и наследование для каждого класса и имеет множественную диспетчеризацию : универсальная функция может быть отправлена ​​методу, основанному на классе любого количества аргументов, а не только одного. [18]

Смотрите также

Ссылки

  1. ^ ab Chambers, John M (1998). Программирование с данными: руководство по языку S. Springer. ISBN 978-0-387-98503-9.
  2. ^ "S-Plus: Введение". www.stat.rice.edu . Получено 28.02.2024 .
  3. ^ аб Ашвани, Кумар; Сатьянараяна, Редди, Силам Саи (25 сентября 2020 г.). Достижения в области безопасности и конфиденциальности мультимедийных изображений. IGI Global. п. 179. ИСБН 978-1-7998-2797-9.{{cite book}}: CS1 maint: несколько имен: список авторов ( ссылка )
  4. ^ Николс, Энди; Пью, Ричард; Готт, Эйми (2015-12-16). R за 24 часа, Sams Teach Yourself. Sams Publishing. ISBN 978-0-13-428880-2.
  5. ^ abc Becker, Richard A., Краткая история S, Murray Hill, New Jersey: AT&T Bell Laboratories, архивировано из оригинала (PS) 23-07-2015 , извлечено 23-07-2015
  6. ^ Берри, Кеннет Дж.; Джонстон, Дженис Э.; младший, Пол В. Милке (2014-04-11). Хроника методов статистических расчетов перестановок: 1920–2000 и далее. Springer Science & Business Media. С. 207–208. ISBN 978-3-319-02744-9.
  7. Энциклопедия статистических наук, том 12. John Wiley & Sons. 2005-12-16. стр. 8088. ISBN 978-0-471-74406-1.
  8. ^ Шарпантье, Артур (2014-08-26). Вычислительная актуарная наука с R. CRC Press. стр. 4. ISBN 978-1-4987-5982-3.
  9. ^ abc Николс, Энди; Пью, Ричард; Готт, Эйми (2015-12-16). R за 24 часа, Sams Teach Yourself. Sams Publishing. ISBN 978-0-13-428880-2.
  10. ^ ab Chambers, John (2008-06-14). Программное обеспечение для анализа данных: программирование с R. Springer. стр. 477–478. ISBN 978-0-387-75936-4.
  11. ^ Хардин, Джеймс В.; Хильбе, Джозеф М. (2002-07-30). Обобщенные оценочные уравнения. CRC Press. стр. 12. ISBN 978-1-4200-3528-5.
  12. ^ Беккер, РА; Чемберс, Дж. М. (1984). S: Интерактивная среда для анализа данных и графики . Пасифик-Гроув, Калифорния, США: Wadsworth & Brooks/Cole. ISBN 0-534-03313-X.
  13. ^ Беккер, РА; Чемберс, Дж. М. (1985). Расширение системы S. Пасифик-Гроув, Калифорния, США: Wadsworth & Brooks/Cole. ISBN 0-534-05016-6.
  14. ^ Беккер, РА; Чемберс, Дж. М.; Уилкс, А. Р. (1988). Новый язык S: среда программирования для анализа данных и графики . Пасифик-Гроув, Калифорния, США: Wadsworth & Brooks/Cole. ISBN 0-534-09192-X.
  15. ^ Chambers, JM; Hastie, TJ (1991). Статистические модели в S. Pacific Grove, CA, USA: Wadsworth & Brooks/Cole. стр. 624. ISBN 0-412-05291-1.
  16. ^ Уилкинсон, GN; Роджерс, CE (1973). «Символическое описание факторных моделей для дисперсионного анализа». Прикладная статистика . 22 (3): 392–399. doi :10.2307/2346786. JSTOR  2346786.
  17. Чемберс, Джон (1 января 2001 г.). «Система S». Bell Labs. Архивировано из оригинала 14 октября 2018 г.
  18. ^ Уикхэм, Хэдли (2019). "S4". Расширенный R. adv-r.had.co.nz. ISBN 9781466586963. Получено 2020-02-18 .
  • В книге Джона М. Чемберса «Эволюция языка S» обсуждаются новые возможности версии 4 языка S (в формате PostScript ), архивировано 19 июня 2023 г. на Wayback Machine.
Взято с "https://en.wikipedia.org/w/index.php?title=S_(язык_программирования)&oldid=1255639012"