APL (Programmiersprache)

APL (genannt nach dem Buch Eine Programmiersprache) ist eine interaktive Reihe-orientierte Sprache und integrierte Entwicklungsumgebung, die von mehreren kommerziellen und nichtkommerziellen Verkäufern und für die meisten Computerplattformen verfügbar ist. Es basiert auf einer mathematischen Notation, die von Kenneth E. Iverson und Partnern entwickelt ist, der spezielle Attribute für das Design und die Spezifizierungen von Digitalrechensystemen, sowohl Computerhardware als auch Software zeigt.

APL hat eine Kombination von einzigartigen und relativ ungewöhnlichen Eigenschaften, die an Programmierer appellieren und ihn eine produktive Programmiersprache machen:

  • Es, ist mit Symbolen aber nicht Wörtern kurz und Funktionen auf die komplette Reihe anwendend, ohne ausführliche Schleifen zu verwenden.
  • Es ist eingestellte Lösung, den Ausdruck von Algorithmen unabhängig von der Maschinenarchitektur oder dem Betriebssystem betonend.
  • Es hat gerade eine einfache, konsequente und rekursive Prioritätsregel: Das richtige Argument einer Funktion ist das Ergebnis des kompletten Ausdrucks an seiner rechten Seite.
  • Es erleichtert das Problem-Lösen an einem hohen Niveau der Abstraktion.

APL wird in wissenschaftlichen, versicherungsstatistischen, statistischen und finanziellen Anwendungen verwendet, wo er von Praktikern für ihre eigene Arbeit und von Programmierern verwendet wird, um kommerzielle Anwendungen zu entwickeln. Es war ein wichtiger Einfluss auf die Entwicklung von Spreadsheets, funktionelle Programmierung und Computermathepakete. Es hat auch mehrere andere Programmiersprachen begeistert. Es wird auch mit schnellen und leichten Entwicklungsprojekten in flüchtigen Geschäftsumgebungen vereinigt.

Geschichte

Die erste Verkörperung dessen, was später die APL Programmiersprache sein sollte, wurde veröffentlicht und auf Einer Programmiersprache, ein Buch formalisiert, das eine Notation erfunden 1957 von Kenneth E. Iverson während an der Universität von Harvard beschreibt. Iverson hatte eine mathematische Notation entwickelt, um Reihe zu manipulieren, die er seinen Studenten unterrichtet hat.

1960 hat er Arbeit für IBM begonnen und, mit Adin Falkoff arbeitend, hat APL geschaffen, der auf der Notation gestützt ist, die er entwickelt hatte. Diese Notation wurde innerhalb von IBM für kurze Forschungsberichte auf Computersystemen, wie der Burroughs B5000 und sein Stapel-Mechanismus verwendet, als Stapel-Maschinen gegen Register-Maschinen von IBM für kommende Computer bewertet wurden.

Auch 1960 verwendete Iverson bereits auch seine Notation in einer Draftkopie des Kapitels 6 genannt "Eine Programmiersprache" nach dem Buch, das er mit Fred Brooks, Automatischer Datenverarbeitung schrieb, die später 1963 veröffentlicht würde.

Veröffentlicht 1962 war die auf Einer Programmiersprache beschriebene Notation noch verschieden von später APL erkennbar.

Schon in 1962 der erste Versuch, die Notation zu verwenden, um ein ganzes zufällig Computersystem nachdem zu beschreiben, hat Falkoff mit Dr William C. Carter seine Arbeit in der Standardisierung des Befehlssatzes für die Maschinen besprochen, die später die Familie von IBM System/360 geworden sind.

1963 hat Dr Herbert Hellerman, an IBM Systems Research Institute arbeitend, einen Teil der Notation auf einem Computer von IBM 1620 durchgeführt, und es wurde von Studenten in einem speziellen Kurs der Höheren Schule über Elementarfunktionen verwendet. Diese Durchführung eines Teils der Notation wurde RICHTIG (Personifizierter Reihe-Übersetzer) genannt.

1963, Falkoff, Iverson und Edward H. Sussenguth der Jüngere., alles, an IBM arbeitend, hat die Notation für eine formelle Beschreibung der Reihe-Maschinenarchitektur von IBM System/360 und Funktionalität verwendet, die auf eine Zeitung hinausgelaufen ist, die auf IBM Systems Journal 1964 veröffentlicht ist. Nachdem das veröffentlicht wurde, hat die Mannschaft ihre Aufmerksamkeit auf eine Durchführung der Notation auf einem Computersystem gelenkt. Eine der Motivationen für diesen Fokus der Durchführung war das Interesse von John L. Lawrence, der neue Aufgaben mit Science Research Associates, einer Bildungsgesellschaft hatte, die von IBM 1964 gekauft ist. Lawrence hat Iverson und seine Gruppe gebeten zu helfen, die Sprache als ein Werkzeug für die Entwicklung und den Gebrauch von Computern in der Ausbildung zu verwerten.

Nachdem sich Lawrence M. Breed und Philip S. Abrams von Universität von Stanford der Mannschaft an IBM Research angeschlossen haben, haben sie weitergemacht ihre vorherige Arbeit an einer Durchführung, die in FORTRAN IV für einen Teil der Notation programmiert ist, wurde für den Computer von IBM 7090 getan, der unter dem IBSYS Betriebssystem läuft. Diese Arbeit wurde gegen Ende 1965 beendet und später als IVSYS (System von Iverson) bekannt. Die Basis dieser Durchführung wurde im Detail von Abrams in einer Universität von Stanford Technischer Bericht, "Ein Dolmetscher für die Notation von Iverson" 1966 beschrieben. Wie das KLAPS-System von Hellerman früher hat diese Durchführung die APL Codierung nicht eingeschlossen, aber hat spezielle englische vorbestellte Wörter für Funktionen und Maschinenbediener verwendet. Das System wurde später an ein Time-Sharing-System und vor dem November 1966 angepasst, es war für den Computer von IBM/360 Model 50 wiederprogrammiert worden, der in einer Time-Sharing-Weise läuft, und wurde innerlich an IBM verwendet.

