Soll ich lernen, mit Python oder SICP zu programmieren? Mir wurde gesagt, dass SICP viel schwieriger sein wird, aber dass ich auf lange Sicht ein viel besserer Programmierer sein werde.


Beste Antwort

Auf jeden Fall verwenden SICP, wenn Sie der Herausforderung gewachsen sind. Sie können mit SICP statieren, wenn Sie überhaupt nichts über Programmierung wissen, da es von ersten Prinzipien ausgeht, jedoch einige Mathematik erfordert, nicht viel, aber einige. Die Autoren haben eine sehr klare Sprache für die Beschreibung von Konzepten und Ideen.

Ich habe SICP aufgegriffen, als ich bereits die Universität verlassen hatte, und fand es immer noch eine große Erleuchtung. Ich könnte sogar sagen, dass dies das Buch ist, das mich von allen Büchern, die ich lese, am meisten gelehrt hat, obwohl ich es noch nicht einmal fertiggestellt habe. Ich empfehle, Ihre SICP-Übungen beispielsweise mit der SICP-Sprache von Racket einzurichten.

Antwort

Ja, absolut, entschlossen ja.

SICP ist weder ein Buch über Computerprogrammierung noch ein Buch über Software-Engineering, OOP oder eines dieser anderen Gizmos und Doodads. Bei SICP geht es um Informatik: Den Computer als abstrakte Maschine verstehen, mit der Informationen manipuliert werden.

In Kapitel 1 werden Sie in Scheme eingeführt, eine Sprache, die von einem der Autoren erstellt wurde. Ihnen wird gezeigt, wie Der Kontrollfluss wird in einem großen Programm durch Berechnung in einer lexikalisch enthaltenen AKA-Subroutine für Umgebungen geändert und verwaltet. Das Buch führt Sie durch beide Hauptmethoden, mit denen Unterprogramme implementiert werden können, und erläutert die Mängel und den Nutzen beider.

In Kapitel 2 erfahren Sie, wie Sie Daten strukturieren und neue Bedeutungen für Rohdaten aus Vorabdaten erstellen. vorhandene Datentypen. Ihnen wird die Kraft der symbolischen Manipulation an verschiedenen Stellen wie Computeralgebrasystemen und Huffman-Codierungsbäumen gezeigt.

Kapitel drei ist das grundlegendste aller Kapitel. In Kapitel drei lernen Sie die Zuordnung und die Kraft von Mutierende Variablen. Die vorherigen Berechnungsmodelle, die in diesem Buch behandelt werden, werden jetzt radikal erweitert, um der Fähigkeit der Sprache Rechnung zu tragen, den Zustand beizubehalten und zu beeinflussen.

In Kapitel 4 werden Sie mit einem der brillantesten vertraut gemacht Ideen in der Geschichte der Informatik: das LISP-Makro und die Homoikonizität von Scheme-Programmen. Im Gegensatz zu den Substitutionsmakros von C können Sie mit LISP-Makros zur Laufzeit die Grundstruktur des abstrakten Syntaxbaums des Programms bearbeiten und neue Programmierparadigmen in LISP implementieren.

Das letzte Kapitel dauert ein völlig anderer Ansatz und behandelt den Computer als Registermaschine. Ihnen wird gezeigt, wie sich ein LISP-Compiler nicht von einem der Scheme-Programme unterscheidet, die Sie gesehen haben, und dann wird auf den Begriff der Universalität hingewiesen. Schließlich haben Sie einen echten LISP-Compiler erstellt.

Dieses Buch war erstaunlich. Es hat mein Denken von Informatik geändert, indem ich einem Computer sagte, wie man Zahlen auf dem Bildschirm druckt, und Informatik bedeutet, den Handel zu verstehen Offs verschiedener Abstraktionen und wie man sie richtig verwendet.

tl; dr Lesen Sie dieses Buch unbedingt. Wenn Sie es nicht mögen, werden Sie wahrscheinlich gewinnen. “ Ich genieße CS nicht.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.