¿Todavía vale la pena aprender C #?

Sí, pero ten en cuenta que una vez que lo aprendas, te darás cuenta de que otros lenguajes carecen de tantas características inherentes a C #, y que C # no es ampliamente aceptado en todas partes, te sentirás frustrado cuando tengas que cambiar. Por ejemplo:

Async / Await: la programación reactiva está integrada en C #, sigue siendo un concepto novedoso para los desarrolladores de Java / C ++ / Objective-C / Swift. Construir un sistema completo alrededor de async / wait es mucho más ágil que, por ejemplo, en Java actualmente.

Variables implícitas: otros lenguajes JVM lo han recogido (Kotlin / Scala / Groovy) y C ++ 11, pero Java sigue siendo terco.

Genéricos, por ejemplo:

interfaz pública IMergeOperations
{
Actualización de tareas (tecla T);
Insertar tarea (tecla T);
Tarea Eliminar (tecla T);
}

donde T puede ser un modelo ORM (Entity Framework). Los protocolos rápidos no son tan robustos como C #, los javas están bien, pero solo se aplican en tiempo de compilación. Sin embargo, las plantillas de C ++ son posiblemente más poderosas.

Entity Framework: no he encontrado otro ORM tan poderoso. Aunque SQLAlchemy de Python está cerca (pero el problema con Python es la falta de bondad fuertemente tipada y compilada estáticamente).

Técnicas MVVM: sí, esto es particularmente doloroso. Una vez que se da cuenta de la belleza de crear potentes aplicaciones MVVM en XAML con modelos de vista, modelos y servicios inyectados de dependencia, tener que trabajar con Interface Builder y StoryBoard de Apple y tratar con todo su sistema de salida es un paso atrás. El xml de Google es un poco menos doloroso, pero nada superará la experiencia XAML.

LINQ: Java 8 tiene lambdas, pero las versiones anteriores de Java son dolorosas para los desarrolladores de C # bien versados. Las lambdas de C ++ 11 carecen de la naturaleza elegante de C #, así como de Python. Ruby está bien, pero LINQ se basa en la sintaxis enumerable de Ruby. Swift está ahí, pero falta Objective-C.

Principios de diseño SÓLIDOS: inyección de dependencia … verificación (los constructores para sus clases toman interfaces para una prueba de unidad fácil). Principio de segregación de interfaz … compruebe (¡rompa las interfaces enormes!). En, digamos, JavaScript, es difícil descifrar el principio de segregación de la interfaz (razón por la cual TypeScript es tan sexy). En una nota al margen, Angular 2 se está desarrollando en TypeScript por una razón, y TypeScript es extremadamente similar a C #.

Dicho esto, me he mudado a Java durante los últimos dos años, primero peleando con Java 8 durante un año antes de descubrir y enamorarme de Kotlin. El principal problema con C # ahora es que todavía está fuertemente vinculado a Windows. Lo están moviendo más para que sea una plataforma abierta de tipo Java (de código abierto, incluido Xamarin para desarrollo móvil), pero todavía hay mucho camino por recorrer.

Si, absolutamente . Una vez que lo aprenda, se dará cuenta de que es uno de los mejores idiomas y que los otros idiomas carecen de muchas características.

C # está aquí para quedarse. Microsoft adquirió recientemente Xamarin y lo hizo gratis. Ahora puede codificar en C # (que puede publicar en la tienda de Windows) y usar la capacidad de la plataforma Cross de Xamarin publica fácilmente la misma aplicación en las tiendas iOS y Android .

Esto reducirá el esfuerzo que pondrás y podrás codificar para todas las plataformas usando un solo idioma.

Aprende una vez y no necesitarás otro idioma (para el desarrollo).

Para obtener más información, visite: – Desarrollo de aplicaciones móviles y software de creación de aplicaciones

C # y Windows están allí para quedarse, lo que sucederá con los teléfonos con Windows que pueden decir, al menos en los próximos 5 años, no podrán superar a iOS o Android si todas las tarjetas se vuelven perfectas para Microsoft.

Puede usar C # para crear aplicaciones para Android e iOS con Xamarin.

La pregunta más importante es si debe lidiar con el desarrollo móvil. Se necesita un porcentaje muy pequeño de los ingresos generales del software y la competencia es feroz. Entonces, la mayoría de las personas terminan sin ganar nada; las personas que comienzan hoy y ganan más de 1000 $ al mes son bastante raras. Aunque claramente todavía hay quienes comienzan y ganan millones de dólares, pero puedes adivinar lo raro que es.

Sí, por supuesto. C # tiene una buena posición en TI. Si conoce C # .NET Framework., .NET MVC, Web Forms, todo esto será fácil para usted.
Al usar uno de estos Frameworks, puede crear sus propios sitios web, páginas web y aplicaciones web o aplicaciones de escritorio.
Además, C # es muy fácil de entender.

Si desea orientar el desarrollo de aplicaciones móviles, entonces c # está realmente de moda en este momento, ya que Microsoft adquirió xamarian y lo hizo gratuito. Puede crear aplicaciones nativas ios y andriod en c # con aproximadamente un 80% de reutilización y si usa xamarian.forms, entonces aumenta al 100%.

Demonios, sí, es uno de los mejores idiomas. puedes usar Xamarin para escribir las tres plataformas (windows, ios, andriod). y como se anunció en bulid 2016, xamarin es gratuito con la comunidad visual studio y puede escribir aplicaciones nativas, todas con C #. y también Xamarin preparó una biblioteca de clase agradable y buena. Además, obtuvo Microsoft Virtual Academy, que recibió muchos tutoriales desde nivel principiante hasta nivel avanzado.