¿Hay algún alcance para la tecnología C # Windows en .NET en el futuro?

Hola, se está convirtiendo en la pregunta más frecuente en algunos blogs relacionados con la programación.
He visto el mismo tipo de preguntas relacionadas con C # / Dot Net que son bastante interesantes para mí, pero quedé frustrado debido a los pequeños detalles proporcionados por los escritores interesados.

[ALERTA POSTAL LARGA]
Aquí traté de poner muchos hechos que son necesarios para comprender la importancia y la credibilidad de este lenguaje, mientras considero los alcances futuros.

Todavía recuerdo mi primer vistazo a C #: Microsoft había lanzado la primera versión principal del lenguaje. Me pareció un poco JAVA. Sí, y no estaba solo.
En una vieja entrevista, el inventor de Java James Gosling lo llamó una imitación. “Es una especie de Java con fiabilidad, productividad y seguridad eliminada”, dijo.

Pero han pasado varios años, y esta “imitación” hizo su propia identidad y transmitió al mundo de la programación sobre su poder y capacidad de asumir cualquier idioma.

Consigamos un poco de historia sobre este idioma en un resumen:

  • C # 1.0 – Año 2001
    Microsoft anunció su .NET y cambió el mundo de la programación.
  • C # 2.0 – Año 2005
    Microsoft introdujo algunas nuevas características clave, que ya hicieron que este lenguaje fuera de la liga. Algunos de esos cambios son:
    Genéricos ,
    Iteradores ,
    Clases parciales ,
    Tipos anulables ,
    Las opciones de keycontainer y keyfile admiten la especificación de claves criptográficas,
    Covarianza y contravarianza en delegados, etc.
  • C # 3.0 – Año 2007
    Se introdujeron varias extensiones de lenguaje que se basan en C # 2.0 para admitir la creación y el uso de bibliotecas de clase de estilo funcional de orden superior. Las extensiones permiten la construcción de API de composición que tienen el mismo poder expresivo de los lenguajes de consulta en dominios como bases de datos relacionales y XML. La extensión incluye:
    Variables locales escritas implícitamente ,
    Métodos de extensión,
    Expresiones lambda ,
    Inicializadores de objeto ,
    Tipos anónimos ,
    Matrices tipadas implícitamente
    Consultar expresiones ,
    Árboles de expresión, etc.
  • C # 4.0 – Año 2010
    El enfoque principal de C # 4.0 era la interoperabilidad con lenguajes y marcos tipados parcial o totalmente dinámicamente, como Dynamic Language Runtime y COM. Algunas de las características introducidas:
    Soporte para covarianza y contravarianza,
    Parámetros opcionales y argumentos con nombre,
    Soporte para Dynamic y DLR,
    Soporte mejorado para interoperabilidad COM, etc.
  • C # 5.0 – Año 2012
    En C # versión 5.0, había dos características clave:
    Programación asincrónica e información de llamadas .
    Las actualizaciones parecían nubladas. Pero Async fue una nueva característica bastante grande que (tiene el potencial de) cambiar drásticamente las prácticas de codificación en un gran porcentaje de aplicaciones. Tampoco es una característica trivial para implementar.
  • C # 6.0 – Año 2015
    C # 6.0 agrega docenas de nuevas características de tamaño de byte a C #. Todo dirigido a hacer que su código sea más limpio y claro. En lugar de introducir nuevos conceptos, cada característica simplifica un patrón de codificación común y elimina las repeticiones para que la intención del código se destaque. Las siguientes son algunas de las características adicionales:
    Métodos de expresión corporal,
    Inicializador de propiedad automática,
    nombre de expresión,
    Constructor primario,
    Espera en el bloque de captura
    Filtro de excepción,
    Interpolación de cadenas, etc.
  • C # 7.0 – Año 2017
    Finalmente, llegamos a la versión 7 de C #. Esa es la versión actual al momento de escribir esta respuesta. Esto tiene algunas cosas evolutivas y geniales en la línea de C # 6.0, pero sin el compilador como servicio. Estas son algunas de las nuevas características:
    Fuera de las variables,
    Tuplas y deconstrucción,
    La coincidencia de patrones,
    Funciones locales,
    Miembros con cuerpo de expresión expandida,
    Ref locales y devoluciones etc.
    En particular, creo que Microsoft rascó algunas picaduras a largo plazo al condensar la declaración de variables para usar con la palabra clave “out” y al permitir múltiples valores de retorno a través de la tupla.
  • C # 8.0 – Año [No estoy seguro de que 2018 sea]
    C # 8.0 se lanzará en un futuro próximo. Varias características como:
    Enumerables asincrónicos,
    Implementación de interfaz predeterminada,
    Tipos de referencia anulables, etc.
    se espera que esté entre las actualizaciones.

Ahora llegando a la popularidad de este lenguaje de programación:

La compañía de calidad de software TIOBE, el índice de la Comunidad de Programación TIOBE es un indicador de la popularidad de los lenguajes de programación. El índice se actualiza cada mes. Es importante tener en cuenta que el índice TIOBE no se trata del mejor lenguaje de programación o del lenguaje en el que se han escrito la mayoría de las líneas de código .
Puede ver la definición del índice TIOBE aquí.

Fig: Índice TIOBE para agosto de 2017

Para ver la imagen detallada, a continuación se encuentran las posiciones de los 6 principales lenguajes de programación a lo largo de los años. Tenga en cuenta que estos son puestos promedio para un período de 12 meses.

