On 11/25/06, Smokey The Bear <smokey.thc / nospamgmail.com> wrote:
> I have been looking into the Ruby language for awhile now.....reading
> lots of information on its capabilities and whatnot. I bought the
> Programming Ruby book as well to look into it some more. What blurs the
> lines is information on Ruby and Ruby on Rails.
>
> I'm just wondering if Ruby has the capability to create PROGRAMS in the
> sense that say that I want to develop a multimedia program like a music
> player, Can Ruby build a music player that doesn't require installations
> of ruby to be on the existing system? I know pretty much all *nix
> systems have ruby installed by default, but I don't like the sound of
> developing a music player that acts like a script and requires an
> existing installation of Ruby on said system.
>
> I know it can call and access native APIs on the platforms it's
> available on but can such a program be done with Ruby? I'm really into
> multimedia and I see myself developing multimedia applications.
>
> I just don't understand the capabilities of Ruby and what should this
> tool be used for?
>

Ruby is an interpreted programming language. That means that it
requires a runtime component (the interpreter and the set of standard
libraries) at execution time. This it the same for other interpreted
languages such as Perl or Python, and not dissimilar for things like
Java or C# (they both require a virtual machine to execute).

If you want to distribute Ruby programs to users that are unlikely to
have a working Ruby installation, have a look at Ruby2Exe, which can
package up the runtime and all required libraries.

Unless you are writing in C or some other compiled language, you will
always need some sort of runtime. And even with compiled languages,
more often than not you will need to bundle a certain set of libraries
with your application, which - depending on what the application does
- can be fairly sizeable as well.

As for multimedia applications - depends on what you men by that. If
you are talking about a real-time video compositing system or live
audio effects, Ruby won't help you much.

If what you want to do is create a music player with a nice shiny UI,
and you will rely on existing OS capabilities or third-party libraries
for the numerical heavy lifting (mp3 decoding, etc.), then yes, Ruby
can do that.

Cheers,
Max