Парадигма | Мультипарадигмальный : императивный , объектно-ориентированный |
---|---|
Разработчик | Рик Беккер, Аллан Уилкс, Джон Чемберс , Уильям С. Кливленд , Тревор Хасти |
Впервые появился | 1976 ( 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] (которые используют ~
оператор), объектов фреймов данных и модификации использования методов и классов объектов .
Последняя версия стандарта S — S4, выпущенная в 1998 году. [17] Она предоставляет расширенные объектно-ориентированные возможности. Классы S4 заметно отличаются от классов S3; S4 формально определяет представление и наследование для каждого класса и имеет множественную диспетчеризацию : универсальная функция может быть отправлена методу, основанному на классе любого количества аргументов, а не только одного. [18]
{{cite book}}
: CS1 maint: несколько имен: список авторов ( ссылка )