This is an introductory post and the index for a series of posts called ‘Ruby for C# Developers’. In this series I try to explain Ruby in a friendly language for C# developers starting with basic Ruby language constructs. Over time I will build on that foundation and blog on more advanced features. I hope you find this interesting.

If you know neither C# nor Ruby, then you may not get the best out of this series; but if you know either of the languages you should be able to pick the other language through these posts. That being said, I will put a lot more focus on Ruby for C# developers than the other way around (otherwise the posts could get long and boring for both groups). Maybe one day I will do a C# for Ruby devs too.

I don’t consider myself an expert or even an advanced Ruby programmer - I am just a journeyman trying to improve my Ruby skills. So if you think something I say is not right or could be done more easily and/or better, then please leave me a comment and correct me. It would be much appreciated.

Working Environment

For this series you won’t need much of a working environment. All you need is Ruby. You may follow these instructions to install it on your operating system. I will be using Ruby V1.9 for this series and to be able to follow along it may be a good idea for you to install the same version. To double check your Ruby version you can type ruby --version in your command prompt. I have Ruby 1.9.3 installed as you can see below:

Checking Ruby Version

To make sure it’s all setup and working type irb (which stands for interactive ruby) in your terminal. If you get a ruby prompt, you are all set.

Interactive Ruby

This is basically what we are going to use as our working environment. Just a quick note about the command prompt: it is composed of the Ruby version and an index of the command in this session. I just fired up irb and haven’t run any commands yet and thus 001. This number is incremented on each command run.


.dump /indexbrainstorming /ruby-for-csharp-developers-index

  • Ruby for C# Developers (this post)
  • A quick tour around Ruby
  • Strings in Ruby
  • [Maybe Arrays and Hashes - ToDo]
  • [Maybe Enumerable - ToDo]
  • [Maybe methods - ToDo]
  • [Maybe lambdas - ToDo]
  • [Maybe blocks and yield - ToDo]
  • [Maybe classes - ToDo]
  • [Maybe inheritance - ToDo]
  • [Maybe modules and mixins - ToDo]
  • [Maybe reflection and alteration - ToDo]
  • [Maybe Gems vs NuGet - ToDo]
  • [Not sure yet - ToDo]

In case you’re wondering about .dump that is a windbg command to store the memory dump of the process

I need your feedback

Please leave me a comment and let me know what you think. Do you find this interesting? Is there a particular format or order that you think could make this easier to follow? I am open to suggestions and feedback - so please help me make this better for everyone.

Hope you enjoy it.