Eine Schlüsselentwicklung in der Fähigkeit, APL effektiv vor dem weit verbreiteten Gebrauch von CRT Terminals zu verwenden, war die Entwicklung einer speziellen Schreibmaschine von IBM Selectric austauschbarer typeball mit allen speziellen APL Charakteren darauf. Das wurde auf Papier verwendet, das Endarbeitsplätze mit der Schreibmaschine von Selectric und dem typeball Mechanismus wie das Terminal von IBM 1050 und IBM 2741 druckt. Keycaps konnte über die normalen Schlüssel gelegt werden sich zu zeigen, in welche APL Charaktere eingegangen und getippt würde, als dieser Schlüssel geschlagen wurde. Zum ersten Mal konnte ein Programmierer wirklich eintippen und echte APL Charaktere, wie verwendet, in der Notation von Iverson sehen und nicht gezwungen werden, ungeschickte englische Schlüsselwort-Darstellungen von ihnen zu verwenden. Falkoff und Iverson hatten speziellen APL Selectric typeballs, 987 und 988, entworfen gegen Ende 1964, obwohl kein APL Computersystem verfügbar war, um sie zu verwenden. Iverson hat Falkoff als die Inspiration für die Idee zitiert, IBM Selectric typeball für die APL Codierung zu verwenden.

Das Tastatur-Lay-Out von IBM 2741 mit dem APL typeball Druckkopf hat eingefügt hat dieser Weg dem Programmierer geschaut:

:

Einige APL Symbole, sogar mit den APL Charakteren auf dem typeball, mussten noch durch das Überanschlagen zwei vorhandener typeball Charaktere eingetippt werden. Ein Beispiel würde der "Rang" Charakter sein, der von einem "Delta" (shift-H) und ein "Schlag von Sheffer" (shift-M) gemacht werden musste. Das war notwendig, weil die APL Codierung größer war als die 88 auf Selectric typeball erlaubten Charaktere.

Die erste APL interaktive Anmeldung und Entwicklung eines APL Arbeitsraums waren 1966 durch Larry Breed, der ein 1050 Terminal an IBM Mohansic Labs in der Nähe vom Forschungszentrum von Thomas J. Watson, dem Haus von APL, in Yorktown Höhen, New York verwendet.

IBM war für die Einführung von APL zum Marktplatz hauptsächlich verantwortlich.

APL war zuerst 1967 für IBM 1130 als APL\1130 verfügbar. Es würde in nur 8k 16-Bit-Wörter des Gedächtnisses laufen, und hat eine hingebungsvolle 1-Megabyte-Festplatte verwendet.

APL hat seine Fußstütze auf Großrechner-Time-Sharing-Systemen vom Ende der 1960er Jahre im Laufe des Anfangs der 1980er Jahre teilweise gewonnen, weil es auf Systemen der niedrigeren Spezifizierung laufen würde, die mit der Dynamischen Adressumrechnungshardware nicht ausgestattet wurden. Zusätzliche Verbesserungen in der Leistung für ausgewählte Großrechner-Systeme von IBM 370 haben den "APL eingeschlossen Helfen Mikrocode", in dem etwas Unterstützung für die APL Ausführung in den wirklichen firmware im Vergleich mit APL eingeschlossen wurde, der exklusiv ein Softwareprodukt ist. Etwas später, weil angemessen leistende Hardware schließlich verfügbar Mitte zu den späten 1980er Jahren wurde, sind viele Benutzer ihre Anwendungen auf die Personalcomputerumgebung abgewandert.

Frühe Dolmetscher von IBM APL für die Hardware von IBM 360 und IBM 370 haben ihr eigenes Mehrbenutzermanagement durchgeführt, anstatt sich auf die Gastgeber-Dienstleistungen zu verlassen, so waren sie Time-Sharing-Systeme in ihrem eigenen Recht. Zuerst eingeführt 1966, der APL\360

System war ein Mehrbenutzerdolmetscher. Die Fähigkeit, mit dem Betriebssystem für die Information und untergehenden Dolmetscher-Systemvariablen programmatisch zu kommunizieren, wurde durch spezielle privilegierte "I-Balken"-Funktionen mit sowohl monadischen als auch Verarbeitungen mit zwei Operanden getan.

1973 hat IBM APL.SV veröffentlicht, der eine Verlängerung desselben Produktes war, aber der geteilte Variablen als ein Mittel angeboten hat, auf Möglichkeiten außerhalb des APL Systems wie Betriebssystemdateien zuzugreifen. Mitte der 1970er Jahre wurde der Großrechner-Dolmetscher von IBM sogar an den Gebrauch auf dem Tischcomputer von IBM 5100 angepasst, der einen kleinen CRT und eine APL Tastatur hatte, als sich die meisten anderen kleinen Computer der Zeit nur GRUNDLEGEND geboten haben. In den 1980er Jahren hat das VSAPL Programm-Produkt weit verbreiteten Gebrauch mit CM, TSO, VSPC, MUSIC/SP und CICS Benutzern genossen.

In 1973-1974 hat Dr Patrick E. Hagerty die Durchführung der Universität Marylands APL Dolmetscher für Sperry Univac 1100 Reihe-Großrechner-Computer geleitet. Zurzeit hatte Sperry nichts. 1974 wurde Student Alan Stebbens die Aufgabe zugeteilt, eine innere Funktion durchzuführen. Und Student Bill Linton hat massive Müllkippen veranlasst vorzukommen, als er das Entwickeln APL Programme im dritt-stöckigen TTY Zimmer geübt hat, Dr Hagerty veranlassend, durch die TTY Tür zu platzen, um die Praxis zu halten, bis Dr Hagerty den APL Dolmetscher-Programmfehler bestochen hat.

Mehrere Time-Sharing-Unternehmen sind in den 1960er Jahren und 1970er Jahren aufgekommen, der APL Dienstleistungen mit modifizierten Versionen des Dolmetschers von IBM APL\360 verkauft hat. In Nordamerika waren die besser bekannten I. P. Sharp Associates, Scientific Time Sharing Corporation und The Computer Company (TCC). Mit dem Advent zuerst weniger teurer Großrechner wie IBM 4300 und später der Personalcomputer war die Time-Sharing-Industrie fast durch die Mitte der 1980er Jahre verschwunden.

Scharfer APL war von I. P. Sharp Associates, zuerst auf einer Time-Sharing-Basis in den 1960er Jahren, und später als ein Programm-Produkt verfügbar, das 1979 anfängt. Scharfer APL war eine fortgeschrittene APL Durchführung mit vielen Spracherweiterungen, wie Pakete (die Fähigkeit, einen oder mehr Gegenstände in eine einzelne Variable zu stellen), Dateisystem, hat Reihe verschachtelt, und hat Variablen geteilt.

APL Dolmetscher waren von anderem Großrechner und Minicomputer-Herstellern ebenso, namentlich Burroughs, CDC, Daten Allgemein, DEZ, Harris, Hewlett Packard, Siemens, Xerox und andere verfügbar.

