

Ruby and Rails for Attractive .Net Developers - daviding
http://david.ing.name/2010/12/18/ruby-and-rails-for-attractive-net-developers/

======
jonpaul
I use both Ruby and C# daily. I love them both. My only complaints about Ruby
and the Ruby ecosystem are these:

1) Minor versions of Ruby are incompatible with each other. 1.9.1 to 1.9.2
requires some code changes.

2) Developers of non-popular gems often lose interest and stop maintaining
them.

3) WPF is truly a remarkable UI toolkit. I wish there was an equivalent.

What I love:

1) The Gem system makes moving your app from system to system trivial.

2) Most Ruby devs use Git/Github.

3) Ruby's expressiveness.

4) Metaprogramming.

If you use both languages, what are your opinions?

~~~
daviding
I too like both, but as you tell from the post, I use less C# recently for web
development.

With the C# ecosystem there is more stability and often better introductory
resources for learning. Most innovations will come out for .Net via Microsoft
in some form or another (either 'in-housing' an existing community project or
just plain reinvention). This 'Wise Parent' model of .Net community
stewardship is both its greatest strength and its greatest weakness.

.Net and Microsoft are now starting their own package management project
(brought in-house again) and it will be interesting to see how that works out.
Their MVC framework is very good, produced in this model, but I can't help
feeling the 'mainstream developers' that buy all those Visual Studio licenses
aren't that interested.

------
rbxbx
"I’m not sure why Ruby doesn’t have named parameters yet (See disclaimer up
top on my ignorance), but the language certainly seems alive and active, in
that perhaps the next version will?"

Matz stated during his keynote at Rubyconf 2010 that Ruby 2.0 would have
proper named parameters for methods, although in practice they will be largely
the same as they are now.

~~~
daviding
Ah, thanks for that. I thought I might have missed them, but the symbols/hash
convention is something I'm growing used too.

~~~
Andys
And hashes with symbol keys became a bit nicer in 1.9:

    
    
      Account.create(:firstname => 'Bob', :lastname => 'Smith') # old
    
      Account.create(firstname: 'Bob', lastname: 'Smith') # new

~~~
regularfry
I've got to say, that's probably my least favourite of the new syntax changes.
It adds a new, context-specific syntax for both symbols _and_ associativity,
hiding what's actually going on in the method call, to save 3 characters per
parameter. That's a fair cognitive load and backwards-compatibility problem in
exchange for a relatively minor typing and readability gain.

Maybe I'll get used to it, but it doesn't seem worth the change to me right
now.

~~~
rbxbx
After using Ruby 1.9.2 for a few months now the new/alternate hash syntax has
grown on me quite a bit, especially for keyword arguments. It typically ends
up being much more readable (unless your value is a symbol (key: :value) reads
awfully).

If you don't like it though, there's no reason to use it yet.

------
steveklabnik
The summary does a good job of summarizing:

> It is interesting in that a lot of the ‘magic’ side of Rails is actually not
> that mysterious at all, in that follows the idioms of Ruby and that whole
> stack is still vibrant, changing and moving forward. At times it seems
> chaotic, but I think that’s part of why it’s still alive and kicking. So far
> so good.

