# Using ruby in place of C

**URL:** <https://www.ruby-forum.com/t/using-ruby-in-place-of-c/81820>\
**Category:** Ruby\
**Created:** [January 15, 2007, 12:43pm UTC](https://www.ruby-forum.com/t/using-ruby-in-place-of-c/81820 "2007-01-15T12:43:25Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![chrisfinne](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/f1d935/32.png) [@chrisfinne](https://www.ruby-forum.com/u/chrisfinne)\
**Post date:** [January 15, 2007, 12:43pm UTC](https://www.ruby-forum.com/t/using-ruby-in-place-of-c/81820/1 "2007-01-15T12:43:25Z")

</div>

Hi all,  
This may be silly question but:

There is a program that I want to use that says:  
“there is a C interface provided so that user codes can be written in C  
or C++.”

What I want to know is if I can write these “user codes” in ruby  
instead?

Chris.

---

<div class="post-metadata">

**Author:** ![chrisfinne](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/f1d935/32.png) [@chrisfinne](https://www.ruby-forum.com/u/chrisfinne)\
**Post date:** [January 15, 2007, 4:26pm UTC](https://www.ruby-forum.com/t/using-ruby-in-place-of-c/81820/2 "2007-01-15T16:26:00Z")

</div>

What are “user codes”?

Anyway, if you can EXTEND it in C, you can use Ruby-C as well as  
easily, and afterwards use pure Ruby. Not sure if that will  
work in your case, I dont know what “user codes” are 🙂

---

<div class="post-metadata">

**Author:** ![chrisfinne](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/f1d935/32.png) [@chrisfinne](https://www.ruby-forum.com/u/chrisfinne)\
**Post date:** [January 19, 2007, 4:29pm UTC](https://www.ruby-forum.com/t/using-ruby-in-place-of-c/81820/3 "2007-01-19T16:29:54Z")

</div>

On 1/15/07, Chris F. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Hi all,  
> This may be silly question but:
> 
> There is a program that I want to use that says:  
> “there is a C interface provided so that user codes can be written in C  
> or C++.”
> 
> What I want to know is if I can write these “user codes” in ruby  
> instead?

But you will have to work at writing a Ruby extension in C that uses  
the published C interface first. If you intend to use the program from  
Ruby a lot, it will make a lot of sense to do so.

---

<div class="post-metadata">

**Author:** ![chrisfinne](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/f1d935/32.png) [@chrisfinne](https://www.ruby-forum.com/u/chrisfinne)\
**Post date:** [January 19, 2007, 4:30pm UTC](https://www.ruby-forum.com/t/using-ruby-in-place-of-c/81820/4 "2007-01-19T16:30:10Z")

</div>

On 1/15/07, Chris F. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Hi all,  
> This may be silly question but:
> 
> There is a program that I want to use that says:  
> “there is a C interface provided so that user codes can be written in C  
> or C++.”
> 
> What I want to know is if I can write these “user codes” in ruby  
> instead?

You can. There’s a program called SWIG that can “wrap” a C interface  
so that it can be called from Ruby. You would have to do that first,  
but then you could use this interface as if it were any other Ruby  
library.
