On Sunday, February 2, 2014 3:07:27 PM UTC-8, Aaron France wrote: > > What's the benefit of hiding/abstracting the underlying platform away? > > The obvious answer to this is it limits exposure to the complexity of the underlying platform, and provides a stable platform. That's usually why people abstract platforms.
The trade-off of embracing the platform is that the complexity of using clojure is not just the complexity of clojure. It is the complexity of the jvm plus the complexity of java plus the complexity of clojure plus the complexity of the interface between clojure and java, which is intricate. Thus, you need to know that in java 6 you have to make defensive copies of substrings, but on java 7 you don't; that on some jvm you will have abstract path manipulation, on others you won't; that (map #(+ 1 %) (float-array [1 2 3])) will run but (map #(+ 1 %) (byte-array [1 2 3])) will throw an error, and so-on, in unending detail. Probably the size of this looks different if you've already internalized the complexity of the platform from previous experience. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com 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 clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.