2 min read

Why I’m switching back to .NET from Ruby

Don’t get too excited; this article probably isn’t what you are expecting. I’m not going to talk about how .NET is better than Ruby or…

Don’t get too excited; this article probably isn’t what you are expecting. I’m not going to talk about how .NET is better than Ruby or anything like that. Instead, my reasoning for switching to .NET is more personal.

In The Beginning

The first programming language I taught myself was Ruby. It wasn’t the first language I learned though, that distinction goes to SQL (specifically T-SQL). I dabbled with Python first but I found the documentation difficult to parse.. The schism between Python2 and Python3 was super annoying, and I found the documentation for Ruby to be very welcoming and friendly. I remember stumbling across _why’s Ruby guide and thinking “If this is how programmers are, this is gonna be awesome!”

The punch line for all of this was, I wasn’t working in a Ruby shop. I was working in a C# & SQL shop. And as such, my Ruby learnings took to the back burner and I became proficient in C#. Much to my chagrin.

What’s so wrong with C#?

Nothing. It’s just not how my brain works. Languages like Ruby, Python, and to a lesser extent, JavaScript flow better in my head. Languages like C# and Java are more difficult for me. Everything requires more effort, more syntax, more everything. I don’t like it.

Then why switch back?

Professional growth & development. As much as I enjoy Ruby, I gain little from coding with it (besides enjoyment, I suppose). Ruby is, more or less, a dying language. It will probably take back off when Ruby 3.0 is released but right now, its popularity is on the decline. Python has largely taken over the space where Ruby once occupied several years ago. And languages like C# are becoming more and more dynamic with every release.

I recently committed myself to the company I currently work at for the foresee able future. I had the opportunity to pivot away and focus my career on DevOps (PHP and Ruby, ironically), but I decided against it. Instead, I decided to stick with my current employer, and in return I become a Senior Software Developer with an emphasis in Cloud development.

And with that promotion, I’ve come to realize that my C# coding skills have largely decayed. I look at code I wrote even a year ago and wonder how the hell I knew what I was doing. Seriously, my brain has only so much mind space, I honestly don’t remember how to do 50% of the stuff I used to do with C#.

Wait, I thought you were a JavaScript guy?

I dabbled with NodeJS a bit but I was never nor will I ever consider myself a “JavaScript guy/gal”. I know enough to be dangerous with JavaScript and luckily the syntax is helpfully similar to C#. But I’d never call myself a “JavaScript guy”.

Bye bye Ruby?

Probably. For now, at least. Androgee, my Discord+ bot is written entirely in Ruby, but I am slowly re-writing it in C#. I have some other smaller projects in Ruby that I’ll keep around. I will likely revisit them when Ruby 3.0 is released but for now, Ruby is a part of my past.

That being said, Ruby is a really great language and lots of Configuration Management frameworks use it (Chef, Puppet, etc). If you are interested in Ruby, give it a try. I still truly enjoy coding in Ruby but I just don’t have the mind space to keep track of 2 totally different languages.

So, good bye Ruby. For now. 👋