Diskussion:APL (Programmiersprache)

aus Wikipedia, der freien Enzyklopädie

Anwendungen ändern sich - und APL ?

Folgende Punkte gehören m.E. auch in den Artikel - aber wenn ich das einfach so reinschreibe sind ja sofort wieder die Löschnazis da weil ich es angeblich nicht belegen kann:

  • Verglichen mit den 1980er-Jahren sind Anwendungen ungleich komplexer geworden. Softwareentwickler arbeiten praktisch nur noch im Team; dabei muss Code auch für andere Teammitglieder lesbar sein.
  • Die steigende Komplexität bedingt höheren Organisationsaufwand und höhere Qualitätsanforderungen. Dadurch wird der Anteil des Codierens an der Softwareentwicklung immer geringer und die Zeitersparnis durch APL schrumpft relativ gesehen.
  • Moderne Codierwerkzeuge ersetzen teilweise die vereinfachte Syntax von APL auch bei der Erzeugung von C-Code.
  • Industrienormen zur Softwareentwicklung verlangen - zum Beispiel hinsichtlich Cybersecurity - dass Code mindestens einmal durch eine zweite Person nachvollzogen und bestätigt wird ("Code-Review"); der Zeitgewinn beim schnellen Codieren ist dann futsch; am Ende ist die Verwendung von Sprachen wie C meistens ökonomischer. (nicht signierter Beitrag von 79.194.226.103 (Diskussion) 23:44, 24. Apr. 2020 (CEST))


Überarbeitung (WIP)

Hier möchte ich einige Work-In-Progress-Kommentare ablegen:

  • "eine Reihe von Befehlen" (am Anfang) ist mir unklar. M.E. ist ein "Befehl" etwas, was man eintippt und mit "Enter" abschließt (Link Enter hier unnötig).
  • Anmerkungen bei Mächtigkeit und Lesbarkeit
  • kleinere redaktionelle Änderungen
  • mache vor Ausbau der "Programme"-Sektion erst einmal kleinere Verschönerungen. --Cami de Son Duc 19:04, 12. Mär. 2010 (CET)
Baue Kommentare zu "RUNDE" ein. --Cami de Son Duc 14:32, 15. Mär. 2010 (CET)
Fertig & von Freital nachbearbeitet. --Cami de Son Duc 18:58, 17. Mär. 2010 (CET)

Neuanfang

In der Tat benötigt dieser Artikel einiges an Aufmerksamkeit.

Zunächst einmal habe ich alle Diskussionsbeiträge gelöscht, die offensichtlich veraltet sind.

Desweiteren habe ich...

...die "Runden"-Grafik durch echten APL Code ersetzt und den Text entsprechend angepasst. Wir haben jetzt Unicode, es besteht kein Anlass mehr, APL-Code durch Grafiken anzuzeigen.

...die Anmerkung entfernt, daß Rekursion zu den besonderen Stärken von APL gehört. Das ist Unfug: Rekursion ist in APL möglich, mehr aber auch nicht. (In welcher Programmierprache sind Rekursionen nicht möglich?!) Wie in jeder interpretierten Sprache sind Rekursionen in APL langsam.

...die Links überarbeitet: Solitons Website ist nicht mehr erreichbar, die "Leichtverständliche Einführung", nun ja, ich erkläre gerne privat warum ich das entfernt habe, das APL-Journal brauchte ein Update.

...unter Büchern Bernard Legrands ausgezeichnetes Buch aufgenommen.

...John Scholes YouTube-Video "Conway's Game of Life in APL" eingefügt.

...die Referenzen zur SIGAPL (scheintot) und Quote Quad (zuletzt erschienen 2007) entfernt.

...Marketing-Bla über APL2 entfert ("Universalität" - was ist an APL2 universeller als an irgend einem anderen APL?!)

...die fehlerhafte Verwendung der Begriffe "Funktion" und "Operator" berichtigt - in APL haben diese Termini nun einmal eine spezielle, von z.B. der Mathematik abweichende Bedeutung.

... diverse kosmetische Korrekturen vorgenommen.

-- Kaithomasmax 20:37, 5. Nov. 2010 (CET)

Nochmals massiv überarbeitet; Jetzt müssen Referenzen nachgewiesen werden. Ein ander Mal...

