Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

Современная реализация S is R , часть проекта свободного программного обеспечения GNU . S-PLUS , коммерческий продукт, ранее продавался TIBCO Software . [ необходима цитата ]

История [ править ]

"Старый S" [ править ]

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

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

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

В 1980 году первая версия S была распространена за пределами Bell Laboratories, а в 1981 году стали доступны исходные версии. [2] В 1984 г. исследовательской группой Bell Laboratories были опубликованы две книги: S: Интерактивная среда для анализа данных и графики [3] (Коричневая книга 1984 г.) и Расширение S-системы . [4] Кроме того, в 1984 году исходный код S был лицензирован через AT&T Software Sales для образовательных и коммерческих целей.

"New S" [ править ]

К 1988 году в S и синтаксис языка было внесено много изменений. Новый язык S [5] (Голубая книга 1988 г.) был опубликован, чтобы представить новые возможности, такие как переход от макросов к функциям и то, как функции могут быть переданы другим функциям (например, apply). Многие другие изменения в языке S заключались в расширении концепции «объектов» и в том, чтобы сделать синтаксис более согласованным (и строгим). Однако многие пользователи сочли переход на New S сложным, поскольку их макросы нужно было переписать. В S вступили многие другие изменения, такие как использование графических устройств X11 и PostScript , переписывание многих внутренних функций с Fortran на C и использованиеарифметика с двойной точностью (только). Новый S язык очень похож на используемый в современных версиях S-PLUS и R .

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

S4 [ править ]

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

Ссылки [ править ]

  1. Перейти ↑ Chambers, John M (1998). Программирование с данными: Руководство для S языка . Springer. ISBN 978-0-387-98503-9.
  2. ^ a b c Беккер, Ричард А., Краткая история S , Мюррей Хилл, Нью-Джерси: AT&T Bell Laboratories, заархивировано из оригинала (PS) 23 июля 2015 г. , извлечено 23 июля 2015 г.
  3. ^ Беккер, РА; Чемберс, Дж. М. (1984). S: Интерактивная среда для анализа данных и графики . Пасифик Гроув, Калифорния, США: Уодсворт и Брукс / Коул. ISBN 0-534-03313-X.
  4. ^ Беккер, РА; Чемберс, Дж. М. (1985). Расширение S-системы . Пасифик Гроув, Калифорния, США: Уодсворт и Брукс / Коул. ISBN 0-534-05016-6.
  5. ^ Беккер, РА; Чемберс, JM; Уилкс, AR (1988). Новый язык S: среда программирования для анализа данных и графики . Пасифик Гроув, Калифорния, США: Уодсворт и Брукс / Коул. ISBN 0-534-09192-X.
  6. ^ Чемберс, JM; Хасти, Т.Дж. (1991). Статистические модели в S . Пасифик Гроув, Калифорния, США: Уодсворт и Брукс / Коул. п. 624. ISBN 0-412-05291-1.
  7. ^ Wilkinsons, GN; Роджерс, CE (1973). «Символическое описание факторных моделей для дисперсионного анализа». Прикладная статистика . 22 (3): 392–399. DOI : 10.2307 / 2346786 . JSTOR 2346786 . 
  8. Чемберс, Джон (1 января 2001 г.). «Система S» . Bell Labs. Архивировано из оригинала на 2018-10-14.
  9. Перейти ↑ Wickham, Hadley (2019). «S4». Продвинутый R. adv-r.had.co.nz . ISBN  9781466586963. Проверено 18 февраля 2020 .

Внешние ссылки [ править ]

  • «Эволюция языка S» , автор Джон М. Чемберс, обсуждает новые функции в версии 4 языка S (в формате PostScript ).