From: Brett Williams Date: 2004-06-19T00:23:21+09:00 Subject: Re: What is a binding for Ruby? Todd Gardner wrote: > In general, I have been trying to utilize plotting packages that have > not been written for Windows 2000. Users of this group quite often > recommend software to me and they say something like that software has > a binding for Ruby. > > I'm guessing I have used bindings for Ruby and don't even know it. > > Pardon my ignorance: > > What is a binding for Ruby? A "binding" indicates that the underlying software library (usually written in C or C++, but always compiled) has a way to access it from Ruby. As an example, mysql is a C program, but you can use it with one of several Ruby bindings. A binding just means you can access the functionality of the compiled library from Ruby. > How can I use a binding for Ruby? This is dependent on the library that the binding is for. > How can identify that something is a binding for Ruby? A more pertinent question is, does this library have a ruby binding? Sometimes the bindings are part of the base software, but most of the time the binding is something a Ruby fan wrote to interface with the library. For example, look at the Library/GUI section of the RAA: http://raa.ruby-lang.org/cat.rhtml?category_major=Library;category_minor=GUI Most of these are Ruby bindings to C or C++ GUI libraries. Someone has written C glue code to make these libraries usable in Ruby alone. Just to name a few, fxruby is a binding to the FOX GUI toolkit, and qtruby is a binding to the QT GUI toolkit. You'll find on the RAA and elsewhere many Ruby bindings to popular software libraries. > Do I need a compiler of some sort? Often this is true, unless you can find a binary distribution of the binding package that is compatible with your version of the library. Once you have built the binding correctly, you will not need a compile to write a Ruby application or library that uses the binding. HTH, Brett Williams