# Newbie questions

**URL:** <https://www.ruby-forum.com/t/newbie-questions/125615>\
**Category:** Ruby\
**Created:** [January 10, 2008, 5:28pm UTC](https://www.ruby-forum.com/t/newbie-questions/125615 "2008-01-10T17:28:31Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![pytlik](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/779978/32.png) [@pytlik](https://www.ruby-forum.com/u/pytlik)\
**Post date:** [January 10, 2008, 5:28pm UTC](https://www.ruby-forum.com/t/newbie-questions/125615/1 "2008-01-10T17:28:31Z")

</div>

Hallo everybody. I discovered the Ruby Q. site some time ago and I’ve  
been much intrigued by the Ruby language. So I’ve begun trying to solve  
some of the old problems, and I’m very interested in learning Ruby to  
finally resume work on my many old hobby projects that lie unfinished  
since when I stopped using Pascal and then never managed to use C++ for  
anything that I didn’t _REALLY HAVE_ to do 😉

As an hobbyist programmer, I am an orphan of the good old Borland Turbo  
Pascal 7 😉 I remember well how I learnt to use it mostly from the  
online help (!) many years ago, in school. The thing I most liked about  
it was the tight integration of every part (editor, compiler, debugger)  
and the well-organized default libraries: I put “uses crt” at the  
beginning and had my console/speaker functions, “uses graph” and I had  
my graphics primitives, etc… Pretty rudimental things for today’s  
standards, yeah, but I never found something that usable anymore. And  
I’m talking about a 16-bit DOS application… ^\_\_\_^

So, I’d like to know if someone put together a well-documented  
“compilation” of basic libraries for 2D graphics, _simple_ windowing,  
audio, and inline C functions. Nothing too fancy: the easier the better,  
since I have to worry first and foremost about learning Ruby for now. I  
like to spend time writing clever algorithms (well, as clever as I  
manage to be ;), much less managing interfaces. Also, I don’t like to be  
forced to read dozens of specifications to choose a couple of libraries  
for a 300-line program: i’ll do that if and when programming becomes my  
main job 😛

I’ve googled far and wide and found many interesting projects that may  
wery well be worth a try, but I would like to know well my “base  
architecture” while I learn, and not overwhelm myself with details  
already. For the same reason I’d like to use only stable and  
well-documented libraries (eg. the “shoes” project that has been  
advertised yesterday seems very much like what I need for graphics, but  
alphas are for people who KNOW what they are doing, right?)

I’ve seen that many efforts have been done in this sense regarding  
Rails, but I’m not interested in web development (yet 😉 so they aren’t  
quite what I need. Quite the opposite, I’d like to dabble with hardware  
a bit, e.g. writing a control application for a small microcontroller  
device that needs to communicate via serial port.

Thanks in advance for any response 🙂

---

<div class="post-metadata">

**Author:** ![pytlik](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/779978/32.png) [@pytlik](https://www.ruby-forum.com/u/pytlik)\
**Post date:** [January 10, 2008, 6:02pm UTC](https://www.ruby-forum.com/t/newbie-questions/125615/2 "2008-01-10T18:02:51Z")

</div>

On Jan 10, 2008 2:28 PM, Martin B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> I’ve googled far and wide and found many interesting projects that may  
> wery well be worth a try, but I would like to know well my “base  
> architecture” while I learn, and not overwhelm myself with details  
> already. For the same reason I’d like to use only stable and  
> well-documented libraries (eg. the “shoes” project that has been  
> advertised yesterday seems very much like what I need for graphics, but  
> alphas are for people who KNOW what they are doing, right?)

I think the first library you’ll want to install is Rubygems, if you  
haven’t already :). The O. Click Installer for Windows already comes  
with it, I believe, and nearly all other libraries mentioned here can  
be obtained through it.

Well, Shoes does sound like what you need for graphics, as it’s meant  
to be simple and support a wide array of fun eye candy. The only  
problem I see with Shoes is that it’s a bit of a standalone  
application, so you have to work a little harder when trying to  
integrate other gems (Ruby libraries) with it. Not /much/ harder,  
though - I think it mostly involves installing the gem in your Shoes  
directory, rather than performing a system-wide installation. It’s  
surprisingly friendly for an alpha, and comes with lots of examples.

There are many other GUI toolkits with bindings for Ruby, but they  
tend to be a bit more complicated than Shoes :). If you’re on  
Windows, I think your best bets might be Tk and FX (Fox). Ruby comes  
with bindings for TK, and you can download a Windows version of the  
toolkit itself from ActiveState (google for their site :)). Fox can be  
used through FXRuby.

Linux also has Tk and Fox, and also has easier access to QT and GTK+.  
I know GTK has a graphical interface designer named Glade, which you  
can use to design interfaces for your Ruby programs. QT probably has  
something equivalent.

For inline C functions, RubyInline seems to be the “de facto” standard  
(I /think/ it’s for embedding C code into Ruby, but I may have gotten  
it backwards :)).

I’m not too familiar with Ruby audio libraries, but I don’t think  
there’s a single audio manipulation library for Ruby. What exactly  
would you like to do with audio? I’m sure other people here can name  
some cool gems for that.
