I'd love to use C# or F# for development: they're in my opinion, superior languages to Java and Scala (respectively) -- although Scala has several salient and interesting points (implicits, traits) that F# doesn't.
However, I am fairly well wed to Linux/OS X, and don't see myself being productive with Windows (whenever I used Windows, the first application I'd install is Cygwin), nor (having never done Windows Systems Engineering) do I know how to find a great SRE/operations engineer for a Windows system (or how to train a great Linux SRE to be a great Windows SRE). Nor can I legally setup a small cluster of Windows Server machines in my apartment (or on Ec2) to prototype the application _before_ I officially start a company (and qualify for bizpark) without paying extra costs. Ditto for setting up a developer desktop with MS Visual Studio.
I am watching Mono seriously, but for now I'd stick to C++, Erlang/OTP, OCaml, and Java/Scala as my choices (with Python or Ruby for scripting) were I to start a new project.
Addendum:
Microsoft: if you're reading this, buy Miguel De Icaza's startup. Make Linux and OS X a first class side deployment platform. Market SQL Server (which, from what I recall is superior to it's primary competitor, which is Oracle) as a way to "upsell" customers using Mono on Linux to use Windows Server (if it makes business sense for them).
If you haven't looked at it yet, you may also like Nemerle - http://nemerle.org
You don't really need Windows to write C#, F#, etc. There are emacs modes for them if you like emacs. I'm pretty sure there's an F# module for Monodevelop available.
It doesn't help you with the OS situation at all, but Visual Studio express is free from Microsoft should you find yourself on Windows.
I know C# better than most of the other languages in my toolkit, and it's pretty great, but I don't think that Windows is very enjoyable to use when compared to an OS with unixy underpinnings. Should you decide to check out C# or F# in more depth, I'd recommend staying on the OS you prefer.
Mono is production quality today, you don't have to wait for it.
> Mono is production quality today, you don't have to wait for it.
Having looked at it myself, it just doesn't seem to the case: the only recently got support for generational garbage collection and only plan to support tail call optimization (for F#) in an upcoming release. It's still a technical risk to "bet" on Mono, much more so than on JVM or Erlang/OTP.
However, I am fairly well wed to Linux/OS X, and don't see myself being productive with Windows (whenever I used Windows, the first application I'd install is Cygwin), nor (having never done Windows Systems Engineering) do I know how to find a great SRE/operations engineer for a Windows system (or how to train a great Linux SRE to be a great Windows SRE). Nor can I legally setup a small cluster of Windows Server machines in my apartment (or on Ec2) to prototype the application _before_ I officially start a company (and qualify for bizpark) without paying extra costs. Ditto for setting up a developer desktop with MS Visual Studio.
I am watching Mono seriously, but for now I'd stick to C++, Erlang/OTP, OCaml, and Java/Scala as my choices (with Python or Ruby for scripting) were I to start a new project.
Addendum:
Microsoft: if you're reading this, buy Miguel De Icaza's startup. Make Linux and OS X a first class side deployment platform. Market SQL Server (which, from what I recall is superior to it's primary competitor, which is Oracle) as a way to "upsell" customers using Mono on Linux to use Windows Server (if it makes business sense for them).