Funny - I went exactly the other way, from PHP to Ruby to C#.
The .NET environment is amazing. Its open source community is really picking up speed lately, the framework docs are top-notch, and, most importantly: C# is a great modern language with excellent editor support - a unique combination (possibly barring F#).
Java has good editor support (IntelliJ, Netbeans) but, well, it's Java. Ruby and Python are nice, but can never get the support for maintainability and refactoring that a statically typed language can. After my Ruby years, I never want to have to guess what I can do with an object passed to some method I'm maintaining anymore. And then I didn't even mention all the framework magic circling Ruby, making it even more difficult to understand what the code you're looking at does.
The ability to type "varname." and get a list of what I can do with it is so powerful. I can use a (well designed) open source library that I just NuGet'ed in, without ever even looking at its docs. Can you write PHP without alt-tabbing to the manual all the time? Can you do it with Ruby?
I'd even choose Java over Ruby for that if I had no other option; I'm no Microsoft evangelist. I'd probably do Scala if the editor support became better (which I hope it does), but C# comes pretty damn close to what I'd want to use Scala for anyway (closures, LINQ, properties, extension methods, even currying is no problem).
The .NET environment is amazing. Its open source community is really picking up speed lately, the framework docs are top-notch, and, most importantly: C# is a great modern language with excellent editor support - a unique combination (possibly barring F#).
Java has good editor support (IntelliJ, Netbeans) but, well, it's Java. Ruby and Python are nice, but can never get the support for maintainability and refactoring that a statically typed language can. After my Ruby years, I never want to have to guess what I can do with an object passed to some method I'm maintaining anymore. And then I didn't even mention all the framework magic circling Ruby, making it even more difficult to understand what the code you're looking at does.
The ability to type "varname." and get a list of what I can do with it is so powerful. I can use a (well designed) open source library that I just NuGet'ed in, without ever even looking at its docs. Can you write PHP without alt-tabbing to the manual all the time? Can you do it with Ruby?
I'd even choose Java over Ruby for that if I had no other option; I'm no Microsoft evangelist. I'd probably do Scala if the editor support became better (which I hope it does), but C# comes pretty damn close to what I'd want to use Scala for anyway (closures, LINQ, properties, extension methods, even currying is no problem).