#Week 3 Transcript
####Whats is you Ruby?
First, what is "MRI"
To many, 'MRI' is Ruby -- it stands for "Matz's Ruby Implementation", and is the standard version of Ruby. It's written in C, and is the only version that the Ruby founder Matz works on.
When Ruby "2.0" is released, that means MRI. Sometimes, people call it "c-ruby", but it's all the same thing. ProTip: If someone is talking about Ruby, it's MRI. If it's something else, they'll let you know.
JRuby
The J in JRuby standard for Java; JRuby runs on the JVM (java virtual machine), and can interface and run any language on the JVM (like Java or Clojure). JRuby's main benefit is the JVM, which means it can take full advantage of millions of dollars of investments making the JVM run in parallel and on Windows, Unix, and Linux machines.
With JRuby, you can use more than one core on your machine (multi-threading). Right now, MRI cannot do CPU intensive multi-threading. JRuby also runs nearly all Ruby code and Gems -- the exception being any c-extensions (calling out to pure c-code), and any UNIX specific commands like Forking.
But, JRuby is making a huge resurgence, and is definitely a project to watch and take part of. With the Ruby version managers, using JRuby is the same as switching to version 1.9.3 -- very exciting times! It's also very easy to run JRuby on Heroku.
Rubinius
Rubinius started as a way to write Ruby in Ruby (since MRI is written in C). It ended up as a powerful virtual machine with fast garbage collection and multi-threaded capabilities that rival JRuby.
Rubinius announced in its version 2.0 launch that it would focus on writing fast, concurrent web applications. This focus could make Rubinius THE variety to use when creating APIs that need to be 10ms-50ms fast.
####More Reading
It is highly recommend to read all of theRuby Explained. Erik has doen a great job explaining a lot of Ruby in plain english.
My answer is here
If you would like to add a solution to one of the projects, first save it in your own repository and then just make a link to it in the appropriate project's section. Be sure to give your partner acknowledgement if you have one and they want it.
If you're unfamiliar with the Markdown (.md) syntax that's used in these files, it's really straightforward and there's a great guide for it from Daring Fireball here.
####Assignment for the week:
Complete the Advanced Building Blocks assignment. Also begin reading the Object Oriented Programming section.