Преимущества и недостатки языка
Плюсы и минусы «шарпов» проистекают из одного и того же. C# — это устоявшаяся экосистема, в которой нет детских ошибок. Язык открывает доступ к огромному объему хорошо проверенного кода и множеству библиотек. Какую бы задачу ни пытался решить разработчик, все вспомогательные утилиты окажутся под рукой — он сможет их скачать и использовать.
Microsoft осознанно двигает «шарпы» в сторону увеличения объема синтаксического сахара — возможностей, не влияющих на поведение программ, но делающих процесс использования языка куда более удобным. В итоге девелоперы сосредотачиваются на глобальных задачах (бизнес-логике конкретных файлов, классов и методов), не теряя времени на мелкую и рутинную работу.
В представленном векторе развития есть и одна важная проблема. Поскольку C# — это старый и устоявшийся язык, на нем написано много проектов с откровенно сложным легаси-кодом (без документации, тестов и сопроводительной или справочной информации). Поддерживать легаси на любой платформе — не так весело и приятно, как создавать все с нуля.