Respuesta también disponible en Quora: ¿Por qué no usas C#?

C# es un gran language, yo lo usé en mis inicios como estudiante, de hecho aprendí varios conceptos y paradigmas en la práctica usando C# como por ejemplo: la programación orientada a objetos (OOP), uso de clases, interfaces (interfaces), clases genéricas (generics), loops, etc.

Desde entonces (varios años atrás) ya no he usado C# porque mis intereses cambiaron así como mi sistema operativo de desarrollo y producción.

Windows lo fue durante una gran parte de mi periodo de estudios, pero luego adopte GNU/Linux como mi entorno por defecto, el cual permanece hasta hoy (estación de trabajo y servidores). C# es fundamentalmente alineado a entornos Windows (.NET), aunque últimamente han liberado el núcleo de .NET portándolo también a otros entornos como GNU/Linux. Pero desconozco cuan completo es .NET core de .NET Framework.

En mi caso, no uso C# porque mi entorno de trabajo y servidor es GNU/Linux.

Lo cual no significa que no haya alternativas similares (multiplataforma) o incluso mejores que C# (dependiendo los requerimientos y tareas específicas). Algunas de las alternativas que recomendaría son Java, Rust y Go por varias razones que seria largo de explicar aquí, pero básicamente cada una puede ser usada para cumplir tareas especificas que van desde sistemas de escritorio, servicios web, IoT, microservicios, sistemas distribuidos, aprendizaje de maquina, inteligencia artificial, etc. Otro detalle es que son multiplataforma (Linux, Mac, Windows).

Puedes ver respuestas similares en Quora en la versión en inglés: Why don’t you use C#?