I'm currently learning C which is also horrible but damn if it isn't efficient as hell. And I'm also learning assembler for the Intel 8085 8-bit CPU. Pretty interesting so far. I can read the state of switches, put numbers into the registers or accu, compare values or work with pointers. Can't even output text because it's from a time where computers didn't have screens, only LEDs (if not actual lightbulbs, because LEDs were expensive) and 7-segment displays. But I need to code in a Win XP virtual machine because the CPU simulation software I have to test my programes in is so old that it doesn't work in compatibility mode on Win 8, nor in WINE on Linux. Fun fact: Most N64 games were written in Assembler. 3D games like Zelda OoT or SM64 wouldn't have worked too well if written in C because the CPU wasn't powerful enough.
This was code a made a little while ago to compare the speeds, it generates the first 1000 primes. I made the code in C++ at first, I then copied and pasted it, changing only syntax so the next language could run. Again, only syntax should be different between the programs, the algorithm never changed. http://dl.penagw.in/cpp.zip Disclaimer: The only ruby like language I have ever used is LUA...
It's very important to make your fps graphs as misleading as possible, by having your FPS incrementing by 0.2 and not 1.0.
Made this picture using the Imperial City map through the Chunky rendering program. 2560x1440p with Sphax 512x.