# Ruby and .NET: Comparing Language Features and Developer Communities

DevFeed: [Ruby and .NET: Comparing Language Features and Developer Communities](<https://devfeed.tech/articles/parenthetical-thesis-on-ruby-net-or-irongem-or-whatever-the-kids-call-it-these-days-33376.md>)

Original publisher: [Read original article](<https://timkellogg.me/blog/2011/08/29/parenthetical-thesis-on-rubynet-or>)

Published: 2011-08-29T00:00:00Z

Content type: opinion

Language: en

Sources: [Tim Kellogg](<https://devfeed.tech/sources/tim-kellogg.md>)

Topics: [Ruby](<https://devfeed.tech/topics/ruby.md>), [.NET](<https://devfeed.tech/topics/net.md>), [C#](<https://devfeed.tech/topics/csharp.md>), [F#](<https://devfeed.tech/topics/fsharp.md>), [Python](<https://devfeed.tech/topics/python.md>)

Tags: [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [expression](<https://devfeed.tech/tags/expression.md>), [extension](<https://devfeed.tech/tags/extension.md>), [f-sharp](<https://devfeed.tech/tags/f-sharp.md>), [linq](<https://devfeed.tech/tags/linq.md>), [mixins](<https://devfeed.tech/tags/mixins.md>), [monkey-patching](<https://devfeed.tech/tags/monkey-patching.md>), [net](<https://devfeed.tech/tags/net.md>), [python](<https://devfeed.tech/tags/python.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [unit-tests](<https://devfeed.tech/tags/unit-tests.md>)

## AI overview

The author compares Ruby and .NET, highlighting Ruby's mixins, monkey patching, REPL, and blocks alongside C#'s type safety, LINQ, and expression trees. The author concludes that neither platform is inherently better, but prefers the Ruby community.

## Source excerpt

Since college I've always been a huge fan of dynamic languages. I was really into Python for a long time and in the past year or so I've picked up Ruby. It's well known that the open source/dynamic language world has always looked down on the .NET/Java world as some sort of inferior. While having a conversation with a colleague about ruby versus .NET I stumbled on a conclusion.Ruby has some great features like mixins, monkey patching, a REPL. I also love how blocks make closures such an accessible and natural way to program. Ruby makes easy things easy and hard things fun.On the other hand, C# is one of the most beautiful typesafe languages (although F# is gaining favor with me). Linq and expression trees provide functionality that you literally cannot reproduce in dynamic languages (it requires knowledge of types, which dynamic languages theoretically shouldn't care about). With the crazy stuff that people are doing with expression trees (building SQL statements, mapping objects, selecting properties, etc) it makes it hard to say I'd rather be doing ruby.While C# has some analogous ruby constructs (extension methods are kind of like a lesser form of monkey patching), it still suffers from some of the classical faults of static languages (there can be a lot of extra code just to deal with types and to play nicely with the compiler). At the same time, the compiler also writes tests for you (a contract states you will have these methods, yet in ruby you can't ever be completely sure they'll actually be there. Something that you'd have to write unit tests for in ruby).The conclusion I came to was that, at this point in time, there really isn't a compelling reason why ruby is better than .NET or vice versa. Except for one thing - the communities. The ruby community is nearly too much fun. In Boulder, where I live, there are several companies that host regular hackfests. There are also annual ruby conventions where people get together, socialize, and share new ideas. In