Garth Foster von Syracuse Universität hat regelmäßige Sitzungen der Gemeinschaft der APL implementer am Minnowbrook Konferenzzentrum von Syracuse im ländlichen Hinterland New York gesponsert. In späteren Jahren hat Eugene McDonnell ähnliche Sitzungen am Asilomar Konferenzboden in der Nähe von Monterey, Kalifornien, und an Pajaro Dünen in der Nähe von Watsonville, Kalifornien organisiert. Die SIGAPL spezielle Interesse-Gruppe der Vereinigung, um Maschinerie Zu schätzen, setzt fort, die APL Gemeinschaft zu unterstützen.

1979 hat Iverson den Turing-Preis für seine Arbeit an APL erhalten.

APL2

Am Anfang der 1980er Jahre anfangend, hat Entwicklung von IBM APL Unter Führung Dr Jim Brown, eine neue Version der APL Sprache durchgeführt, die als seine primäre Erhöhung das Konzept der verschachtelten Reihe enthalten hat, wo eine Reihe andere Reihe, sowie neue Spracheigenschaften enthalten kann, die die Integration der verschachtelten Reihe in den Programm-Arbeitsablauf erleichtert haben. Ken Iverson, nicht mehr in der Kontrolle der Entwicklung der APL Sprache, hat IBM verlassen und hat sich I. P. Sharp Associates angeschlossen, wo einer seiner Hauptbeiträge die Evolution von Scharfem APL leitete, um mehr in Übereinstimmung mit seiner Vision zu sein.

Da andere Verkäufer beschäftigt gewesen sind, APL Dolmetscher für die neue Hardware, namentlich mit Sitz in Unix Mikrocomputer zu entwickeln, war APL2 fast immer der für neue APL Dolmetscher-Entwicklungen gewählte Standard. Sogar heute zitieren die meisten APL Verkäufer APL2 Vereinbarkeit, die sich nur 100 % als ein Verkaufspunkt für ihre Produkte nähert.

APL2 für Großrechner-Computer von IBM ist noch heute verfügbar, und war zuerst für CM und TSO 1984 verfügbar. Die APL2 Arbeitsplatz-Ausgabe (Windows, OS/2, AIX, Linux und Solaris) ist viel später am Anfang der 1990er Jahre gefolgt.

Mikrocomputer

Die erste Mikrocomputerdurchführung von APL war auf dem 8008-basierten MCM/70, dem ersten allgemeinen Zweck-Personalcomputer 1973.

Der eigene Mikrocomputer von IBM 5100 von IBM (1975) hat APL als eine von zwei eingebauten ROM-basierten interpretierten Sprachen für den Computer angeboten, der mit einer Tastatur abgeschlossen ist, und zeigen Sie, der alle speziellen auf der Sprache verwendeten Symbole unterstützt hat.

1976 haben DNA-Systeme einen APL Dolmetscher für ihren TSO Betriebssystem vorgestellt, das Time-Sharing auf IBM 1130, Digitalem Wissenschaftlichem Meta-4, Allgemeiner Automation GA 18/30 und Computerhardware CHI 21/30 geführt hat.

Der Familiencomputer von VideoBrain, veröffentlicht 1977, hatte nur eine dafür verfügbare Programmiersprache, und das war ein Dialekt von APL genannt APL/S.

Ein Kleiner APL für Intel 8080 genannt EMPL wurde 1977, und Softronics APL mit den meisten Funktionen von vollem APL veröffentlicht, weil 8080-basierte Systeme des BEDIENUNGSFELDES/M 1979 veröffentlicht wurden.

1977 hat das kanadische Unternehmen Telecompute Integrated Systems, Inc. einen geschäftsorientierten APL Dolmetscher bekannt als TIS APL für Z80-basierte Systeme befreit. Es hat den vollen Satz von Dateifunktionen für APL, plus ein voller Schirm-Eingang und Schaltung von richtigen und linken Argumenten für die meisten dyadischen Maschinenbediener durch das Einführen ~ gezeigt. Präfix zum ganzen einzelnen Charakter dyadische Funktionen solcher als - oder/.

Vorhut APL war für Z80 CP/M-based Verarbeiter gegen Ende der 1970er Jahre verfügbar. TCC hat APL.68000 am Anfang der 1980er Jahre für Motorola 68000-basierte Verarbeiter, dieses System veröffentlicht, das die Basis für das APLX Produkt von MicroAPL Limited ist. I. P. Sharp Associates hat eine Version ihres APL Dolmetschers für IBM PC und PC/370 - für IBM PC veröffentlicht, ein Emulator wurde geschrieben, der das Wiederverwenden von viel vom Großrechner-Code von IBM 370 erleichtert hat. Wohl war der am besten bekannte APL Dolmetscher für IBM Personal Computer der APL*Plus/PC von STSC.

Der Kommodore SuperPET, eingeführt 1981, hat einen APL von der Universität von Waterloo entwickelten Dolmetscher eingeschlossen.

Am Anfang der 1980er Jahre hat Analogic Corporation Die APL Maschine entwickelt, die ein Reihe-Verarbeitungscomputer war, der entworfen ist, um nur in APL programmiert zu werden. Es gab wirklich drei in einer Prozession gehende Einheiten, den Arbeitsplatz des Benutzers, IBM PC, wo in Programme eingegangen und, Motorola 6800 Verarbeiter editiert wurde, der den APL Dolmetscher und den Analogen Reihe-Verarbeiter geführt hat, der die Primitiven durchgeführt hat. Zur Zeit seiner Einführung war Die APL Maschine das schnellste APL verfügbare System wahrscheinlich. Obwohl ein technologischer Erfolg, Die APL Maschine ein Marktmisserfolg war. Die anfängliche Version hat einen einzelnen Prozess auf einmal unterstützt. Zurzeit wurde das Projekt unterbrochen, das Design war vollendet worden, um vielfachen Benutzern zu erlauben. Als beiseite war ein ungewöhnlicher Aspekt Der APL Maschine, dass die Bibliothek des Arbeitsraums solch organisiert wurde, dass eine einzelne Funktion oder Variable, die durch vielen Arbeitsraum geteilt wurde, nur einmal in der Bibliothek bestanden haben. Mehrere der Mitglieder Des APL Maschinenprojektes hatten vorher mehrere Jahre mit Burroughs ausgegeben, der APL\700 durchführt.

In diesem Stadium hat Microsoft Corporation geplant, eine Version von APL zu veröffentlichen, aber diese Pläne haben sich nie verwirklicht.

Ein Anfang 1978-Veröffentlichung von Rodnay Zaks von Sybex war Eine mikroprogrammierte APL internationale Durchführungsstandardbuchnummer 0895880059, der die ganze Übersetzungsliste für den Mikrocode für Digital Scientific Corporation Meta 4 mikroprogrammierbarer Verarbeiter ist, der APL durchführt. Dieses Thema war auch das Thema seiner Doktorarbeit.

