From: Phil Tomson Date: 2006-07-05T05:03:39+09:00 Subject: Re: ed borasky and his second favourite programming language On 7/4/06, Matthew Smillie wrote: > On Jul 4, 2006, at 17:03, Nuralanur@aol.com wrote: > > > Thank you, Paul, for the link. > > Assuming that Ara's link to Ed Borasky's opinions also makes the > > case for R, > > I've two questions: > > > > obviously, you can like features of R very much, but what do you do > > if the code you have to write doesn't have anything to do with > > statistics? > > Presumably, if you don't just use R, you use your second-favourite > language. You're allowed to use more than one, you know. > > > What are the nice features of R that make it superior to Ruby in Ed > > Borasky's opinion - and do we agree with him ? > > I can't speak for Ed, but for me (I use it as well), it does > precisely what it needs to do, and it does it succinctly and well. > Which, not coincidentally, are the same reasons I use Ruby for the > things I use Ruby for, and the same reasons I use Prolog for the > things I use Prolog for. > > > Ruby is "more general" than R (since there are bindings for R > > available), > > and there are also bindings to other scientific programs/packages > > e.g., GSL > > (if you want to to do numerical integration or random number > > generation). > > But what does this statement mean? Simply being "more > general" (which I'll just accept for now, even though the definition > seems a little wishy-washy) doesn't get you anywhere. Being better > at particular tasks is what wins. I've never used R however I'm sure it's just great for statistics and perhaps some other mathemtaical operations. I'm all for using the right tool for the right job and all that... However, having some experience with creating DSLs for describing and simulating quantum circuits [QDL] and for RTL/behavioral level description/simulation [RHDL], Ihave the suspicion that Ruby is flexible enough such that we could create some domain specific languages with it (where the domains can be science and math). It would be cool to create several little specialized languages in Ruby so that we could have the 'best of both worlds' - good for specialized domains while also being good at solving general propgramming problems. One can imagine that we could create a specialized language using Ruby that could be every bit as useful as R for statistics, for example. Also, one can imagine that we could perhaps create something very new given Ruby's strengths right now (Rails and web programming in general): The web-enabled research paper. When I was working on my master's thesis I kept thinking that it would be great if I could not only read the reference papers, but also access their experimental data seamlessly. And perhaps not only the data , but also the programs used to generate that data. What if graphs in a web-enabled research paper were not just graphs, but you could also 'push-into' them and access the underlying data? It would make it easy to then compare data from other research in your own paper. crazy idea? Couldn't a mashup of web programming and sci-research-languages lead to a new level of collaboration? For example: my master's thesis is up on the web in a pdf. A couple of weeks ago someone doing similar research sent me some questions about it and asked for more info. What if instead of a static pdf, my thesis was a web app? The person who was sending the inquiry could have clicked on the graph in question and downloaded the data used to create the graph as well as the program used to create the data. They could have then gone on to modify the algorithm used in the program somewhat to test their theory and then 'publish' the results back to the web app (or perhaps post their own web app). Maybe it would work something like a wiki so that the research continues to grow on one site? That could certainly lead to a new level of collaboration. ...just brainstorming... Phil