> > I will see how the initial build toward having something effective for me > compares with the ease of Python. >
Python's focus is on making things easy, not simple. Clojure's focus is on simplicity. Lisp's syntax is simple, not easy. So Clojure uses it. Macros extend the language in simple ways, but are not easy. The simple Lisp syntax makes them simple. Immutability is simple, but doesn't work as we're used too, requiring us to think in terms of reduction and recursion. This is not as easy, but a lot simpler. Shared state through managed references simplify their use, but learning about all the different reference types isn't as easy as an unmanaged pointer. Abstractions make things simpler, but understanding new abstract construct isn't easy. Clojure also values performance, python does not, delegating to C for performance use cases. Performance is not easy. Learning about each datastructures and the distinct ways in which their functions work based on their performance characteristic is not easy, but helps make things performant. Threads are not easy, parallelization and concurrency is hard. Simple abstractions exist, and Clojure leverages them such as futures, channels, stms, etc. But they help tremendously for performance. Lazy evaluation is not easy, but improves performance and saves on memory. It can also be used for building abstractions. The JVM isn't easy, not as easy as a simple interpreter for sure, but its wonderfully performant. Clojure also values practicality, which I'd say Python does too. Java interop is neither easy, nor simple, but so practically useful that Clojure welcomes it with open arms. Impure functions aren't simple, but there are time where they're practically simpler then the workarounds in the overall. Hope this helps you understand a bit better why Clojure is the way it is. On Monday, 30 October 2017 06:31:24 UTC-7, John M. Switlik wrote: > > Forgot a link. > > > https://www.quora.com/What-did-Alan-Kay-mean-by-Lisp-is-the-greatest-single-programming-language-ever-designed/answer/John-M-Switlik > > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to [email protected] Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