Erweiterungen

Neue Erweiterungen auf APL schließen ein:

  • Objektorientierte Programmierung
  • Unterstützung für.NET, ActiveX, Betriebssystemmittel & Konnektivität
  • APL als eine heimische.NET Sprache mit dem Sehstudio 2008
  • Das einheitliche Entwerfen und die Manipulation von SQL Datenbanken
  • XML-ordnen Sie Umwandlungsprimitive
  • Lambda-Ausdrücke

Übersicht

Über einen sehr breiten Satz von Problem-Gebieten (Mathematik, Wissenschaft, Technik, Computerdesign, Robotertechnik, Datenvergegenwärtigung, Aktuarwissenschaft, traditioneller DP, usw.) ist APL eine äußerst starke, ausdrucksvolle und kurze Programmiersprache, die normalerweise in einer interaktiven Umgebung gesetzt ist. Es wurde unter anderem als eine Weise ursprünglich geschaffen, Computer, durch das Ausdrücken mathematischer Notation auf eine strenge Weise zu beschreiben, die durch einen Computer interpretiert werden konnte. Es ist leicht zu erfahren, aber einige APL Programme können Zeit in Anspruch nehmen, um besonders für einen Neuling zu verstehen. Wenige andere Programmiersprachen bieten die umfassende Reihe-Funktionalität von APL an.

Verschieden von traditionell strukturierten Programmiersprachen wird der Code in APL normalerweise als Ketten von monadischen oder dyadischen Funktionen und Maschinenbedienern strukturiert, die Reihe folgen. Da APL viele Sonderprimitive hat (Funktionen und Maschinenbediener, die durch ein einzelnes Symbol oder eine Kombination von einigen Symbolen angezeigt sind), hat er Funktion oder Maschinenbediener-Priorität nicht. Frühe APL Durchführungen hatten Kontrollstrukturen nicht (tun Sie oder während Schleifen, "wenn dann sonst"), aber durch das Verwenden von Reihe-Operationen war der Gebrauch von strukturierten Programmierkonstruktionen gerade nicht notwendig. Zum Beispiel kann die Jota-Funktion (der eine eindimensionale Reihe oder Vektoren, von 1 bis N nachgibt) Wiederholung für die Schleife ersetzen. Neuere Durchführungen von APL schließen allgemein umfassende Kontrollstrukturen ein, so dass Datenstruktur und Programm-Kontrollfluss klar und sauber getrennt werden können.

Die APL Umgebung wird einen Arbeitsraum genannt. In einem Arbeitsraum kann der Benutzer Programme und Daten definieren, d. h. die Datenwerte bestehen auch außerhalb der Programme, und der Benutzer kann die Daten ohne die Notwendigkeit manipulieren, ein Programm zu definieren. Zum Beispiel,

:

teilt die Vektor-Werte 4 5 6 7 zu N zu;

:

trägt 4 zu allen Werten (das Geben 8 9 10 11) bei und druckt sie (ein Rückwert, der nicht am Ende einer Behauptung zu einer Variable mit dem Anweisungspfeil zugeteilt ist, wird vom APL Dolmetscher gezeigt);

:

druckt die Summe von N, d. h. 22.

Der Benutzer kann den Arbeitsraum mit allen Werten, Programmen und Ausführungsstatus sparen.

APL ist für seinen Gebrauch von einer Reihe von non-ASCII Symbolen weithin bekannt, die eine Erweiterung des traditionellen arithmetischen und algebraischen Systems sind. Einzelne Charakter-Namen für SIMD Vektor-Funktionen zu haben, ist eine Weise, wie APL Kompaktformulierung von Algorithmen für die Datentransformation wie Computerwissenschaft des Spiels von Conway des Lebens in einer Linie des Codes (Beispiel) ermöglicht. In fast allen Versionen von APL ist es theoretisch möglich, jede berechenbare Funktion in einem Ausdruck, d. h. in einer Linie des Codes auszudrücken.

Wegen seiner kondensierten Natur und Sondercharaktere ist APL manchmal eine "Sprache des nur Schreibens" genannt worden, und das Lesen eines APL Programms kann zuerst Lust haben, ägyptische Hieroglyphen zu decodieren. Wegen der ungewöhnlichen Codierung verwenden viele Programmierer spezielle Tastaturen mit APL keytops für authoring APL Code. Obwohl es verschiedene Weisen gibt, APL-Code mit nur ASCII Charaktere in der Praxis zu schreiben, wird er fast nie getan. (Wie man denken kann, unterstützt das die These von Iverson über die Notation als ein Werkzeug des Gedankens.) Die meisten wenn nicht alle modernen Durchführungen verwenden Standardtastatur-Lay-Outs mit speziellem mappings oder geben Methode-Redakteure zum Zugang non-ASCII Charaktere ein. Historisch ist die APL Schriftart, mit der Großschrift kursive alphabetische Charaktere und aufrechte Ziffern und Symbole kennzeichnend gewesen. Die meisten Verkäufer setzen fort, die APL Codierung in einer kundenspezifischen Schriftart zu zeigen.

Verfechter von APL behaupten, dass die Beispiele des so genannten Codes des nur Schreibens fast unveränderlich Beispiele der schlechten Programmierpraxis oder Anfänger-Fehler sind, die auf jeder Sprache vorkommen können. Verfechter von APL behaupten auch, dass sie mit APL viel produktiver sind als mit herkömmlicheren Computersprachen, und dass Arbeitssoftware in viel weniger Zeit und mit weit weniger Programmierern durchgeführt werden kann als das Verwenden anderer Technologie. APL lässt eine Person härtere Probleme schneller beheben. Außerdem kompakt und knapp seiend, leiht APL sich gut zur größeren Skala-Softwareentwicklung, weil Kompliziertheit, die aus einer Vielzahl von Linien des Codes entsteht, drastisch reduziert werden kann. Viele APL-Verfechter und Praktiker sehen Programmierung auf Standardprogrammiersprachen, wie COBOL und Java, als verhältnismäßig langweilig an. APL wird häufig gefunden, wo Zeit zum Markt, solcher als mit Handelssystemen wichtig ist.

Iverson hat später die J Programmiersprache entworfen, die ASCII mit Digraphen statt spezieller Symbole verwendet.

Ausführung

Dolmetscher

Heute findet der grösste Teil der APL Sprachtätigkeit unter Windows von Microsoft Betriebssystem, mit etwas Tätigkeit unter Linux, Unix und Mac OS statt. Verhältnismäßig kleine APL Tätigkeit findet heute auf Großrechner-Computern statt.

