Frage

Ich habe gerade einen meiner Kurse begonnen, als der Unterricht erst vor 2 Wochen begonnen hat, und wir lernen gerade Schema in einem, denn ich nehme später einen Grund an, aber so weit von dem, was er unterrichtet . Während ich hier sitze, um wach zu bleiben, versuche ich nur zu verstehen, warum ich das wissen möchte und warum jemand es benutzt. Woran zeichnet es sich aus? Nächste Woche habe ich vor, ihn zu fragen: Was ist das Ziel, hier zu lernen, als nur, wie man Sachen in Schema schreibt.

War es hilfreich?

Lösung

Es ist eine funktionale Programmiersprache und wird Ihre Erfahrung gut erweitern.

Auch wenn Sie es in der realen Welt nicht verwenden, heißt das nicht, dass es keinen Wert hat. Es wird Ihnen helfen, Dinge wie Rekursion zu beherrschen und Sie zu zwingen, auf unterschiedliche Weise an Probleme zu denken, als Sie es normalerweise tun würden.

ich Wunsch Meine Schule zwang uns, eine funktionale Programmiersprache zu lernen.

Andere Tipps

Sprachen wie Lisp (und das sehr eng verwandte Schema) sollen programmieren, was Latein für Englisch ist.

Sie werden nach der Teilnahme nach einem Kurs möglicherweise nie wieder Latein pro Tag in Ihrem normalen Leben sprechen. Wenn Sie jedoch einfach eine Sprache wie Latein sind, verbessert es Ihre Fähigkeit, Englisch zu verwenden.

Gleiches gilt für Schema.

Ich sehe all diese Leute hier sagen, dass sie zwar nie wieder Schema verwenden würden, es dennoch eine lohnende Sprache war, um zu lernen, weil es eine bestimmte Denkweise zwingt. Obwohl dies wahr sein kann, würde ich hoffen, dass Sie Schema lernen würden, weil Sie es irgendwann nützlich finden und nicht einfach als Übung im Lernen.

Obwohl es nicht wie eine kompilierte Sprache leuchtend schnell ist, und es auch nicht besonders nützlich ist, Websites zu bedienen oder Text zu analysieren, habe ich festgestellt von komplexen Datenstrukturen. Um ehrlich zu sein, denke ich in Schema. Es ist die Sprache, in der ich Probleme löste. Gib nicht auf oder toleriere das Schema nicht - gib ihm eine Chance und es wird dich nicht enttäuschen.

Übrigens ist die beste IDE für Schema Drscheme, und es enthält Sprachverlängerungen, um alles zu tun, was Sie in einer anderen Sprache tun können, und wenn Sie etwas finden, können Sie nicht einfach den C ffi verwenden und es selbst schreiben.

Einige Leute sagen, dass Scheme die größte Stärke als Lehrsprache ist. Während es sehr vorteilhaft ist, funktionale Programmierung zu lernen (es ist eine völlig neue Denkweise), besteht ein weiterer Vorteil im Lernschema darin, dass es auch "rein" ist. Sicher, es kann nicht viel Dinge wie Java machen, aber das ist auch großartig daran, es ist eine Sprache, die ausschließlich aus Klammern, alphanumerischen Charakteren und einer bloßen Handvoll anderer Punkte besteht.

In meinem Intro -Kurs wird uns Java beigebracht, und ich sehe viele meiner Freunde, die mit der „öffentlichen statischen Leere Main“ zu kämpfen haben, obwohl dies nicht der Punkt des Programms ist und wie die Profis keine andere Wahl haben, als es zu "Handwellen", bis sie 'es', bis sie 'es' haben. weiter fortgeschritten. Das sehen Sie nicht im Schema.

Wenn Sie wirklich lernen möchten, welches Schema in einem Stück Kuchen, das in Sprachen wie Java wirklich schwer zu implementieren ist, tun kann, schlage ich vor, dies zu betrachten: http://mitpress.mit.edu/sicp/full-text/book/book-zh-12.html#%_sec_1.3

Dies ist wahrscheinlich das beste Buch, das auf Schema geschrieben wurde.

Ich würde vorschlagen, eine zu behalten aufgeschlossen beim Lernen. Die meiste Zeit in der Schule verstehen wir nicht vollständig, was/warum wir ein bestimmtes Fach lernen. Aber wie ich ungefähr ein Million Mal im Leben erlebt habe, stellt sich heraus, dass es sehr nützlich ist und zumindest sich dessen bewusst ist, dass es Ihnen hilft. Schema, ob Sie es glauben oder nicht, wird Sie zu einem besseren Programmierer machen.

