La voz de los expertos siempre ofrecen una perspectiva única para acercarse a ciertos temas, así que para ver de otra a manera C# replicamos estas palabras de Andrea Angella, MVP de Microsoft, desarrollador senior de C # y líder de la comunidad .NET.
Aquí Andrea nos comparte algunas razones por las que considera a C# el mejor lenguaje de programación del mundo y por qué deberías aprender C# en 2020.
- C # fue diseñado desde cero con principios en la simplicidad y legibilidad
C # se inspiró en lenguajes como C, C ++ y Java, pero los diseñadores tomaron las mejores partes de ellos e innovaron aún más al introducir nuevos conceptos como tipos de valores, propiedades y eventos. Por ejemplo, C # no permite usar punteros sin formato directamente a la memoria y no ofrece herencia de clases múltiples. C# proporciona un recolector de basura que maneja la memoria en su nombre. Para la mayoría de los escenarios, no necesita preocuparse por la administración de la memoria y eso es solo un ejemplo de lo que hace que trabajar con C # sea mucho más fácil.
El lenguaje C # también es fácil de aprender porque al aprender un pequeño subconjunto del lenguaje puede comenzar inmediatamente a escribir código útil. Se pueden aprender funciones más avanzadas a medida que se vuelve más competente, pero no está obligado a aprenderlas para empezar a utilizarlas.
C # es muy bueno para encapsular la complejidad. A veces, puede usar con éxito las funciones de C # incluso sin comprender completamente cómo funcionan bajo las sábanas. Puede trabajar con iteradores durante años sin siquiera comprender cómo funcionan. Puede trabajar con async y esperar sin conocer todas las complejidades sobre cómo el compilador implementa la función.
- C# tiene que ver con la productividad del desarrollador
La productividad del desarrollador es otro principio de diseño clave para C# desde la primera versión.
Visual Studio y Visual Studio Code son los mejores entornos de desarrollo de software utilizados por los desarrolladores de C #. La extensión R# Visual Studio proporciona una productividad increíble, análisis de código y funciones de generación de código para 10 veces su experiencia de desarrollador. Rider es un nuevo IDE multiplataforma potente y popular para el desarrollo de software C #.
«Como desarrollador, realmente me preocupo por la productividad. Me encanta trabajar con herramientas que me ayuden a ser más eficaz en mi trabajo. Me gusta poder confiar en el potente compilador de C # para encontrar errores incluso antes de ejecutar mi código. Con C # 8, incluso puede obtener el compilador para ayudar a crear software seguro para nulos», comparte Andrea.
C # también contiene un montón de características, introducidas explícitamente en el lenguaje para mejorar la productividad y hacer que las tareas comunes sean fáciles de realizar:
- El operador condicional nulo permite a los desarrolladores realizar una verificación de nulos de una manera increíblemente concisa.
- Índices y rangos permite crear de forma intuitiva cortes a partir de colecciones.
- Var reduce la necesidad de duplicar nombres de tipos.
- Los genéricos evitan la duplicación de códigos que solo varían según el tipo y, al mismo tiempo, mantienen la seguridad de tipos.
- C# es un lenguaje de programación de múltiples paradigmas
C # comenzó como un lenguaje fuertemente orientado a objetos y con el tiempo se convirtió en un lenguaje de paradigmas múltiples que admite estilos de programación imperativos, declarativos, genéricos y funcionales.
Los genéricos introducidos en C# 2 permitieron a los desarrolladores implementar algoritmos y estructuras de datos que eran paramétricos con tipos. La clave fue que esta característica se implementó de forma nativa en el tiempo de ejecución, lo que hace que los genéricos sean completamente eficientes y seguros para los tipos.
LINQ introdujo la programación funcional en C #. Las combinaciones de características como expresiones lambda, tipos anónimos, métodos de extensión, árboles de expresión introdujeron una forma funcional y uniforme de consultar fuentes de datos.
LINQ es una de las tecnologías más elegantes y poderosas dentro de C #. La sintaxis de consulta también proporciona una experiencia declarativa similar a SQL directamente dentro del lenguaje de programación.
C # 7 y C # 8 continuaron el viaje funcional agregando capacidades como expresiones de cambio y coincidencia de patrones avanzada en el lenguaje.
- C # es un lenguaje flexible de uso general
C # es muy flexible y le permite desarrollar una gran variedad de sistemas.
Con C# maximiza el retorno de la inversión en sus habilidades porque puede crear casi cualquier tipo de aplicaciones:
- Aplicaciones de consola
- Aplicaciones de escritorio (Windows Forms, WPF)
- Servicios de Windows
- Servicios web y aplicaciones web (ASP.NET Core, Blazor)
- Aplicaciones móviles nativas (Xamarin)
- Aplicaciones de Inteligencia Artificial (ML.NET)
- Aplicaciones distribuidas y en la nube (Azure)
- Video juegos (Unity)
- Aplicaciones de Internet of Things
- Bibliotecas reutilizables
Es importante decir que C # no fue diseñado para desarrollar software crítico de rendimiento a nivel de sistema. No fue diseñado para competir directamente en rendimiento y tamaño con los lenguajes C y C ++.
- C # se ejecuta en un tiempo de ejecución .NET sólido y bien diseñado
C# no se diseñó de forma aislada, sino como parte del proyecto de marco .NET general.
El tiempo de ejecución .NET (llamado CLR) es una pieza de ingeniería sobresaliente que proporciona administración de memoria, compilación JIT, control de versiones y carga de ensamblados, seguridad, sincronización de subprocesos, manejo de excepciones, sistema de tipo común, atributos, interoperabilidad con código no administrado, cultura y más.
En los últimos años, .NET Core se desarrolló desde cero y mejoró la implementación original de .NET de algunas formas significativas. .NET Core brinda la capacidad de desarrollar aplicaciones multiplataforma, nuevos modos de implementación, rendimiento increíble y mucho más.
.NET y .NET Core convergerán en .NET 5 en 2020 para sentar las bases de una única plataforma unificada moderna para el desarrollo de software C #.
- C# es multiplataforma
Al principio, C # era un lenguaje reservado exclusivamente para desarrolladores de Windows porque el marco .NET estaba estrechamente acoplado con el sistema operativo de Microsoft. Sin duda, este fue un factor limitante en la adopción de C #.
El nuevo marco .NET Core ha sido diseñado desde cero para ejecutarse en múltiples sistemas operativos, incluidos Linux y Mac.
Xamarin y Mono ofrecen la capacidad de ejecutar su código C # de forma nativa en plataformas móviles como Android e iOS.
C # es un lenguaje que tiene una gran demanda en las principales empresas de software de todo el mundo. Decidir invertir en dominar C # puede ser una buena decisión profesional para lo que resta del 2020.
imagen: Alvaro Reyes