SCL - Vorteil gegenüber anderen OOP-Sprachen?
Verfasst von dirk e am 27 Februar, 2006 - 18:33
Hallo,
ich habe ein bisschen über SCL in der OnlineDoc gelesen, insbes. über Methoden und Klassen. Gibt es aber einen nennenswerten Vorteil von SCl gegenüber anderen - open source - Sprachen? Allein das Argument, es sei jetzt alles objektorientiert, reicht nicht aus, denn mittlerweile ist auch Perl objektorientiert, Java sowieso. Wieso sollte ich SCL benutzen? Kennt jemand ein Argument, das die Hürde im Lernen dieser Sprache rechtfertigt?
Danke.
Gruss
Dirk
»
- Anmelden oder Registrieren um Kommentare zu schreiben

Java, .NET, SCL
Das kommt darauf an, was Sie erreichen wollen.
Wenn es um interaktive Frontends geht: Es wurden sehr viele Anwendungen auf rich clients (SAS auf dem PC, optional noch zusätzlich SAS auf einem Server, verbunden über SAS/CONNECT) auf Basis von SAS/AF entwickelt. Das hat man gemacht, weil es so recht einfach war, die vielen Möglichkeiten von SAS im Hintergrund zu nutzen und mit einer interaktiven Oberfläche zu versehen. Auch ist es aufgrund der Multivendor Architecture möglich, solche Anwendungen mit relativ wenig Aufwand auf die GUIs anderer Betriebssysteme zu portieren.
Mittlerweile ist diese Architektur für interaktive Anwendungen etwas in den Hintergrund getreten, weil es mit der aktuellen SAS-Version recht einfach geworden ist, Frontends für SAS mit bekannten Technologien wie Java oder JSP oder .NET zu entwickeln. Dazu braucht man dann Integration Technologies als Middleware.
Wenn es um Datenerfassung geht: Hier verwendet man ja eher SAS/FSP als SAS/AF, es handelt sich aber im Wesentlichen um die gleiche Technologie auf Basis der Programmiersprache SAS Component Language (SCL). Dazu gibt es aus meiner Sicht auch heute noch wenige Alternativen, da man mit SAS/FSP sehr schnell, flexibel und mächtig Datenerfassungsmasken auf jedem Betriebssystem erstellen kann. Webtechnologien zu diesem Zweck zu verwenden ist nach meiner Erfahrung heute noch aufwändiger.
Wenn es um Backend-Komponenten geht: Die meisten SAS-Programmierer nehmen hierfür Makros. Wenn man lieber objektorientiert arbeitet, gibt es hier aber auch eine starke Möglichkeit, mit SCL Serverkomponenten zu schreiben und diese mit der Remote Object Class Factory aus Java oder .NET aufzurufen.
Zur Zukunft von SAS/AF: Es sah eine Zeit lang so aus, als würde SAS/AF nicht mehr weiterentwickelt. Mittlerweile gibt es jedoch auch andere Signale, die teilweise sogar auf eine Wiedergeburt von SAS/AF hindeuten.
Auf SAS-L ist im letzten Oktober hierzu ein sehr interessanter Beitrag "future of SAS/AF" erschienen, der (unwidersprochen) einen SAS-Mitarbeiter zitiert mit den Worten "wenn Ihre Anwendung nicht über das Web eingesetzt werden muss, ist SAS/AF eine funktionsfähige Alternative" und "wir erweitern SAS/AF in SAS 9.2 um neue Funktionen und stellen mehr Programmierer ein, die sich diesem Produkt widmen".
SAS UK schreibt 2003 unter SAS/AF: An Update: "Die SCL-Sprache wird weiterhin innerhalb von SAS verbessert werden. Sie ist weiterhin ein Kernbestandteil von AppDevStudio."
scl und macro language / variablen-typisierung
Hallo Andreas Mangold,
Wenn es um Backend-Komponenten geht: Die meisten SAS-Programmierer nehmen hierfür Makros. Wenn man lieber objektorientiert arbeitet, gibt es hier aber auch eine starke Möglichkeit, mit SCL Serverkomponenten zu schreiben
Genau, auch ich weiss die Makrosprache zu schätzen. Trotzdem ist es ja so, dass man keine Art Unter-Makro erstellen kann, das wie eine Subclass alle Eigenschaften vom Parent vererbt bekommt. Hab gelesen, dass SCL auch die Makro-Sprache einbetten kann. Braucht man diese aber dann noch, wenn man eh schon mit SCL arbeitet? Ich gehe davon aus, dass SCL genauso dynamischen Code ausführt wie die Makros es mir ermöglichen. WEnn dann noch die Konzepte der Vererbung und Kapselung gesehen werden, ja ist dann die Makro-Sprache nicht überflüssig?
Ne 2. Frage ist, ob SCL ne strenge Variablen-Typisierung voraussetzt wie zb. ActionScript (Flash). Das halte ich für ein wichtiges Instrument, um Fehler bei String/Numeric-Konvertierungen zu vermeiden. Weiss da jemand was drüber?
Schöne Grüsse
Dirk