Die useR! Conference 2016 ist offiziell eröffnet. Im Mittelpunkt der ersten Keynote des Tages stand ein Jubiläum: Die Programmiersprache S, Vorgänger von R, wird dieses Jahr 40 Jahre alt. Wir nehmen Sie mit auf Richard Beckers Reise durch die Geschichte und Entwicklung von S:
Richard Becker: 40 Years of S
Richard Becker war einer der führenden Entwickler von S. Mitte der 70er Jahre hat er gemeinsam mit John Chambers, Allan Wilks und anderen an den Bell Laboratories – an denen damals mehr als 4.000 Wissenschaftler beschäftigt waren – die Grundlagen für das heutige R gelegt.
Sein reich bebilderter Vortrag hat die Konferenzteilnehmer in die Anfangszeit der Computer entführt. So war zum Beispiel ein „Kleincomputer“ mit den Ausmaßen eines Lieferwagens zu sehen oder eine Tastatur, die für den Zuweisungsoperator (–>) eine eigene Taste bereitgestellt hat.
Damals waren Programme stark an die Hardware gebunden für die sie geschrieben wurden. Es war kaum möglich Software von einer Maschine auf eine andere zu übertragen. FORTRAN war die erste Sprache, die High-Level Elemente enthielt und eine Übertragbarkeit von Code ermöglichte. So wurde die erste Implementierung von S in FORTRAN umgesetzt.
Das Design der Sprache sollte folgende Aspekte berücksichtigen:
- Eine einfache Grammatik bereitstellen
- Keine Objektdeklaration erfordern
- Einsatz von wenigen primitiven Datentypen
- Indizierung über Subscripting mit Hilfe von:
-
- Numerischen Werten: Auswahl der Elemente anhand ihrer Position
- Negativen Werten: Elemente, die nicht ausgewählt werden
- Logikwerten: Auswahl der Elemente, wenn der Logikwert WAHR ist
- Leere Auswahl: Auswahl aller Elemente (geniale Idee!)
-
Vieles von dem, was wir heute in R kennen war somit auch schon in S angelegt.
Zum Abschluss hat Becker der R-Community aufgezeigt, was aus seiner Sicht die Erfolgsfaktoren von S waren:
- S wurde von den Bell Wissenschaftlern ausschließlich zur eigenen Verwendung entwickelt. Es gab keine User außerhalb dieser Einrichtung auf deren Anforderungen Rücksicht genommen werden musste.
- Es gab keinerlei kommerzielles Interesse an der Vermarktung von S.
- S ist nicht für eine spezielle Hardware ausgelegt. Was heute selbstverständlich klingt, war damals revolutionär.
- S hat Interfaces für C und FORTRAN
- S kann von Usern programmiert werden.
- S wurde insgesamt dreimal implementiert: Einmal in FORTRAN, einmal in portable FORTRAN und einmal in C. Durch die Neuimplementierung konnten grundlegende Konzepte überarbeitet werden.
- S ist interaktiv und benutzerfreundlich
- Nachdem Anfang der 90er Jahre eine kommerzielle Version von S-Plus entwickelt wurde, haben Ross Ihaka und Robert Gentleman S unter dem Namen R zum vierten Mal implementiert.
Viele Erfolgsfaktoren lassen sich auf R übertragen. Zu ergänzen wären zwei weitere Faktoren: Die riesige Community, die R dezentral weiter entwickelt, sowie das Engagement kommerzieller Anbieter wie Microsoft, Oracle, Tibco und anderen, die R in ihre Produkte integrieren. So kann die Sprache die hohen Anforderungen von Unternehmen an Software erfüllen.
Hier entlang.