APLNext (früher APL2000) bietet einem fortgeschrittenen APL Dolmetscher an, der unter Linux, Unix und Windows funktioniert. Es unterstützt Windows-Automation, unterstützt Anrufe zu Betriebssystem und benutzerbestimmtem DLLs, hat ein fortgeschrittenes APL Dateisystem, und vertritt das aktuelle Niveau der APL Sprachentwicklung. APL2000's Produkt ist eine fortgeschrittene Verlängerung des erfolgreichen APL*Plus/PC von STSC und APL*Plus/386 Erzeugnisses.

Dyalog APL ist ein fortgeschrittener APL Dolmetscher, der unter Linux, Unix und Windows funktioniert. Dyalog hat innovative Erweiterungen auf die APL Sprache, die orientierte Eigenschaften des neuen Gegenstands, zahlreiche Spracherhöhungen plus ein konsequentes namespace Modell einschließen, das für beide seine Schnittstelle von Microsoft Automation, sowie heimischen namespaces verwendet ist. Für die Windows-Plattform Dyalog bietet APL dichte Integration mit.NET plus die beschränkte Integration mit der Entwicklungsplattform von Microsoft Visual Studio an.

IBM bietet eine Version von IBM APL2 für IBM AIX, Linux, Sonne Solaris und Windows-Systeme an. Dieses Produkt ist eine Verlängerung von für Großrechner von IBM angebotenem APL2. IBM APL2 war wohl das einflussreichste APL System, das einen festen Durchführungsstandard für den folgenden Satz von Erweiterungen auf die Sprache zur Verfügung gestellt hat, sich auf verschachtelte Reihe konzentrierend.

NARS2000 ist eine offene Quelle APL Dolmetscher, der von Bob Smith, einem wohl bekannten APL Entwickler und implementor von STSC in den 1970er Jahren und 1980er Jahren geschrieben ist. NARS2000 enthält fortgeschrittene Eigenschaften und neuen datatypes, läuft heimisch unter Windows (32- und 64-Bit-Versionen), und läuft unter Linux und Apple Mac OS mit Wein.

MicroAPL Limited bietet APLX, einen voll gezeigten 64-Bit-Dolmetscher für Linux, Windows und Systeme des Apple Mac OS an. Die Kernsprache wird auf dem APL2 von IBM mit verschiedenen Erhöhungen nah modelliert. APLX schließt nahe Integration mit.NET, Java, Rubin und R ein.

Soliton Incorporated bietet dem SAXOFON-Dolmetscher (Scharfer APL für Unix) für Systeme von Unix und Linux an, der eine weitere Entwicklung des Scharfen APL Produktes von I. P. Sharp Associates ist. Verschieden von den meisten anderen APL Dolmetschern hatte Kenneth E. Iverson etwas Einfluss in der verschachtelten Reihe des Weges wurden in Scharfem APL und SAXOFON durchgeführt. Fast alle anderen APL Durchführungen sind dem Kurs gefolgt, der von IBM mit APL2 gesetzt ist, so unterscheiden sich einige wichtige Details in Scharfem APL von anderen Durchführungen.

Bearbeiter

APL Programme werden normalerweise interpretiert und weniger häufig kompiliert. In Wirklichkeit haben die meisten APL Bearbeiter Quelle APL in eine Sprache der niedrigeren Ebene wie C übersetzt, die maschinenspezifischen Details zum Bearbeiter der niedrigeren Ebene verlassend. Die Kompilation von APL Programmen war ein oft besprochenes Thema in Konferenzen. Obwohl einige der neueren Erhöhungen in die APL Sprache wie verschachtelte Reihe die Sprache gemacht haben, die immer schwieriger ist zu kompilieren, ist die Idee von der APL Kompilation noch unter der Entwicklung heute.

In der Vergangenheit wurde APL Kompilation als ein Mittel betrachtet, Ausführungsgeschwindigkeit zu erreichen, die mit anderen Hauptströmungssprachen besonders auf Großrechner-Computern vergleichbar ist.

Mehrere APL Bearbeiter haben einige Niveaus des Erfolgs erreicht, obwohl verhältnismäßig klein, des Entwicklungsaufwandes, der für APL im Laufe der Jahre ausgegeben ist, ist zum Vervollkommnen der Kompilation in den Maschinencode gegangen.

Wie der Fall ist, wenn man APL Programme vom APL Dolmetscher eines Verkäufers zu einem anderen bewegt, werden APL Programme unveränderlich Änderungen zu ihrem Inhalt verlangen. Abhängig vom Bearbeiter könnten variable Behauptungen erforderlich sein, bestimmte Spracheigenschaften würden entfernt oder vermieden werden müssen, oder die APL Programme würden irgendwie aufgeräumt werden müssen. Einige Eigenschaften der Sprache, wie die durchführen Funktion (ein Ausdruck-Schätzer) und das verschiedene Nachdenken und die Selbstbeobachtungsfunktionen von APL, wie die Fähigkeit, einen Text einer Funktion zurückzugeben oder eine neue Funktion aus dem Text zu verwirklichen, sind einfach nicht praktisch, um in der Maschinencodekompilation durchzuführen.

Ein kommerzieller Bearbeiter wurde gebracht, um durch STSC Mitte der 1980er Jahre als eine Erweiterung zum VSAPL Programm-Produkt von IBM einzukaufen. Verschieden von moderneren APL Bearbeitern hat dieses Produkt Maschinencode erzeugt, der nur in der Dolmetscher-Umgebung durchführen würde, war es nicht möglich, den Dolmetscher-Bestandteil zu beseitigen. Der Bearbeiter konnte viele Skalar und Vektor-Operationen kompilieren, um Code maschinell herzustellen, aber es würde sich auf die Dienstleistungen des APL Dolmetschers verlassen, einige fortgeschrittenere Funktionen durchzuführen, anstatt zu versuchen, sie zu kompilieren. Jedoch sind dramatische Beschleunigungen wirklich besonders für den schwer wiederholenden APL-Code vorgekommen.

Um dieselbe Zeit das Buch ist Ein APL Bearbeiter durch Timothy Budd im Druck erschienen. Dieses Buch hat über den Aufbau eines APL Übersetzers ausführlich berichtet, der in C geschrieben ist, der bestimmte Optimierungen wie zu den Bedürfnissen nach einer Reihe-Sprache spezifische Schleife-Fusion durchgeführt hat. Die Quellsprache war darin APL ähnlich einige Regeln der APL Sprache wurden geändert oder haben sich entspannt, um effizientere Kompilation zu erlauben. Der Übersetzer würde C-Code ausstrahlen, der dann kompiliert und gut außerhalb des APL Arbeitsraums geführt werden konnte.

