Einen Monat früher, als ich erwartet habe ist die CSD 12 für Workstation APL2 verfügbar. Dass mit diesem Service Level die Ausführung von Stored Procedures durch den AP127 möglich wird oder ActiveX Steuerelemente für Dialoge genutzt werden können, war vorhersehbar. Beides bietet weite Felder für neue Anwendungen.
Daneben wartet die CSD 12 mit einer großen und vielen kleineren Überraschungen auf. Die vollständige Liste der Neuerungen findet man wie üblich in der readmec.txt im APL2-Installationsverzeichnis. Hier nur eine Auswahl, die Reihenfolge ist mehr oder weniger willkürlich:
- Die neue externe Funktion DATATYPE ermittelt den internen Datentyp eines Datenobjektes.
Solch eine Funktion hätte ich mir seinerzeit für VSAPL gewünscht. Statt dessen waren dort und später auch mit APL2 viele APL-Zeilen notwendig, um einigermaßen sicher zu bestimmen, ob eine Datenstruktur Zeichen, boolesche, ganzzahlige, reelle oder gar komplexe Werte enthält.
Diese Funktion wird es auch für APL2 Mainframe geben. Dort ist sie sogar noch hilfreicher, da dort der interne Datentyp einer numerischen Variable nicht "optimiert" wird.
Nancy weiß, warum diese Neuerung hier an erster Stelle steht, obwohl sie sicher nicht die wichtigste ist.
- Mit PEACHP und PEACHT gibt es erstmalig zwei mit APL2 ausgelieferte externe Operatoren. Mit diesen kann eine Funktion parallel auf mehreren Prozessoren ausgeführt werden. Das ist heute mehr denn je sinnvoll, da jeder neue PC mit mehr als einem Rechenkern ausgeliefert wird.
Die parallele Ausführung verschiedener Funktionen auf mehreren Prozessoren ist hier natürlich nicht vorgesehen, dazu wären Vektoren von Funktionen ein hilfreiches Sprachkonstrukt, das APL2 leider nicht kennt.
Jim Brown hat schon in den 90er von PEACH ("Parallel Each") geträumt. CSD 12 bietet gleich zwei Varianten.
- Es gibt mit CPUCOUNT, COMBROWSE, PEACHXF noch drei weitere neue externe Funktionen, die aber in readmec.txt nicht erwähnt werden (aber natürlich im User's Guide). CPUCOUNT und PEACHXF werden in PEACHP bzw. PEACHT verwendet.
Das soll für das Erste reichen, mehr in Folge 2.
Zu den Neuerungen des Service Level 12 gehört mit dem AP15 ein neuer Assoziierter Prozessor. Auf den ersten Blick ähnelt er konzeptionell dem AP12 "Files as Variables", nur dass hier nicht Dateien wie APL-Variablen behandelt werden, sondern Speicher auÃ
Aufgenommen: May 12, 22:56
... sollte man meinen. Das könnte auch so sein, denn als Sprache enthält APL eine Vielzahl paralleler Konzepte. So kann die Addition zweier Matrizen auf mehrerer Prozessoren verteilt werden, ohne dass der Entwickler das explizit vorgeben muss. Dies
Aufgenommen: Jun 23, 00:25