S (язык программирования)
Парадигма | Мультипарадигма : императивный , объектно-ориентированный. |
---|---|
Разработчик | Рик Беккер, Аллан Уилкс, Джон Чемберс , Уильям С. Кливленд , Тревор Хэсти |
Впервые появился | 1976 год |
Дисциплина набора текста | динамичный , сильный |
Лицензия | зависит от реализации |
Веб-сайт | ect.bell-labs.com/sl/S/ на Wayback Machine (архивировано 14 октября 2018 г.) |
Основные реализации | |
С-ПЛЮС | |
Под влиянием | |
C , APL , PPL , Фортран | |
Под влиянием | |
Р |
С [1] — язык статистического программирования, разработанный в первую очередь Джоном Чемберсом и (в более ранних версиях) Риком Беккером, Тревором Хэсти , Уильямом Кливлендом и Алланом Уилксом из Bell Laboratories . Цель языка, как выразился Джон Чемберс, — «быстро и точно превратить идеи в программное обеспечение». [1] Он широко используется академическими исследователями. [2]
Основной реализацией S является S-PLUS , коммерческий продукт, который ранее продавался TIBCO Software .
Современный R , часть проекта свободного программного обеспечения GNU , был основан на S. [3] и может запускать множество программ S, хотя он не полностью обратно совместим . [4]
История [ править ]
«Старый С» [ править ]
S — один из нескольких языков статистических вычислений, разработанных в Bell Laboratories и впервые появившихся в 1975–1976 годах. До этого большая часть статистических вычислений выполнялась путем прямого вызова Фортрана подпрограмм ; однако S был разработан, чтобы предложить альтернативный и более интерактивный подход, частично мотивированный исследовательским анализом данных, пропагандируемым Джоном Тьюки . [5] Ранние дизайнерские решения, которые актуальны и сегодня, включают интерактивные графические устройства (в то время принтеры и символьные терминалы) и предоставление легкодоступной документации по функциям. [ нужна ссылка ]
Разработкой проекта руководили Джон Чемберс и Тревор Хасти , в него входили разработчики Ричард Беккер, Аллан Уилкс, Джон Чемберс и Уильям Кливленд . [6] все они тогда были сотрудниками AT&T . [7] Из разработчиков, внесших свой вклад в S, Чамберс, по общему мнению, внес наиболее значительный вклад. [3] Чемберс получил премию Software System Award от Ассоциации вычислительной техники за свою работу над S. [8]
Первая рабочая версия S была построена в 1976 году и работала на операционной системе GCOS . В то время название S не было, и были предложены ISCS (Интерактивная SCS) , SCS (Система статистических вычислений) и SAS (Система статистического анализа) (которая уже была принята: см. Система SAS ). Было выбрано имя «S» (использувшееся в одинарных кавычках до 1979 года), поскольку оно было распространенной буквой в предложениях и соответствовало другим языкам программирования, разработанным в том же учреждении в то время (а именно, языку программирования C ). [5] Оно означает слово «статистика». [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: Интерактивная среда для анализа данных и графики. [12] (Коричневая книга, 1984 г.) и Расширение системы S. [13] Кроме того, в 1984 году исходный код S был лицензирован через AT&T Software Sales для образовательных и коммерческих целей.
«Новый S» [ править ]
Первая версия S-PLUS была выпущена компанией Statistical Sciences, Inc. в 1988 году. Позже S-PLUS был продан TIBCO Software . [9] К этому времени с выпуском S3 в S и синтаксис языка было внесено множество изменений. [10] Новый S-язык [14] (Синяя книга 1988 года) была опубликована, чтобы представить новые функции, такие как переход от макросов к функциям и то, как функции могут передаваться другим функциям (например, apply
). Многие другие изменения в языке S были направлены на расширение концепции «объектов» и на то, чтобы сделать синтаксис более последовательным (и строгим). Однако многие пользователи сочли переход на New S трудным, так как их макросы нужно было переписывать. В S произошло множество других изменений, таких как использование графических устройств X11 и PostScript , переписывание многих внутренних функций с Фортрана на C и использование арифметики с двойной точностью (только). Язык New S который используется в современных версиях S-PLUS и R. очень похож на тот ,
Графический пользовательский интерфейс S также был обновлен интерактивными графическими функциями после интеграции с Axum . [9]
В 1991 году Статистические модели в S [15] (1991 г.) была опубликована Белая книга, в которой было введено использование формульных обозначений. [16] (которые используют ~
оператор), объекты фреймов данных и изменения в использовании методов и классов объектов .
S4[editS4
Последней версией стандарта S является S4, выпущенная в 1998 году. [17] Он предоставляет расширенные объектно-ориентированные функции. Классы S4 заметно отличаются от классов S3; S4 формально определяет представление и наследование для каждого класса и имеет множественную отправку : универсальная функция может быть отправлена методу на основе класса с любым количеством аргументов, а не только с одним. [18]
См. также [ править ]
- R (язык программирования) , производный язык, основанный на языке программирования S, частично обратно совместимый с программами S.
Ссылки [ править ]
- ↑ Перейти обратно: Перейти обратно: а б Чемберс, Джон М. (1998). Программирование с данными: Руководство по языку S. Спрингер. ISBN 978-0-387-98503-9 .
- ^ «S-Plus: Введение» . www.stat.rice.edu . Проверено 28 февраля 2024 г.
- ↑ Перейти обратно: Перейти обратно: а б Ашвани, Кумар; Сатьянараяна, Редди, Силам Саи (25 сентября 2020 г.). Достижения в области безопасности и конфиденциальности мультимедийных изображений . IGI Global. п. 179. ИСБН 978-1-7998-2797-9 .
{{cite book}}
: CS1 maint: несколько имен: список авторов ( ссылка ) - ^ Николлс, Энди; Пью, Ричард; Готт, Эйми (16 декабря 2015 г.). R за 24 часа, Сэмс научится сам . Издательство Самс. ISBN 978-0-13-428880-2 .
- ↑ Перейти обратно: Перейти обратно: а б с Беккер, Ричард А., Краткая история S , Мюррей Хилл, Нью-Джерси: AT&T Bell Laboratories, заархивировано из оригинала (PS) 23 июля 2015 г. , получено 23 июля 2015 г.
- ^ Берри, Кеннет Дж.; Джонстон, Дженис Э.; Младший, Пол В. Мильке (11 апреля 2014 г.). Хроника перестановочных статистических методов: 1920–2000 годы и далее . Springer Science & Business Media. стр. 207–208. ISBN 978-3-319-02744-9 .
- ^ Энциклопедия статистических наук, том 12 . Джон Уайли и сыновья. 16 декабря 2005 г. п. 8088. ISBN 978-0-471-74406-1 .
- ^ Шарпантье, Артур (26 августа 2014 г.). Вычислительная актуарная наука с R . ЦРК Пресс. п. 4. ISBN 978-1-4987-5982-3 .
- ↑ Перейти обратно: Перейти обратно: а б с Николлс, Энди; Пью, Ричард; Готт, Эйми (16 декабря 2015 г.). R за 24 часа, Сэмс научится сам . Издательство Самс. ISBN 978-0-13-428880-2 .
- ↑ Перейти обратно: Перейти обратно: а б Чемберс, Джон (14 июня 2008 г.). Программное обеспечение для анализа данных: программирование на R. Спрингер. стр. 477–478. ISBN 978-0-387-75936-4 .
- ^ Хардин, Джеймс В.; Хильбе, Джозеф М. (30 июля 2002 г.). Обобщенные оценочные уравнения . ЦРК Пресс. п. 12. ISBN 978-1-4200-3528-5 .
- ^ Беккер, РА; Чемберс, Дж. М. (1984). S: Интерактивная среда для анализа данных и графики . Пасифик Гроув, Калифорния, США: Wadsworth & Brooks/Cole. ISBN 0-534-03313-Х .
- ^ Беккер, РА; Чемберс, Дж. М. (1985). Расширение системы S. Пасифик Гроув, Калифорния, США: Wadsworth & Brooks/Cole. ISBN 0-534-05016-6 .
- ^ Беккер, РА; Чемберс, Дж. М.; Уилкс, Арканзас (1988). Новый язык S: среда программирования для анализа данных и графики . Пасифик Гроув, Калифорния, США: Wadsworth & Brooks/Cole. ISBN 0-534-09192-Х .
- ^ Чемберс, Дж. М.; Хасти, Ти Джей (1991). Статистические модели в S . Пасифик Гроув, Калифорния, США: Wadsworth & Brooks/Cole. п. 624. ИСБН 0-412-05291-1 .
- ^ Уилкинсон, Дж.Н.; Роджерс, CE (1973). «Символическое описание факторных моделей дисперсионного анализа». Прикладная статистика . 22 (3): 392–399. дои : 10.2307/2346786 . JSTOR 2346786 .
- ^ Чемберс, Джон (1 января 2001 г.). «Система S» . Лаборатории Белла. Архивировано из оригинала 14 октября 2018 г.
- ^ Уикхэм, Хэдли (2019). «С4». Продвинутый R. adv-r.had.co.nz. ISBN 9781466586963 . Проверено 18 февраля 2020 г.
Внешние ссылки [ править ]
- «Эволюция языка S » Джона М. Чемберса обсуждает новые функции версии 4 языка S (в PostScript ). формате