Nachdem ich http://clojure.org/rationale und andere Leistungsvergleiche zwischen Clojure und vielen Sprachen gelesen hatte , begann ich zu denken, dass ich, abgesehen von der Benutzerfreundlichkeit, nicht mehr in Python, sondern in Clojure programmieren sollte. Eigentlich fühlte ich mich unverantwortlich, weil ich Clojure nicht gelernt hatte, weil ich die Vorteile sah.
Macht das Sinn? Kann ich nicht alle Kerne mit einer zwingenderen Sprache wie Python wirklich effizient nutzen als mit einem Lisp-Dialekt oder einer anderen funktionalen Sprache? Es scheint, dass alle Vorteile aus der Verwendung unveränderlicher Daten resultieren. Kann ich nicht genau das in Python tun und alle Vorteile haben?
Ich habe einmal angefangen, Common Lisp zu lernen, fast alle Übungen aus einem Buch zu lesen und zu machen, das ich aus meiner Universitätsbibliothek ausgeliehen habe (ich fand es ziemlich gut, obwohl es bei Amazon wenig beliebt ist). Aber nach einer Weile hatte ich zu viel Mühe, einige einfache Dinge zu tun. Ich denke, es gibt Dinge, die ihrer Natur nach zwingender sind und die es schwierig machen, diese Dinge auf funktionale Weise zu modellieren.
Ist Python so leistungsfähig wie Clojure, um Anwendungen zu erstellen, die diese neue Multi-Core-Zukunft nutzen?
Beachten Sie, dass ich nicht denke, dass die Verwendung von Semaphoren, Sperrmechanismen oder anderen ähnlichen Parallelitätsmechanismen eine gute Alternative zu Clojures 'automatischer' Parallelisierung darstellt.