From: Phillip Gawlowski Date: 2010-12-16T19:34:59+09:00 Subject: Re: Ruby and science ? On Thu, Dec 16, 2010 at 11:19 AM, Michel Demazure wrote: > > Am I wrong ? Maybe I am too clumsy. But, after all, a programming > environment is a tool to do your job and deliver. My job is to deliver > science and I end spending my time compiling (I mean failing to compile) > libraries. If you need the proper tools Right Now, then, well, you have to pick another tool from your toolbox. > The advice I usually get is : shift to Python. A very sad perspective > indeed. > > More generally, is there a future for ruby outside its present niches ? Of course there is. However, the support (especially in the sciences) requires two abilities: A solid understanding of the problem space, and a solid understanding of programming to implement solutions that fit the problem space. IOW: scientific Ruby libraries need scientists who can write Ruby code (and/or C code to wrap binaries or to provide Ruby interfaces to tools). I'd love to do my computations for EE in Ruby however, since there's pretty much no support for the kinds of maths I need to use (linear algebra, complex numbers), I'm pretty much stuck with Maple. And I neither have the time, nor the skill, to implement this properly for other people using Ruby. Unfortunately (though, a complex number library shouldn't be too difficult to implement). Though, I wonder: > Numerical computing, statistics, whatever, cannot be coded in pure ruby > and you have to rely on specialized libraries. Why? Unless you need more accuracy than the IEEE float provides, you should be fine in Ruby, unless performance is a major issue, where you can drop down to C code, if need be (for example with Ruby Inline[0]). Or is the data parsing / presentation / plotting the issue? [0] http://www.zenspider.com/ZSS/Products/RubyInline/ -- Phillip Gawlowski Though the folk I have met, (Ah, how soon!) they forget When I've moved on to some other place, There may be one or two, When I've played and passed through, Who'll remember my song or my face.