Why DARU?

23 views
Skip to first unread message

Lokesh Sharma

unread,
Oct 21, 2017, 9:06:01 PM10/21/17
to SciRuby Development
I met many great minds and got to know about other open source projects in this year mentor summit. We exchanged ideas and it was very informative.

When I told others about my organization and our goal the question they many a times asked was why implement scientific and visualization tools in Ruby. I told them what I think about why there's a need to implement these tools in Ruby. I want to know what's your opinion regarding this.

In my opinion and what I shared with them is that Ruby is a better language for scientific computation because of its functional background and very simple object model (everything is an object and every call is a method call). Eventually I told them about iterators and map, filter etc which are widely used in scientific computation and are inherent to the language. So using Ruby for scientific computation gives rise to a more strong and introduce API where one doesn't need to remember a lot of functions. (I think may be we should show this on README of Daru)

So what do you guys think? What's your opinion on Why scientific computation in Ruby?

Pjotr Prins

unread,
Oct 22, 2017, 3:00:16 AM10/22/17
to sciru...@googlegroups.com
Just because it is fun ;)

Actually the question is wrong. No one asks Why we should have
scientific computation in Python.

If you compare against Python, my arguments are that Ruby is a better
language and faster runtime. A little faster. But one uses Ruby
because one likes the language. I have to write a lot of Python code
these days and it is no joy for me when knowing I could have been
working in Ruby.

For scientific computing, in general, we are better off writing
functions in a low-level compiled language, such as Rust, C++ or D and
binding that to Ruby, Python and the like. At least where speed
matters. But that is hard work. People will argue that deployment is
difficult, but actually the latter is a solved problem (well, there is
still the JVM that needs to duplicate stuff).

For higher-level constructs (and on can think graphics here, but even
data transformations) Ruby allows for much faster coding. Quite a few
of my projects would be *hard* in C++, doable in Python, and fun in
Ruby.

RoR is an example where they experimented with a rather complex web
stack and improved *basic* architecture at *every* iteration. RoR is
an impressive piece of work. It became a blueprint for other web
stacks and even led to a new computer language (Elixir) because Ruby
was showing its limitations. But, you can only achieve that in a
flexible language with powerful language features. Some great minds
there.

SciRuby should show its strengths by combining fast low-level compiled
code with high level constructs - that makes it intuitive to do matrix
operations and produce interactive graphics. Think of it as a DSL for
scientific computing. Replace the likes of R and Matlab.

So, if we were to create a roadmap for SciRuby, what would be it?
Maybe we should focus our efforts on machine learning, graphics and
GPU computing?

Pj.

Lokesh Sharma

unread,
Oct 22, 2017, 10:23:59 AM10/22/17
to sciru...@googlegroups.com
Glad to hear your views. It provides new insights. Thank you

--
You received this message because you are subscribed to the Google Groups "SciRuby Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sciruby-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Karthikeyan A K

unread,
Oct 23, 2017, 12:17:54 AM10/23/17
to sciru...@googlegroups.com
I would be very glad if things were in Ruby, but for now to do A.I related business intelligence work, we have created a python team in my company. Would have been much happier if it was in Ruby.
--

Saumya jeet

unread,
Oct 23, 2017, 5:22:47 AM10/23/17
to SciRuby Development
I will go with Pjotr Prins. We need to create a roadmap for SciRuby and focus on providing fun and simplicity. Most of my friends and professors who use scientific computing tools prefer GUI and easy to use tools. Matlab still is used by most of them(although I find it boring).
Reply all
Reply to author
Forward
0 new messages