Welche ist die beste Programmiersprache, um das Programmieren zu lernen?
So wie Physiker und Ingenieure sich an Newton erfreuen, müssen wir uns an den Vätern der Computerwissenschaft erfreuen. Denn es stellt sich heraus, dass viele große Fragen, die über Computer gestellt werden können, bereits in den 1960er Jahren gut beantwortet wurden.
Es waren einige dieser Ideen, die in die richtige Zeit fallen. Allgemein schien es eine interessante Zeit zu sein, da viel geschah. Das Pentagon hatte einen kalten Krieg zu gewinnen; Lektionen des Manhattan-Projekts, wie Wissenschaftler mit Ingenieuren zusammenarbeiten können, waren noch nicht verloren gegangen und das große Forschungsgeld war da.
Unabhängig von ARPA hat John McCarthy damals Lisp entwickelt, eine der ältesten Programmiersprachen, die man heute noch für Künstliche Intelligenz gebraucht.
Lisp.
Meine Argumente für Lisp sind:
Lisp ist die gesamte Welt der Computertechnologie auf einer Seite zusammengefasst, wenn man so will.[1] Der gesamte primitive meta-zirkulärer Interpreter ist kaum eine Seite Code! (!!!!!)
Code und Daten sind eins. Das bedeutet, es gibt keine Grenzen für die Abstraktionsebenen, die du darauf aufbauen kannst.
Sobald du Lisp einmal verstanden hast, kannst du dir direkt bessere Programmiersprachen ausmalen und sie auch programmieren.
Es ist die ausdrucksstärkste Sprache, die mir bekannt ist. Wenn du mit den Klammern leben kannst, wirst du keine Runden mehr laufen müssen, um bedeutungsvollen Code zu schreiben.
Es gibt “fast keine” Syntax )))
Du wirst vor der Hölle der Kompatibilitätsfehler geschützt (wenn dein Programm heute auf Scheme und Common Lisp kompiliert werden kann, wird es in 20 Jahren noch laufen).
Freilich, bist du produktiver als deine Kollegen, weil du in einer stärkeren Umgebung arbeitest (vorausgesetzt man lässt dich).
User-13087342607355878329 beschreibt, wie wichtig allein das Handbuch von Lisp 1.5 sein kann. Einige weitere von meinen vorherigen Antworten zum Thema:
Wie wichtig ist die Auswahl der ersten Programmiersprache wenn man das Programmieren lernen möchte?
Welche Programmiersprache ist Deiner Meinung nach die wichtigste, die man lernen sollte?
Was hättet ihr gerne schon gewusst, als ihr mit dem Programmieren angefangen habt?
Wenn das Gesagte tatsächlich zu einem hindurchsickert, wird McCarthy zu einem Mose, der das Rote Meer für uns teilt. Du wirst diese Aktion von ihm nicht schätzen, wenn du in “Ägypten” sesshaft bleiben möchtest, aber viele von uns haben die Tyrannei satt und haben bereits das verheißene Land gesehen.
Menschen bilden gerne Religionen und so auch bei Programmiersprachen. Jeder geht auf den Kreuzzug und evangelisiert gerne. Was dich vor Ideologien und propaganda-mäßig positionierten Bildausschnitten schützt, sind mehr Bilder, mehr Perspektiven einholen. Es ist gut, dass du gefragt hast.
Aber welches LISP ist wirklich gut für Anfänger geeignet?
In der Vergangenheit wurden viele LISP-Dialekte entwickelt, die mehr oder weniger anfängerfreundlich sind. Für Menschen, die gerne Theorie lernen, bietet sich Scheme zusammen mit dem Einführungswerk Structure and Interpretation of Computer Programs an. Für Menschen, die gerne anhand von konkreten Projekten und Beispielen lernen ist Clojure besser geeignet.
Fußnoten
[1] Greenspun's tenth rule - Wikipedia