On Tuesday, 31 March 2015 00:01:32 UTC+8, Phillip Lord wrote: > > > > > Sayth Renshaw <flebbe...@gmail.com <javascript:>> writes: > > I last learned clojure in 1.2. Just curious why Clojure hasn't > > developed as a go to for data science? > > > > It never seems to get a mention R,Python and now Julia get the > > attention. By design it would appear that Clojure would be a good fit. > > Is it a lack of libraries, ease of install, no good default > > environment (R Rstudio, IPython ) where as you would need to use emacs > > with clojure, or is there just a better default use of Clojure? > > > I would say, lack of numpy or equivalent. And nice tools to link between > Clojure and the many C/Fortran numeric libraries. Python and R do this > natively. >
core.matrix is effectively the equivalent of NumPy In some ways it is much more versatile, because it works with a general array abstraction rather than a specific concrete array format. There are core.matrix implementations (e.g. Clatrix) that link to native numerical libraries. There are also core.matrix implementations that run in pure, portable JVM code (e.g. vectorz-clj). You can also use plain old Clojure persistent vectors as a (slow but convenient) core.matrix implementation. Having all these options usable via the *same API* is a big win. core.matrix is certainly not yet as mature or fully featured as NumPy. But if it doesn't do what you need - please help improve it! PRs, bug reports and enhancement ideas all gratefully accepted. https://github.com/mikera/core.matrix There is also a Google Group here specifically dedicated to numerical topics in Clojure: https://groups.google.com/forum/#!forum/numerical-clojure > > Maybe if Clojure pulls itself away from the JVM this will change. One > big problem with both python and R for data science is that a lot of > interactive data visualisation happens on the web these days, and > neither python nor R support that so well. An ecosystem with a C hosted > clojure at the back end and Clojure script at the front end might work > well. > I agree Clojure is a great back-end for data-driven web applications. I would argue however that you don't need a "C-hosted" Clojure to get native back end performance since you can use tools like Clatrix to access BLAS etc. And aside from that, the JVM gives you a lot of big advantages on the server side (sophisticated memory management, excellent JIT compilation, concurrency, portability, library ecosystem etc.). I never quite understand the motivation of people who seem to want to reinvent all of this (probably badly) in native code. The JVM is an amazing piece of engineering, and I believe that a lot of the sucess of Clojure comes from taking advantage of this. I've personally had good experiences with Clojure on the back end and JavaScript/ClojureScript on the front end, and never once worried about performance. -- 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/d/optout.