Heute ist Ausführungsgeschwindigkeit weniger kritisch, und viele populäre Sprachen werden mit virtuellen Maschinen - Instruktionen durchgeführt, die an der Durchlaufzeit interpretiert werden. Der Burroughs/Unisys APLB Dolmetscher (1982) war erst, um dynamische zusätzliche Kompilation zu verwenden, um Code für eine APL-spezifische virtuelle Maschine zu erzeugen. Es hat während der Übertragung wiederkompiliert, weil Bezeichner ihre funktionellen Bedeutungen geändert haben. Zusätzlich zum Entfernen der Syntaxanalyse und etwas Fehlers, vom Hauptausführungspfad überprüfend, rationalisiert solche Kompilation auch den wiederholten Zugang und Ausgang von benutzerbestimmtem funktionellem operands. Das vermeidet die Stapel-Einstellung und das Zerlegen für Funktionsanrufe, die von den eingebauten Maschinenbedienern von APL gemacht sind, die Abnehmen und Jeder.

SPITZE, eine Forschung APL Bearbeiter, ist von der Spitze von Snake Island Research Inc verfügbar kompiliert flachen APL (eine Teilmenge von ISO N8485) in den SACK, eine funktionelle Reihe-Sprache mit der parallelen Semantik, und läuft zurzeit unter Linux. Spitze-erzeugter Code verwendet Schleife-Fusion und Reihe-Zusammenziehung, Algorithmen des speziellen Falls, die für Dolmetscher (z.B, Steigung des Versetzungsvektoren) nicht allgemein verfügbar sind, um ein Niveau der mit diesem von Fortran vergleichbaren Leistung zu erreichen.

Das APLNext System von VisualAPL ist eine Abfahrt von einem herkömmlichen APL System darin, dass VisualAPL eine wahre.NET Sprache ist, die mit anderen.NET Sprachen solcher als VB.NET und C# völlig zwischendurchführbar ist. VisualAPL ist von Natur aus Gegenstand orientiert und mit Sitz in Unicode. Während VisualAPL die meisten Eigenschaften von APL Standarddurchführungen vereinigt, erweitert die Sprache von VisualAPL normalen APL, um.NET-entgegenkommend zu sein. VisualAPL wird im normalen Microsoft Visual Studio IDE und als solcher veranstaltet, ruft in diese anderer.NET Sprachen gewissermaßen identische Kompilation an. Durch das Produzieren des Codes von Common Intermediate Language (CIL) verwertet es das Microsoft gerade rechtzeitig Bearbeiter (JIT), um 32-bit- oder 64-Bit-Hardware zu unterstützen. Wesentliche Leistungsbeschleunigungen über normalen APL sind besonders berichtet worden, wenn (das fakultative) starke Schreiben von Funktionsargumenten verwendet wird.

Ein APL zu C# Übersetzer ist vom Damm Grafische Systeme verfügbar. Dieses Produkt wurde entworfen, um den APL-Code zu erlauben, der zur Entsprechung C# übersetzt ist, völlig außerhalb der APL Umgebung zu laufen. Der Damm-Bearbeiter verlangt eine Laufzeitbibliothek von Reihe-Funktionen. Etwas Beschleunigung, manchmal dramatisch, ist sichtbar, aber geschieht wegen der dem.NET Fachwerk des Microsofts innewohnenden Optimierungen.

Eine Quelle von Verbindungen zu vorhandenen Bearbeitern ist an APL2C.

Matrixoptimierungen

APL war in der Geschwindigkeit einzigartig, mit der er komplizierte Matrixoperationen durchführen konnte. Zum Beispiel würde eine sehr große Matrixmultiplikation nur ein paar Sekunden auf einer Maschine nehmen, die viel weniger stark war als diejenigen heute. Es gab sowohl technische als auch wirtschaftliche Gründe für diesen Vorteil:

  • Kommerzielle Dolmetscher haben hoch abgestimmte geradlinige Algebra-Bibliotheksroutinen geliefert.
  • Sehr niedrig interpretierend oberirdisch wurde pro Reihe — nicht pro Element übernommen.
  • APL Ansprechzeit hat sich günstig mit den Durchlaufzeiten von frühen Optimierungsbearbeitern verglichen.
  • IBM, vorausgesetzt dass Mikrocode für APL auf mehreren Großrechnern von IBM/370 hilft.

Das viel-zitierte Papier von Phil Abrams "Eine APL Maschine" hat illustriert, wie APL wirksamen Gebrauch der faulen Einschätzung machen konnte, wo Berechnungen nicht wirklich durchgeführt würden, bis die Ergebnisse erforderlich waren und dann nur jene ausschließlich erforderlichen Berechnungen. Ein offensichtlicher (und leicht durchzuführen) faule Einschätzung ist der J-Vektor: Wenn auf ein monadisches Jota im Code gestoßen wird, wird es als eine Darstellung behalten, anstatt im Gedächtnis ausgebreitet zu werden; in zukünftigen Operationen ist ein Inhalt eines J-Vektoren das Induktionsregister der Schleife, nicht liest auswendig.

Obwohl solche Techniken von kommerziellen Dolmetschern nicht weit verwendet wurden, veranschaulichen sie den besten Überleben-Mechanismus der Sprache: nicht das Spezifizieren der Ordnung von Skalaroperationen oder des genauen Inhalts des Gedächtnisses. Wie standardisiert, 1983 durch die ANSI Arbeitsgruppe X3J10, bleibt APL hoch datenparallel. Das gibt Sprache implementers riesige Freiheit, Operationen so effizient zu planen, wie möglich. Weil Computerneuerungen wie Gedächtnis des geheimen Lagers und SIMD Ausführung gewerblich verfügbar, APL Programme geworden sind, die mit fast keiner ausgegebenen Extraanstrengung getragen sind, auf niedriger Stufe Details wiederoptimierend.

Fachsprache

APL macht eine klare Unterscheidung zwischen Funktionen und Maschinenbedienern. Funktionen nehmen Reihe (Variablen oder Konstanten oder Ausdrücke) als Argumente und Rückreihe als Ergebnisse. Maschinenbediener (ähnlich höherwertigen Funktionen) nehmen Funktionen oder Reihe als Argumente, und leiten verwandte Funktionen ab. Zum Beispiel wird die "Summe"-Funktion durch die Verwendung des "Verminderungs"-Maschinenbedieners auf die "Hinzufügungs"-Funktion abgeleitet. Die Verwendung desselben Verminderungsmaschinenbedieners zur "maximalen" Funktion (der die größeren von zwei Zahlen zurückgibt) leitet eine Funktion ab, die die größte von einer Gruppe (Vektor) von Zahlen zurückgibt. Auf der J Sprache hat Iverson die Begriffe 'Verb' & ('Adverb' oder 'Verbindung') für 'die Funktion' und 'den Maschinenbediener' eingesetzt.

