>>3
Shut up already. My first games were developed on visual basic for applications (MS Office 97). I distributed .docs in floppies.
>>1
I asked myself the same question long ago and have decided to use the same professional tools people were using on Quake and Half-Life engines. (regret feelings)
Learned C with Allegro. Nice, but it was boring to run through segfaults and memleaks. After that, C++ seemed like a powerful and cryptic magic. After I fought some time with some quirks, the only magic is how it stays popular. C or C++ are probably ok for engines, but no good for prototyping and scripting tasks, like GUI, AI and level setup.
So, love2d (lua) or pygame (python) are recommended, but you can stay with ruby and cherry pick some libraries. SDL, OpenAL/modplug and Box2D recommended.