Согласен с
@FirstX. C# неплох также и для веб и для серверного ПО вообще.
Но хочу добавить. Серебряной пули нет. Xamarin и C# тоже не являются таковой. Действительно Xamarin позволяет легко реализовывать большой класс приложений. Но не следует думать, что Вы можете с его помощью сделать все, что угодно. В любом случае найдутся задачи, которые на Xamarin или работают существенно медленнее (GUI это, конечно, не касается) или реализуются слишком медленно по сравнению с написанием нативного кода.
Поэтому, я бы на Вашем месте уделил внимание языкам C и/или C++. Это, кстати, полезно и для Java программиста при разработке под Android и тем более для разработчика под iOS.
На мой взгляд, Xamarin из всех мультиплатформенных инструментов самый универсальный. Но все же слишком дорогой.