S (язык программирования) - S (programming language)

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

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

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

История

"Старый S"

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

Первая рабочая версия S была построена в 1976 году и эксплуатировалась на ГСНК Операционная система. На этот раз имя S не было названо, и в него были включены предложения ISCS (Интерактивная СКС), 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 для образовательных и коммерческих целей.

"Новости"

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

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

S4

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

Рекомендации

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

внешняя ссылка