-- Kaithomasmax 21:46, 14. Nov. 2010 (CET)
re.: "(In welcher Programmierprache sind Rekursionen nicht möglich?!)" --- in allen "alten" Sprachen (siehe Datum der Erfindung von APL): COBOL, FORTRAN, Algol, ... Die Möglichkeit der Rekursion in APL war damals sensationell!! --Cami de Son Duc (Diskussion) 10:00, 6. Aug. 2012 (CEST)
Noch was: wenn "Kaithomasmax" eine eigene Seite hätte, könnte man mit ihm diskutieren. "ich erkläre gerne privat" geht dadurch etwas ins Leere. Die Anglizismen (scale, numeric) braucht auch niemand! "Marketing-Bla über APL2 entfert ("Universalität")..." ... das bezieht sich aus "General Arrays". IMHO bringt "Kaithomasmax" etwas viel Subjektivität hier rein!--Cami de Son Duc (Diskussion) 13:23, 6. Aug. 2012 (CEST)

Zur „Lesbarkeit“:

APL verletzt die fundamentale Regel des Code-Schreibens: Nutze beschreibende Bezeichner!
Und das ist auch der Grund für die Probleme mit der Lesbarkeit.
Haskell-Entwickler haben das gleiche Problem, wenn ihnen Funktionen um die Ohren geschmissen werden, deren Signaturen nur aus Ansammlungen von einzelnen Buchstaben mit Leerzeichen dazwischen bestehen.
Was Mathematiker vielleicht aufgrund von Verblendung toll finden, aber niemand mehr toll findet, wenn es ihn ausbremst, weil er sich erst den Nutzen der Parameter ewig lang selber aus dem Code selbst zusammenreimen muss.
Mit Symbolen wird das noch schlimmer, weil man nach denen nichtmal im Netz suchen, ja sie oft nicht mal aussprechen kann.
Das ist einfach unprofessionell, und nicht nur im Team inakzeptabel, sondern wird auch wenn man alleine codet, und sich das Zeug nach Monaten nochmal anschaut, zum echten Problem. Den Code kann man wegschmeissen. Weil man es schneller neugeschrieben hat, als das alles wieder nach Sinn auseinanderzufriemeln.

Von daher bedarf der doch sehr einseitig gehaltene Abschnitt dringend einer Überarbeitung. Da ist von “Eleganz” und anscheinend leichter Lesbarkeit die Rede. Was ich ehrlich gesagt nur noch als Wahnvorstellung oder eingeschränkte Weltsicht bezeichnen kann.

88.77.188.29 02:09, 14. Jul. 2011 (CEST)

Das ist alles im Prinzip richtig und ein Kennzeichen moderner(er) Programmiersprachen. "Was Mathematiker vielleicht aufgrund von Verblendung toll finden" ist voll POV und polemisch obendrein! Hier soll aber "das APL" beschrieben werden, so wie es ursprünglich entworfen war. --Cami de Son Duc (Diskussion) 13:16, 6. Aug. 2012 (CEST)

Fragwürdiges in "Programmbeispiel zur Erläuterung der Wirkungsweise von APL"

Dort werden Statements (:if, :endif) verwendet, die zu irgendeinem aufgebohrten APL (welchem?) gehören, aber im Original nicht vorgesehen waren. Iverson kannte im ursprünglichen Design nur (schreckliche, zugegeben) GOTOs in der Form Rechtspfeil(Bedingung)/label. Das sollte bereinigt oder zumindest kommentiert werden!! --Cami de Son Duc (Diskussion) 15:46, 5. Aug. 2012 (CEST)

Dem stimme ich sofort zu, die Statements (:if, :endif) sollten wieder raus und der ursprüngliche Code wieder rein. --Freital (Diskussion) 20:04, 5. Aug. 2012 (CEST)
Es muss auch eine Menge POV und Trivia raus (z. B. "Der Versuch, eine Zeile APL zu verstehen, ohne die Sprache gelernt zu haben, kann nur scheitern.") Das gilt auch für C++ oder Chinesisch! ;-) --Cami de Son Duc (Diskussion) 19:56, 6. Aug. 2012 (CEST)
Ganz recht, der Artikel verdient eine läuternde Entschlackung. --Freital (Diskussion) 22:04, 6. Aug. 2012 (CEST)
Erste Schritte vollbracht. NB.: Als Kompetenznachweis sei (in aller Bescheidenheit) angemerkt: ich war bei IBM für 3 Jahre für interaktive Systeme in Europa (also auch APL) zuständig, kannte Ken (Iverson) und Avin (Falkoff) persönlich und habe auf div. APL-Konferenzen Vorträge gehalten. Ich versuche mit meinen Änderungen einerseits das ursprüngliche APL der Erfinder zu beschreiben, andererseits die modernen Erweiterungen nicht zu kurz kommen zu lassen. --Cami de Son Duc (Diskussion) 12:49, 10. Aug. 2012 (CEST) ==> "Freital", übernehmen Sie! <==
Exzellentes Werk, Deine Intention wurde genau und allseits verständlich realisiert, Zustimmung 100 %, DANKE. --Freital (Diskussion) 20:49, 12. Aug. 2012 (CEST)