Ruby to C?

Okay, I'm working an a robotics project and instead of using C could I
actually write it in ruby then convert it into C code?

···

--
Posted via http://www.ruby-forum.com/.

Mohammad --- wrote:

Okay, I'm working an a robotics project and instead of using C could I
actually write it in ruby then convert it into C code?

If you mean convert automatically, no, not really. Not unless what you write
in Ruby is very generic, and you don't use any of C's distinct properties.
If that were true, converting to C would have little point.

Why do you think you need to convert to C? For speed? I have written a
number of projects in Ruby because the development time is so short, then,
after establishing the design, I converted to a faster language. But the
conversion was by no means easy.

So in essence I took advantage of the prototyping speed of Ruby, then I went
after the execution speed of another language. But I didn't seriously
expect to be able to automatically translate between languages.

Here is an example of a physics simulation program I wrote in Ruby, then
converted to C++:

http://www.arachnoid.com/ruby/gravity/index.html

···

--
Paul Lutus
http://www.arachnoid.com

I've had very good success with Dominik's ruby2c compiler:

http://rubyforge.org/projects/ruby2cext/

I use his CVS version and can get 1-5X speedups. It handles most ruby code
you throw at it and maintains the full semantics.

···

On 11/8/06, Mohammad --- <name.goes.here44@gmail.com> wrote:

Okay, I'm working an a robotics project and instead of using C could I
actually write it in ruby then convert it into C code?

--
Posted via http://www.ruby-forum.com/\.

Mohammad --- wrote:

Okay, I'm working an a robotics project and instead of using C could I
actually write it in ruby then convert it into C code?

If you mean convert automatically, no, not really. Not unless what you write
in Ruby is very generic, and you don't use any of C's distinct properties.
If that were true, converting to C would have little point.

Not quite accurate. Depending on what you're doing ruby2c might work. Given that it is a robotics program, we're generally talking fairly boring prorgamming anyhow. It might be translatable with ruby2c, possibly even without much work.

Why do you think you need to convert to C?

Presumably so he can download the program to the robot and ruby doesn't run there.

For speed? I have written a
number of projects in Ruby because the development time is so short, then,
after establishing the design, I converted to a faster language. But the
conversion was by no means easy.

There are several much easier ways to make your ruby fast. Usually keeping most everything ruby. Full ports are my absolute LAST option.

···

On Nov 9, 2006, at 2:10 AM, Paul Lutus wrote:

> Why do you think you need to convert to C?

Presumably so he can download the program to the robot and ruby
doesn't run there.

Mohammad, are you downloading the program to a hardware robot or are you
simply doing complex matrix operations for robot simulations(which can be
done in any language but certain educational institutes insist on C).

Regards,

- vihan