APL identifiziert auch jene Eigenschaften, die in die Sprache eingebaut sind, und durch ein Symbol oder eine feste Kombination von Symbolen als Primitive vertreten sind. Die meisten Primitiven sind entweder Funktionen oder Maschinenbediener. Das Codieren APL ist größtenteils ein Prozess, nichtprimitive Funktionen und (in einigen Versionen von APL) Maschinenbediener zu schreiben. Jedoch, wie man betrachtet, sind einige Primitive weder Funktionen noch Maschinenbediener, am meisten merklich Anweisung.

Syntax

Beispiele

Hallo Welt

Das zeigt "Hallo, Welt":

'Hallo, Welt'

Picken Sie 6 Zahlen auf

Dieser im Anschluss an den Ausdruck der unmittelbaren Weise erzeugt einen typischen Satz der Auswahl 6 Losnummern: Sechs pseudozufällige ganze Zahlen im Intervall von 1 bis 40, das versicherte Nichtwiederholen, und zeigen sie hat in aufsteigender Reihenfolge sortiert:

x [x6? 40]

Das verbindet die folgenden APL-Funktionen:

  • Das erste, das durchzuführen ist (führt APL vom Recht bis linken durch), ist die dyadische Funktion"?" (genannt "Geschäft" wenn dyadisch), der einen Vektoren zurückgibt, der aus einer ausgesuchten Zahl besteht (verlassen Argument: 6 in diesem Fall) zufälliger ganzer Zahlen im Intervall von 1 zu einem angegebenen Maximum (richtiges Argument: 40 in diesem Fall), den, wenn gesagtes Maximum  Vektor-Länge, versichert wird zu nichtwiederholen.
  • Dieser Vektor wird dann der Variable x zugeteilt, weil es später erforderlich ist.
  • Dieser Vektor wird dann in aufsteigender Reihenfolge durch die monadische ""-Funktion sortiert, die als sein richtiges Argument alles rechts davon bis zur folgenden unausgeglichenen Ende-Klammer oder Ende-Parenthese hat. Das Ergebnis von  ist die Indizes, die sein Argument in die aufsteigende Reihenfolge stellen werden.
  • Dann wird die Produktion von  auf die Variable x angewandt, den wir früher gespart haben, und es die Sachen von x in die steigende Folge stellt.

Da es keine Funktion links vom ersten x gibt, um APL zu erzählen, was man mit dem Ergebnis, es einfach Produktionen es zur Anzeige (auf einer einzelnen Linie tut, die durch Räume getrennt ist), ohne jede ausführliche Instruktion zu brauchen, das zu tun.

(Bemerken Sie das"?" auch hat eine monadische Entsprechung genannt "Rolle", die einfach eine einzelne zufällige ganze Zahl zwischen 1 und sein alleiniger operand [rechts davon] einschließlich zurückgibt. So könnte ein Rolle spielendes Spielprogramm den Ausdruck verwenden"? 20", um einen zwanzigseitigen zu rollen, sterben.)

Primzahlen

Der folgende Ausdruck findet alle Primzahlen von 1 bis R. In beider Zeit und Raum ist die Berechnungskompliziertheit (in der Großen O Notation).

(~RR . ×R)/r1  R

Durchgeführt vom Recht bis linken bedeutet das:

  • ιR schafft einen Vektoren, der ganze Zahlen von 1 bis R enthält (wenn R = 6 am Anfang des Programms, ιR 1 2 3 4 5 6 ist)
  • Lassen Sie das erste Element dieses Vektoren ( Funktion), d. h. 1 fallen. So ist 1 ιR 2 3 4 5 6
  • Satz R zum neuen Vektoren (, Anweisung primitiv), d. h. 2 3 4 5 6
  • Erzeugen Sie Außenprodukt von R, der mit R, d. h. einer Matrix multipliziert ist, die die Multiplikationstabelle von R durch R (°.× Funktion) ist, d. h.

::

  • Bauen Sie einen Vektoren dieselbe Länge wie R mit 1 in jedem Platz, wo die entsprechende Zahl in R in der Außenproduktmatrix (, Satz-Einschließungsfunktion), d. h. 0 0 1 0 1 ist
  • Verneinen Sie logisch die Werte im Vektoren (Änderungsnullen zu und zu Nullen) (, Ablehnungsfunktion), d. h. 1 1 0 1 0
  • Wählen Sie die Sachen in R aus, für den das entsprechende Element 1 (/Funktion), d. h. 2 3 5 ist

(Bemerken Sie, das nimmt an, dass der APL Ursprung 1 ist, d. h. Indizes fangen mit 1 an. APL kann veranlasst werden, 0 als der Ursprung zu verwenden, der für einige Berechnungen günstig ist.)

Sorte durch die Länge

Der folgende Ausdruck sortiert eine Wortliste, die in der Matrix X gemäß der Wortlänge versorgt ist:

X [X +. '';]

(Das sehr kurze) Leben von Conway

Die folgende Funktion "Leben", das in Dyalog APL geschrieben ist, nimmt eine boolean Matrix und berechnet die neue Generation gemäß dem Spiel von Conway des Lebens. Es demonstriert die Macht von APL, einen komplizierten Algorithmus in sehr wenig Code durchzuführen, aber es ist auch sehr hart zu folgen, wenn man keine fortgeschrittenen Kenntnisse von APL hat.

Leben  {1 .  3 4 = +/, ¯ 1 0 1 .  ¯ 1 0 1 .  }\

DAS HTML-Anhängsel-Abstreifen

Im folgenden Beispiel, auch Dyalog, teilt die erste Linie einen HTML-Code einer Variable "txt" zu und verwendet dann einen APL Ausdruck, um alle HTML-Anhängsel zu entfernen, den Text, nur wie gezeigt, in der letzten Linie zurückgebend.