Das Schema wurde von der NASA verwendet, um einige der Mars Rovers zu programmieren. Die Verwendung auf dem Markt ist ziemlich spezifisch, aber ich bin mir sicher, dass Ihre Lehrer Ihnen sagen, die Dinge, die Sie in Schema lernen, werden auf Programmierung im Allgemeinen übertragen.

Mein Problem war, als wir das lernen, dass wir CLISP mit dem richtigen gelernt haben. Ich konnte die beiden Straße nicht behalten, um mein Leben zu retten.

Was ich jedoch von ihnen gelernt habe, war, wie man besser C- und Java -Code schreibt. Dies liegt einfach an den unterschiedlichen Programmierstil, den ich gelernt habe. Ich habe mehr den funktionalen Stil in einige meiner Programme angepasst und es hat mir in einigen Fällen geholfen.

Ich würde nie wieder in Schema programmieren oder mich wieder lispeln, wenn ich es nicht müsste, aber ich bin froh, dass ich zumindest ein wenig in ihnen getan habe, nur um die unterschiedliche Art zu Programm zu lernen.

Versuchen Sie, nicht über Details wie die Klammern und CAR/CDR verwickelt zu werden. Das meiste, was Sie lernen, übersetzt auf die eine oder andere Weise in andere Sprachen. Machen Sie sich keine Sorgen darüber, ob Sie Schema auf den Markt bringen können oder nicht. Wahrscheinlich lernen Sie in anderen Klassen einige andere marktfähigere Sprachen. Was Sie hier lernen, ist wichtiger.

Wenn Sie Lernschema lernten, können Sie alles darüber lernen, wie Objektsysteme implementiert werden (Hinweis: In einem Objektsystem geht es nicht immer um einen Typ, der Methoden und Instanzvariablen enthält ...). Während diese Art von Wissen in 95% Ihrer täglichen Arbeit nicht hilft, werden Sie für 5% Ihrer Arbeit auf dieses Wissen angewiesen.

Darüber hinaus können Sie über völlig unterschiedliche Berechnungsstile wie Streams/faule Bewertung oder sogar logische Programmierung erfahren. Sie können auch mehr darüber erfahren, wie Computerprogramme im Allgemeinen interpretiert werden. Von den Grundlagen in der Bewertung des Programmcodes bis hin zu tiefereren Aspekten wie Ihrem eigenen Dolmetscher und Compiler). Wenn Sie diese Art von Informationen kennen, trennt ein guter Programmierer von einem großartigen Programmierer.

Schema ist nicht wirklich eine funktionale Sprache, es ist eher agnostisch als das. Vielleicht mehr ist das Schema eine hervorragende Sprache, wenn Sie mit verschiedenen Berechnungsmethoden untersuchen möchten. Beispielsweise wurde eine hoch parallele funktionale Sprache "Termite" auf dem Schema aufgebaut.

Kurz gesagt, der Punkt im Lernschema ist, dass Sie die Grundlagen der Programmierung lernen können.

Wenn Sie Hilfe bei der Programmierung im Schema angenehmer benötigen, haben Sie keine Angst zu fragen. Viele Programmierer haben sich (zum Beispiel) der Klammern aufgehängt, wenn es durchaus großartige Möglichkeiten gibt, mit Schema -Quellcode zu arbeiten, der Klammern zu etwas schätzen macht, anstatt zu hassen. Beispielsweise ist EMACs mit Paredit-Mode, eine Art von Schema-Interaktionsmodus und Highlight-Parenthesis-Modus ziemlich großartig.

Funktionelle Sprachen wie Schema haben eine hervorragende Anwendung auf Mathematik, künstliche Intelligenz, Linguistik und andere hoch theoretische Bereiche der Informatik (maschinelles Lernen, Verarbeitung natürlicher Sprache usw.). Dies ist auf die Reinheit funktionaler Programmiersprachen zurückzuführen, die keine Nebenwirkungen haben, sowie auf ihre Fähigkeit, problemlos höhere Ordnung zu navigieren. Ein starkes Wissen über funktionale Programmiersprachen ist entscheidend, um viele der Fragen zu lösen, die direkt über die Grenze der Informatik schweben. Als Bonus werden Sie mit Verfahren höherer Ordnung und Rekursion großartig.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top