Eu sou dev C#, trabalho com Windows, mas vou dar meu relato.

Com o .Net Core, agora é possível instalar ele no Linux sim, e para IDE você pode usar o Visual Studio Code com extensões para C#. Tem um guia do próprio VsCode de como fazer o setup (https://code.visualstudio.com/docs/languages/csharp).

A questão de .Net Core no Linux funciona muito bem, os comandos podem ser todos executados pelo terminal, com a CLI do dotnet. Funciona similar a um NodeJs. A questão de usar o VsCode para C#, eu não tenho muita experiência, pois como estou no Windows faz mais sentido utilizar o Visual Studio que é muito mais completo, mas no que eu testei funciona super bem no VsCode também. É questão de costume mesmo.

Então respondendo, viável é sim. Antigamente, com .Net Framework, não era possível utilizar c# no Linux (até tinha uns esquema com o Mono, que é uma versão pra linux, mas dava muito trampo). Hoje em dia com .Net Core, ele foi pensado para ser multiplataforma. Só vai.

Entre Java e C#, não posso opinar. Usei muito pouco Java, e tenho muito mais experiência com C#, então com base na minha opnião, é C#, mas é uma opnião totalmente influenciada pelo fato de eu usar C# todo dia.