S [1] es un lenguaje de programación estadística desarrollado principalmente por John Chambers y (en versiones anteriores) por Rick Becker, Trevor Hastie , William Cleveland y Allan Wilks de Bell Laboratories . El objetivo del lenguaje, tal como lo expresó John Chambers, es "convertir ideas en software, de manera rápida y fiel". [1] Es ampliamente utilizado por investigadores académicos. [2]
Una implementación importante de S es S-PLUS , un producto comercial que anteriormente vendía TIBCO Software .
El R moderno , parte del proyecto de software libre GNU , se basó en S [3] y puede ejecutar muchos programas S, aunque no es totalmente compatible con versiones anteriores . [4]
S es uno de los varios lenguajes de cálculo estadístico que se diseñaron en los Laboratorios Bell y que tomaron forma entre 1975 y 1976. Hasta ese momento, gran parte del cálculo estadístico se hacía llamando directamente a subrutinas de Fortran ; sin embargo, S fue diseñado para ofrecer un enfoque alternativo y más interactivo, motivado en parte por el análisis exploratorio de datos propugnado por John Tukey . [5] Las primeras decisiones de diseño que se mantienen incluso hoy en día incluyen dispositivos gráficos interactivos (impresoras y terminales de caracteres en ese momento) y proporcionar documentación de fácil acceso para las funciones. [ cita requerida ]
El desarrollo del proyecto estuvo a cargo de John Chambers y Trevor Hastie , e incluyó a los desarrolladores Richard Becker, Allan Wilks, John Chambers y William Cleveland , [6] todos ellos empleados de AT&T . [7] De los desarrolladores que contribuyeron a S, se acepta generalmente que Chambers fue el colaborador más importante. [3] Chambers recibió el Premio al Sistema de Software de la Asociación de Maquinaria Computacional por su trabajo en S. [8]
La primera versión funcional de S se creó en 1976 y funcionaba con el sistema operativo GCOS . En ese momento, S no tenía nombre y las sugerencias incluían ISCS (Interactive SCS) , SCS (Statistical Computing System) y SAS (Statistical Analysis System) (que ya estaba en uso: consulte SAS System ). Se eligió el nombre "S" (usado con comillas simples hasta 1979) porque era una letra común en las sugerencias y era coherente con otros lenguajes de programación diseñados por la misma institución en ese momento (a saber, el lenguaje de programación C ). [5] Significa la palabra "estadística". [9]
Cuando UNIX/32V fue portado al (entonces nuevo) DEC VAX de 32 bits , la computación en la plataforma Unix se volvió factible para S. A fines de 1979, S2 fue portado de GCOS a UNIX, que se convertiría en la nueva plataforma principal. [10]
En 1980, la primera versión de S se distribuyó fuera de los Laboratorios Bell y en 1981 se pusieron a disposición versiones fuente. [5] S se distribuyó libremente en círculos académicos y se hizo popular entre los estadísticos académicos. [11] En 1984, el equipo de investigación de los Laboratorios Bell publicó dos libros: S: An Interactive Environment for Data Analysis and Graphics [12] (Libro Brown de 1984) y Extending the S System . [13] Además, en 1984, el código fuente de S pasó a estar bajo licencia a través de AT&T Software Sales para fines educativos y comerciales.
La primera versión de S-PLUS fue lanzada por Statistical Sciences, Inc. en 1988. S-PLUS fue posteriormente vendido a TIBCO Software . [9] En ese momento, se habían realizado muchos cambios en S y en la sintaxis del lenguaje con el lanzamiento de S3. [10] El Nuevo Lenguaje S [14] (Libro Azul de 1988) se publicó para introducir las nuevas características, como la transición de macros a funciones y cómo se pueden pasar funciones a otras funciones (como apply
). Muchos otros cambios en el lenguaje S fueron para ampliar el concepto de "objetos" y hacer que la sintaxis fuera más consistente (y estricta). Sin embargo, muchos usuarios encontraron difícil la transición al Nuevo S , ya que sus macros necesitaban ser reescritas. Muchos otros cambios en S se afianzaron, como el uso de dispositivos gráficos X11 y PostScript , la reescritura de muchas funciones internas de Fortran a C y el uso de aritmética de doble precisión (solamente). El Nuevo Lenguaje S es muy similar al que se utiliza en las versiones modernas de S-PLUS y R.
La interfaz gráfica de usuario de S también se actualizó con funciones gráficas interactivas después de la integración con Axum . [9]
En 1991, se publicó Modelos estadísticos en S [15] (Libro blanco de 1991), que introdujo el uso de la notación de fórmula [16] (que utiliza el operador), objetos de marco de datos y modificaciones en el uso de métodos y clases~
de objetos .
La última versión del estándar S es S4, publicada en 1998. [17] Proporciona características orientadas a objetos avanzadas. Las clases S4 difieren notablemente de las clases S3; S4 define formalmente la representación y la herencia para cada clase, y tiene envío múltiple : la función genérica se puede enviar a un método basado en la clase de cualquier número de argumentos, no solo uno. [18]
{{cite book}}
: CS1 maint: varios nombres: lista de autores ( enlace )