To be honest I've been using R a bit lately for my work and while I like it I don't find it at all innovative. That's not a criticism of R: the libraries it has are amazing, as well as the mindshare among people who care of statistics. But I wonder why R actually needs to exist as its own language. It seems it could be recast in Ruby for example or one of the latest functional languages. So I am kind of pleased my th…
The future of R - pessimistic thoughts by R founder Ross Ihaka
31–40 of 78 posts
Re: The future of R - pessimistic thoughts by R founder Ross Ihaka
#32R's aggregate data types are: vector, matrix, array, dataframe, and list. The semantics of these types and the relationships between them are extremely confusing. I wish I had gathered examples of this so I could be more specific, but I have basically come to the conclusion that I will never get familiar enough with them to do any better than random guessing until it works right. And I've written somewhat in-depth analyses in R.
Re: The future of R - pessimistic thoughts by R founder Ross Ihaka
#33Earlier quoted context omitted.
Or perhaps incanter with all it's lispy goodness. "Incanter is a Clojure-based, R-like platform for statistical computing and graphics." http://incanter.org/
Wouldn't get you pervasive laziness, though I don't know whether R is lazy by default or like Clojure in that you have to ask for it.
i think essentially no one using R professionally would accept Haskell or Clojure as a substitute. having spoken to a few: lisp-like syntax is "unreadable", and Haskell is too much effort.
Re: The future of R - pessimistic thoughts by R founder Ross Ihaka
#34Earlier quoted context omitted.
But I wonder why R actually needs to exist as its own language. It seems it could be recast in Ruby for example or one of the latest functional languages. Indeed - it would be a shame for them to start over from scratch and end up coming up with a brand new language, brand new syntax, brand new quirks, brand new performance problems, etc., while they could have simply searched around a bit for something that's alread…
For JVM, there is Incanter which is a statistics library written in Clojure. It is backed by Parallel Colt for the heavy number lifting. Note that I'm not trying to say that Clojure would be a scientist-friendly language :)
I've heard bad things of JVM for tightly coupled jobs on HPC (though I know there's been some improvement: e.g. a lot of work done by EPCC in Edinburgh). Does Clojure manages to offer a good parallel implementation on top of the JVM or has no work been done in this area?
Re: The future of R - pessimistic thoughts by R founder Ross Ihaka
#35It almost sounds like they want to switch to Haskell.
Or perhaps incanter with all it's lispy goodness. "Incanter is a Clojure-based, R-like platform for statistical computing and graphics." http://incanter.org/
I may be thinking wrong about all this so please correct me if it is so... Incanter runs in Clojure which runs on top of Java (JVM) ... So how can it be even usable for the heavy-lifting statistics that R routinely does?
And while we are at it, I get that LISP is cool and all (PG/HN/etc) but what is with running it in the sweltering bowels of the beast that is Java, even with a shiny name like Clojure?
What's so cool about Clojure, really?
I get that Java now speaks with a lisp thanks to Clojure, but putting LISP in JVM sounds like sticking crisp refreshing mint ice-cream into a pile of steamy elephant poo.
Re: The future of R - pessimistic thoughts by R founder Ross Ihaka
#36Earlier quoted context omitted.
Perhaps I'm wrong, but scipy and numpy seem to do a lot of what they want, and if they started there a lot more of their effort could go into porting the libraries.
Yes, but (to my shock), their speed makes even R look fast. Which I didn't think as possible. My problem was taking a matrix market formatted matrix, loading it, turning it into a sparse column vector representation, then computing norms of the columns. It was running for roughly 8 hours on 12MM columns. R of all things was running faster. I reimplemented in java and it takes < 1 second.
Not sure what that could be, though; even low-level algorithms usually run 10-100x slower than C speed if naively coded in plain Python, so a 30000x slowdown using a specialized library sounds rather odd. I assume you checked for memory leaks and swapping. Did you do any profiling?
Re: The future of R - pessimistic thoughts by R founder Ross Ihaka
#37To me the problem with R isn't performance problems, which I've never run into myself, but rather the complicated and confusing semantics of its data types. R's aggregate data types are: vector, matrix, array, dataframe, and list. The semantics of these types and the relationships between them are extremely confusing. I wish I had gathered examples of this so I could be more specific, but I have basically come to the…
list => are basically hash, or an array that can have mixed objects inside
vector, matrix, array => are all the same thing. They are what in most computer languages are called arrays, and can have only one type. The difference between those three is just the number of dimensions (vector:1, matrix:2, array:3+).
dataframe I will concede is a little more complex, and I still have some problem with it. But I basically think of it as a table, where a row represents a value (say temperature) and the column different measuremnts. So, for example:
rows=> temperature, humidity, hours of light, peak UV columns=> Day1, day2, day3, day4, ...
Hope that helps.
Re: The future of R - pessimistic thoughts by R founder Ross Ihaka
#38I would welcome a replacement for R just because the new language's name might be easier to google. I hope they don't call it Q.
BTW, that was my motivation for starting the www.r-bloggers.com website. It now has over 110 bloggers (who write about R) there. When I started and looked for them on google, all I could find was bloggers who wrote about pirates :D
Re: The future of R - pessimistic thoughts by R founder Ross Ihaka
#39To me the problem with R isn't performance problems, which I've never run into myself, but rather the complicated and confusing semantics of its data types. R's aggregate data types are: vector, matrix, array, dataframe, and list. The semantics of these types and the relationships between them are extremely confusing. I wish I had gathered examples of this so I could be more specific, but I have basically come to the…
I may be wrong but I think that: list => are basically hash, or an array that can have mixed objects inside vector, matrix, array => are all the same thing. They are what in most computer languages are called arrays, and can have only one type. The difference between those three is just the number of dimensions (vector:1, matrix:2, array:3+). dataframe I will concede is a little more complex, and I still have some pr…
Re: The future of R - pessimistic thoughts by R founder Ross Ihaka
#40> The license will need to a better job of protecting work donated to the commons than GPL2 seems to have done. I’m not willing to have any more of my work purloined by the likes of Revolution Analytics, so I’ll be looking for better protection from the license (and being a lot more careful about who I work with). Not having used R or being more than passingly familiar with it, I'm wondering if anyone could shed some…
Revolution Analytics has released some extensions that are proprietary, for instance their doSMP library that provides multicore support under Windows. They have also released several of their libraries into the "commons" -- doMC and foreach are the two that immediately come to mind. I'm sort of torn on this issue because setting aside the terms under which RA releases their libraries, what they produce comes with gr…