I disagree. The core write-your-code experience is full of jank, to the point where I have wondered in the past whether the XS folks develop it in XS. Its smart indentation isn't smart (randomly indenting another three levels, not being smart enough to stick to the indent level I pick when I backspace to where I want it--next line, back out there again!) and occasionally the text widget will "lose" a line of text and take a few seconds to remember that it actually exists.
The Xamarin toolchain has steadily improved and its PCL support makes a lot of things a lot easier, but I can't envision a use case where I would want to do my development in their IDE. I keep a Windows machine just to have VS so I can do the 90% case there and suffer through the 10% in XS.
The line issue pops up for me in regular control for blocks and I'm using the most recent beta (which I'm uncomfortable doing but had to do to get anywhere). My indenting still gets very confused anywhere I have #if blocks.
You know I like you guys, I loved doing GSoC with Mono and I wouldn't have interviewed over there if i didn't like what you're trying to do, but these issues make it really hard recommend Xamarin. Having my IDE make me legitimately mad is a bummer.
The only thing that I'm really missing is Resharper. For other things XS is very similar to VS. Remember that the cost is $300 for each platform, so you have to spend $600.
Working without plugins support is not a option for me. We have to always try use the most productive environment and if we can't do it due licenses cost, it's time to analyze the platform.
Ah... that is a really good point. It is so easy to get blinded by being in the US.
Thank you for the clarification.
However, at those salaries, I could hire you and 2 of your friends, pay for the tools, and still come out at $100K.
I've got a tremendous amount of respect for technical talent in the rest of the world (i.e. -- most of the smart people in the world don't live in SF) but the problem I have is that I have no clue about how to find, hire, and manage really good people outside of the US. Hell, it is hard enough with a common language and culture.
I've always thought that Microsoft tools are priced accordingly to the region, I assume that it's adjusted depending on the purchasing power of the consumers?
e.g. Visual Studio costs $500 in the US, but it's at least twice that here in Australia.
Since then, F# has a full LINQ-to-SQL generator (via the Type Providers mechanism), so you don't need that part of the interop.
Also, this is more of a Visual Studio/web framework issue. The VS people chose to ignore F# with their project type specifications. And the MVC people are very C# oriented, depending on C#-compiler implementation details for many of their methods.
Frameworks like WebSharper, for example, allow you to use full F# across the stack.
On the other hand, using MVC with F# controllers is very smooth, and you can use C# on the rendering engine, as there's rarely much code at all going into the actual view part.
About the only thing I know of that you can't do with F# right now (in terms of web development) is write inline code in ASP.NET MVC Razor views. That's not too big a deal though, since you can still write the guts of the application (e.g., your controllers) in F#.
Ok, but you will lose the plugins support and will also have to change the Visual Studio Express with you want to work in another project type (web, mobile and so on).
For me, C# still lacks a bootstrap project like Rails to boost the team productivity. I always have the feeling that the ruby/python teams are more productive cause they have Rails/Django.
Isn't those called ASP.NET MVC or WebApi or Nancy or ServiceStack or ...? I think you have a lot of options - in fact you might have 1 or two too many in the .NET world.