Ein Zitat von Kenneth E. Iverson

Obwohl die mathematische Notation zweifellos Parsing-Regeln besitzt, sind diese eher locker, manchmal widersprüchlich und selten klar formuliert. [...] Die Verbreitung von Programmiersprachen zeigt nicht mehr Einheitlichkeit als die Mathematik. Dennoch bringen Programmiersprachen eine andere Perspektive mit sich. [...] Aufgrund ihrer Anwendung auf ein breites Themenspektrum, ihrer strengen Grammatik und ihrer strengen Interpretation können Programmiersprachen neue Einblicke in die mathematische Notation liefern.
Mit den Computer- und Programmiersprachen verfügt die Mathematik über neu erworbene Werkzeuge, und ihre Notation sollte im Lichte dieser überprüft werden. Der Computer kann tatsächlich als geduldiger, präziser und sachkundiger „Muttersprachler“ der mathematischen Notation eingesetzt werden.
Die von Programmiersprachen und ihrer Ausführung bereitgestellte (oder erzwungene) Präzision kann Lücken, Mehrdeutigkeiten und andere Bereiche potenzieller Verwirrung in der herkömmlichen [mathematischen] Notation identifizieren.
Die meisten Programmiersprachen sind der mathematischen Notation deutlich unterlegen und werden kaum als Denkwerkzeuge in einer Weise verwendet, die beispielsweise ein angewandter Mathematiker als bedeutsam erachten würde.
Mein Eindruck war und ist, dass viele Programmiersprachen und Tools Lösungen darstellen, die nach Problemen suchen, und ich war entschlossen, dass meine Arbeit nicht in diese Kategorie fallen sollte. Daher verfolge ich die Literatur zu Programmiersprachen und die Debatten über Programmiersprachen in erster Linie auf der Suche nach Ideen für Lösungen für Probleme, auf die meine Kollegen und ich in realen Anwendungen gestoßen sind. Andere Programmiersprachen stellen einen Berg an Ideen und Inspiration dar – dieser muss jedoch sorgfältig ausgeschöpft werden, um Featurismus und Inkonsistenzen zu vermeiden.
Die mit Programmiersprachen verbundenen Eigenschaften der Ausführbarkeit und Universalität können in einer einzigen Sprache mit den bekannten Eigenschaften der mathematischen Notation kombiniert werden, die sie zu einem so effektiven Denkwerkzeug machen.
Meine Lieblingsprogrammiersprachen sind Lisp und C. Allerdings beschäftige ich mich seit etwa 1992 hauptsächlich mit dem Aktivismus für freie Software, was bedeutet, dass ich zu beschäftigt bin, um viel zu programmieren. Um 2008 hörte ich auf, Programmierprojekte durchzuführen.
Eine Überbetonung der Effizienz führt zu einer unglücklichen Zirkularität im Design: Aus Gründen der Effizienz spiegelten frühe Programmiersprachen die Eigenschaften der frühen Computer wider, und jede Computergeneration spiegelt die Anforderungen der Programmiersprachen der vorhergehenden Generation wider.
Nun bin ich davon überzeugt, dass Python viel einfacher ist, als Schülern das Programmieren beizubringen und ihnen gleichzeitig C, C++ oder Java beizubringen, weil alle Details der Sprachen so viel schwieriger sind. Auch andere Skriptsprachen funktionieren dort nicht besonders gut.
Informatiker arbeiten bisher daran, leistungsfähige Programmiersprachen zu entwickeln, die es ermöglichen, technische Probleme der Berechnung zu lösen. Es wurden nur geringe Anstrengungen unternommen, um die Sprachen der Interaktion zu entwickeln.
Für seine bedeutenden Beiträge zur Analyse von Algorithmen und zum Design von Programmiersprachen und insbesondere für seine Beiträge zur „Kunst der Computerprogrammierung“ durch seine bekannten Bücher in einer fortlaufenden Reihe mit diesem Titel.
Das ursprüngliche Motiv für die Entwicklung von APL bestand darin, ein Werkzeug zum Schreiben und Lehren bereitzustellen. Obwohl APL hauptsächlich in der kommerziellen Programmierung genutzt wird, glaube ich weiterhin, dass sein wichtigster Einsatz noch ausgeschöpft werden muss: als einfache, präzise und ausführbare Notation für den Unterricht in einem breiten Themenspektrum.
SQL, Lisp und Haskell sind die einzigen Programmiersprachen, die ich kenne, bei denen man mehr Zeit mit Nachdenken als mit Tippen verbringt.
Mein Grundgedanke ist, dass Programmieren das leistungsfähigste Medium zur Entwicklung des anspruchsvollen und rigorosen Denkens ist, das für Mathematik, Grammatik, Physik, Statistik und alle „schwierigen“ Fächer erforderlich ist … Kurz gesagt, ich glaube mehr denn je dass Programmieren ein zentraler Bestandteil der intellektuellen Entwicklung heranwachsender Menschen sein sollte.
Dennoch betrachte ich OOP als einen Aspekt der Programmierung im Großen und Ganzen; also als einen Aspekt, der der Programmierung im Kleinen logisch folgt und fundierte Kenntnisse der prozeduralen Programmierung voraussetzt.
Programmiersprachen sind wie Freundinnen: Die Neue ist besser, weil *du* besser bist.
Pluralität der Sprachen: [...] Entscheidend ist 1. dass es viele Sprachen gibt und dass sie sich nicht nur im Wortschatz, sondern auch in der Grammatik und damit in der Denkweise unterscheiden und 2. dass alle Sprachen lernbar sind.
Diese Website verwendet Cookies, um Ihnen das bestmögliche Erlebnis zu bieten. Mehr Info...
Habe es!