Fig: Índice TIOBE para historia a muy largo plazo

Nota: Imágenes recopiladas de TIOBE .

Después de hacer un esfuerzo exitoso para realizar en la plataforma de código abierto, Microsoft hizo que las tecnologías Dot Net junto con C # fueran más populares.

La implementación de C # ha sido importante en el área de servicios web y aplicaciones del lado del servidor, mientras que Java se ha forjado un lugar en el mercado de teléfonos móviles con la plataforma Android de Google. (Estoy hablando de los tiempos de Pre-Kotlin). Hoy en día, utilizando las tecnologías de Dot Net, incluso puedes crear aplicaciones que se pueden ejecutar tanto en ANDROID como en iOS. Aquí es donde funciona el soporte de múltiples plataformas. Donde XAMARIN ayuda a llevar el 100% de la API de ANDROID a C #.
Para saber más sobre el desarrollo de XAMARIN, siga USANDO XAMARIN.

Ahora, si desea tener una visión distante sobre los entornos de desarrollo, permítame transmitirle que todo depende de qué tipo de desarrollador le gustaría ser. Estos son algunos de los idiomas populares en cada categoría:

  • Desarrollo web:
    ASP.NET con C # o VB.NET,
    PHP
    Ruby on Rails
  • Computadora:
    C,
    Java,
    C ++,
    C # o VB.NET (exclusivo de Windows),
    Objective-C (Mac exclusivo)
  • Móvil:
    Objetivo-C (iOS),
    Java (Android, Blackberry),
    Kotlin (Android),
    C # o VB.NET (Windows Phone, Android, IOS),
    Mono para C # (iOS, Android)

Es el lenguaje más popular para usar con el aclamado entorno de desarrollo integrado (IDE) Visual Studio de Microsoft. No hay nada que no puedas construir con C #. El lenguaje C # proporciona una gran potencia para programar una lógica compleja.
Debido a que C # es un lenguaje de programación maduro y robusto, encontrará cada vez más formas de usarlo, desde administrar la información en una base de datos hasta crear increíbles pantallas gráficas.
Seguramente has oído hablar de los servicios en la nube de Azure. Azure Functions es otra evolución hacia Platform as a Service (PaaS), donde se ejecutan pequeñas y discretas piezas de software en la nube. Estas pequeñas piezas de software, llamadas funciones , abordan una necesidad específica de un problema individual.
Sí, puede usar C # para implementarlos. Puede implementar WebHooks con Azure Functions con C #.

Hablando de Inteligencia Artificial.
Sí, C # se puede utilizar para desarrollar programas inteligentes.
Por ejemplo, Azure Bot Framework puede ser útil para desarrollar su bot directamente en su navegador con el editor de Azure.
Azure Bot Framework viene bajo la estrategia de “Conversación como plataforma” de Microsoft. Existen varios sistemas de control de fuente, que son compatibles con el entorno de desarrollo Dot Net. Simplemente configure la integración continua, use el IDE y seleccione el control de versiones o los sistemas de control de fuente que prefiera.

C # se puede usar para implementar Teorías de redes neuronales . Hay muchos ejemplos que puedes encontrar en Internet.

Microsoft está desarrollando un lenguaje basado en C # para abordar problemas complejos de aprendizaje automático llamado Probabilistic C # . Léalo aquí.

Entonces, C # es capaz de resolver problemas que varían de simples a complejos.
Al igual que cualquier otro idioma, tiene algunas deficiencias, pero eso no impidió que creciera enormemente durante este par de años. Su enorme biblioteca hizo posible abordar todos los problemas y otros idiomas también. C # se ejecuta en los tres grandes sistemas operativos, incluidos Windows, Mac y Linux. También es compatible con todos los IDE y editores con las herramientas de generación y refactorización de código más famosas. Desde la implementación de desarrollo web, aplicaciones de escritorio, aplicaciones móviles multiplataforma (Xamarin) hasta inteligencia artificial, aprendizaje automático, red neuronal, programación dinámica, programación paralela, desarrollo de juegos (Unidad) y muchos más se pueden desarrollar usando C #.

Es uno de los mejores lenguajes de programación que se dirige a todos los dominios del sector de programación de computadoras con su naturaleza evolutiva y su futuro brillante.

Espero que te ayude a comprender los alcances futuros. Pero además, debe recordar que no puede sobrevivir a esta industria de TI con un solo lenguaje de programación en su bolsillo. Aprender. Evolucionar. Crear. Repetir.

Gracias.
Cuídate.

¡El futuro es incierto amigo! Pero eso es cierto para todos los otros idiomas agresivos que existen. Pero lo que pasa con .NET es que hace que el desarrollo de aplicaciones sea rápido y fácil, sin comprometer el rendimiento y la escalabilidad. No solo eso con C # como uno de los lenguajes, además de VB, F #, C ++, que también se puede usar para desarrollar aplicaciones .NET, es tan bueno como Java o incluso mejor en algunos aspectos. Cuando hablamos de .NET, estamos hablando de Windows, así que hasta que dejemos de usar el sistema operativo Windows por completo o hasta que Microsoft aparezca con otro marco hocus pocus con algún nombre elegante para reemplazar .NET, podemos decir que hay alcance.

Ni siquiera una cuestión de duda. 100% si! Está entre los 5 idiomas principales hasta la fecha.