Hello,
I've noticed that languages such as Python are becoming more and more
fashionable with the Scientific communities, along side more hard core
classics like Fortran and Java.
Do you think Ruby is missing some piece of technology to be useful in
science? Or poor libraries?
In the end what do you think that could be done to make Ruby more used
in Science?
I have a sneaky suspicion that Ruby is being much more widely used in
Science than you might guess based just on forum posts and Google searches.
I think the biggest difference between science in Python and science in Ruby
is the sharing. For example, I'm using Ruby for some evolutionary modeling
for my Ph.D. thesis. I've thought about library-izing some of the code, but
that's extra effort. In other words, it seems like Ruby is almost "too good"
in that it lets you do really rapid development of experimental code without
the need to first write entire libraries. The first step in building a
better science-ruby community is remembering to share.
In that respect, let me be the first to post a link to
http://sciruby.codeforpeople.com/, although it seems to be down (paging Dr.
Howard?). Now, there's another problem in that, as has been mentioned,
Python and Perl are technically no better than Ruby for this sort of work.
Of course, the flip side of that is that Ruby is no better than they are,
you must be kidding here
No it is me who's kidding, let me try to
explain please:
Ruby has qualities Perl and Python can only dream of, and Perl and
Python have some that elude me, I admit.
However I guess that most people on this list share the view that Ruby
just is better for most jobs.
I guess that, and you see I do take your statement very seriously that
it would be "our" job to pass this message on. Hmm maybe we need,
"What Ruby (and only Ruby) can do for you" blog :).
and they already have communities with critical mass. So, maybe what Ruby
really needs is to be *better* than Perl and Python.
I
On that topic, one idea I've been batting around in my head is extending
Ruby's prototyping capabilities and making Ruby methods first class objects.
Hmm this seems to recur today What about traits or prototypes with behavior.
Apart of potential performance (but who cares at design time) I do not
see any problem not to use methods anymore but only lambdas (Ruby1.9
that is, 1.8 seems too much pain for that IMHO). Actually I have
blogged about that quite some time ago (I am not going to link to my
blog twice a day, that would be very bad taste indeed).
Ruby-traits do that already and PPP could easily be extended that way.
However the question that remains is, are lambdas objects enough?
I mean, would we like to do things as:
l = lambda{ |y| x+=1; y *x }
l.code => '???'
l.bytecodes =>
l.insert_code_after
or simply have complete control of the bytecode in a respective way,
am I getting OT again?
This would have to either be a Ruby 2.0/2.1 goal, or a fork of Ruby proper.
However, what I imagine is that adding these two pieces would make Ruby
simply unbeatable for all classes of Object composition patterns of
programming (not just scientific programming).
Like AOP
Robert
···
On Wed, May 13, 2009 at 9:52 PM, Joshua Ballanco <jballanc@gmail.com> wrote:
On May 13, 2009, at 9:35 AM, Diego Virasoro wrote:
--
Toutes les grandes personnes ont d’abord été des enfants, mais peu
d’entre elles s’en souviennent.
All adults have been children first, but not many remember.
[Antoine de Saint-Exupéry]