If it is really only a choice between those two, I'd go with C#/.NET for a number of reasons. The main thing for me is that it is object-oriented. To head off a possible complaint about .NET, with the mono project, you don't have to run your code on Windows. That leaves a lot of options open. We run a rather complex .NET application on CentOS using mono without any isssues. One thing to keep in mind, though, is that most newer programmers don't learn C#. You may be able to find people easily that are good with it, but they are likely to be older and more expensive. This may not actually be a downside if you are looking for experience, but I find that older .NET devs tend to be in the 1 year of experience 30 times group rather than the 30 years of actual experience group. This is solely based on my personal experience, though.