txt  ''

 { ~ { \} '

Das ist betonter Text

Codierung

APL ist immer für seine Wahl einer einzigartigen, umgangssprachlichen Codierung kritisiert worden. Die Beobachtung, dass einige, die es gewöhnlich erfahren, feurige Anhänger werden, zeigt, dass es ein Gewicht hinter der Idee von Iverson gibt, dass die verwendete Notation wirklich einen Unterschied macht. Am Anfang gab es wenige Endgeräte, die die APL Codierung — die populärsten wieder hervorbringen konnten, die den Druckmechanismus von IBM Selectric zusammen mit einem speziellen Typ-Element APL verwenden. Mit der Zeit, mit dem universalen Gebrauch der grafischen Qualitätsanzeige, Geräte und Unterstützung von Unicode druckend, ist das APL Charakter-Schriftart-Problem größtenteils beseitigt worden; jedoch verlangt das Problem, in APL Charaktere einzugehen, den Gebrauch von Eingangsmethode-Redakteuren oder spezieller Tastatur mappings, der an andere Programmiersprachen gewöhnte Anfänger frustrieren kann.

Gebrauch

APL hat lange eine kleine und leidenschaftliche Benutzerbasis gehabt. Es war und ist noch in Finanz- und Versicherungsanwendungen, in Simulationen, und in mathematischen Anwendungen populär. APL ist in einem großen Angebot an Zusammenhängen und für viele und verschiedene Zwecke verwendet worden. Betiteltes APL gewidmetes "Zitat-Viererkabel" eines Rundschreibens ist seit den 1970er Jahren durch die SIGAPL Abteilung der Vereinigung veröffentlicht worden, um Maschinerie Zu schätzen (Ist Zitat-Viererkabel der Name des APL Charakters, der für den Texteingang und die Produktion verwendet ist).

Vor dem Advent von Systemen des vollen Schirms und noch bis die Mitte der 1980er Jahre wurden Systeme solch geschrieben, dass der Benutzer in Instruktionen in seinem eigenen spezifischen Geschäftsvokabular eingegangen ist. APL Time-Sharing-Verkäufer haben Anwendungen in dieser Form geliefert. Auf mir. Time-Sharing-System von P. Sharp, ein Arbeitsraum hat 39 MAGIE angebotenen Zugang zum finanziellen und den Luftfahrtgesellschaft-Daten plus der hoch entwickelte (für die Zeit) genannt grafisch darzustellen, und Bericht. Ein anderes Beispiel ist der GRAPHPAK mit dem APL2 von IBM gelieferte Arbeitsraum.

Wegen seiner Matrixoperationen war APL für einige Zeit für die Computergrafik-Programmierung ziemlich populär, wo grafische Transformationen als Matrixmultiplikationen verschlüsselt werden konnten. Eines der ersten kommerziellen Computergrafik-Häuser, Digitaleffekten, die in New York City gestützt sind, hat ein APL als "Visionen" bekanntes Grafikprodukt erzeugt, der verwendet wurde, um Fernsehwerbungen und, wie verlautet, Zeichentrickfilm für den 1982-Film Tron zu schaffen.

Das Interesse an APL hat sich seit der Mitte der 1980er Jahre fest geneigt. Das war teilweise wegen des Mangels an einem glatten Wanderungspfad von höheren leistenden Großrechner-Durchführungen bis preisgünstige Personalcomputeralternativen als APL Durchführungen für Computer, bevor Intel 80386 befreit gegen Ende der 1980er Jahre nur für kleine Anwendungen passend war. Das Wachstum des Endbenutzers Rechenwerkzeuge wie Microsoft Excel und in den APL potenziellen Gebrauch auch weggefressener Microsoft Access. Das sind passende Plattformen dafür, was Großrechner APL Anwendungen in den 1970er Jahren und 1980er Jahren gewesen sein kann. Einige APL Benutzer sind in die J Programmiersprache abgewandert, die fortgeschrittenere Eigenschaften anbietet. Letzt war der Niedergang auch teilweise zum Wachstum von MATLAB, GNU-Oktave und Scilab erwartet. Diese wissenschaftlichen Reihe-orientierten Rechenplattformen stellen eine interaktive APL ähnliche Rechenerfahrung zur Verfügung, aber mehr ähnelt herkömmlichen Programmiersprachen wie Fortran, und verwendet normalen ASCII.

Trotz dieses Niedergangs findet APL fortlaufenden Gebrauch in bestimmten Feldern wie Buchhaltungsforschung.

Standardisierung

APL ist von der ANSI Arbeitsgruppe X3J10 und ISO/IEC-Gelenk Technisches Komitee 1 Unterausschuss 22 Arbeitsgruppe 3 standardisiert worden. Die APL Kernsprache wird in ISO 8485:1989 angegeben, und die Verlängerte APL Sprache wird in ISO/IEC 13751:2001 angegeben.

Wörterverzeichnis

Einige in der APL Literatur verwendete Wörter haben Bedeutungen, die sich von denjenigen sowohl in der Mathematik als auch in der Allgemeinheit der Informatik unterscheiden.

Kritik

APL ist seit der Mitte der 1960er Jahre auf Großrechner-Computern verwendet worden und hat sich selbst im Schritt mit Computern und dem Rechenmarkt entwickelt. APL wird nicht weit verwendet, aber minimalistic und auf höchster Ebene durch das Design an mehreren Punkten in seiner Geschichte es könnte einen bedeutenderen Marktanteil gewonnen haben, aber hat nie getan. APL ist zuerst auf großen Großrechner-Computern und, wie C und Pascal erschienen, hat wirklich seinen Weg zum BEDIENUNGSFELD/M gefunden, und MS-DOS hat Mikrocomputer gestützt. Verschieden von C und Pascal ist APL in der Mikrocomputerarena nicht gediehen, bis die Hardware der genügend Rechenmacht allgemein verfügbar geworden ist. Vielleicht für seinen Mangel an der Hauptströmungsbitte verantwortlich seiend, haben die Eigenschaften von APL immer zu viel Kritik der Sprache geführt. Als immer können solche Beschwerden aus falschen Auffassungen entstehen, Ursprünge in der entfernten APL Geschichte haben und nicht mehr heute wichtig sein, oder sie können etwas Grad der Gültigkeit haben.

Siehe auch

  • +, ein Dialekt von APL mit umfassenden Erweiterungen
  • APL geteilte Variablen
  • IBM Type-III Library
  • IBM 1130 APL \war 1130 eine frühe Durchführung (1968) von APL auf IBM 1130
  • I. P. Sharp vereinigt
  • Preis von Iverson
  • J, auch geschaffen von Kenneth E. Iverson, dem Schöpfer von APL
  • LYaPAS
  • Soliton Incorporated, eine Verlängerung der Softwareeinheit von I. P. Sharp Associates
  • STSC, Gesellschaft hat sich geformt, um APL zu kommerzialisieren

Weiterführende Literatur

Außenverbindungen


Alan Kay / ALGOL
Impressum & Datenschutz