言語の優位性について


現在、新システム開発における言語選択で悩んでおります。

Windows向けのデスクトップアプリケーションを開発予定で、  
開発環境はVisualStudio、言語の選択肢はVBまたはC#です。  
開発規模は200人月x5ヶ月程度。

いずれも.NET Frameworkを用いた開発になるため、  
機能面での差異はほぼないと考えています。

強いて挙げるならば、構文が冗長くらいしかイメージはないのですが、  
C#を選択することのメリット・デメリットがあればご教授いただきたく存じます。




他の方もコメントされていますが、メンバーの経験を優先した方がいいとは思います。とはいえ、200人月x5ヶ月とのことで、200人 or
40人となるとまとまらないかもしれませんね。

* * *

その上で、「言語の優位性について」答えてみたいと思います。

プログラミングでは一般的に[ **式**
；expression](https://ja.wikipedia.org/wiki/%E5%BC%8F_\(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0\))と[
**文**
；statement](https://ja.wikipedia.org/wiki/%E6%96%87_\(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0\))とがあります。Visual
Basicはご存知のように構文が冗長です。つまりC#言語であれば **式** でシンプルに記述できるような内容が、冗長が故に **文**
で記述する必要が出てきたりもします。  
例えば`i++`であれば式であり、他の式と組み合わせることもできますが、`i = i + 1`なら文として完結させてしまうでしょう。

またC#言語の方が開発が活発です。Visual Studio 2017とともにC# [7.0](https://docs.microsoft.com/ja-
jp/dotnet/csharp/whats-
new/csharp-7)がリリースされ、[7.1](https://docs.microsoft.com/ja-
jp/dotnet/csharp/whats-new/csharp-7-1)、[7.2](https://docs.microsoft.com/ja-
jp/dotnet/csharp/whats-new/csharp-7-2)、[7.3](https://docs.microsoft.com/ja-
jp/dotnet/csharp/whats-new/csharp-7-3)と多数の機能強化がされていますが、Visual
Basicは[15.0](https://docs.microsoft.com/ja-jp/dotnet/visual-basic/getting-
started/whats-new#visual-basic-2017)、[15.3](https://docs.microsoft.com/ja-
jp/dotnet/visual-basic/getting-started/whats-new#visual-
basic-153)、[15.5](https://docs.microsoft.com/ja-jp/dotnet/visual-
basic/getting-started/whats-new#visual-basic-155)とあるものの強化機能はさして多くありません。

クローズ済みですが[VB.NETよりもC#の方が求人が多いのはなぜ？に書いた回答](https://ja.stackoverflow.com/a/7298/4236)も参考にしていただけたらと。

