C# o C Sharp es un lenguaje de programación que está incluido en la Plataforma .NET y corre en el Lenguaje Común en Tiempo de Ejecución (CLR, Common Language Runtime). El primer lenguaje en importancia para el CLR es C#, mucho de lo que soporta la Plataforma .NET está escrito en C#.
C# intenta ser el lenguaje base para escribir aplicaciones .NET
C# deriva de C y C++, es moderno, simple y enteramente orientado a objetos, simplifica y moderniza a C++ en las áreas de clases, namespaces, sobrecarga de métodos y manejo de excepciones. Se elimino la complejidad de C++ para hacerlo más fácil de utilizar y menos propenso a errores.
Algunas características de C# son:
- C# provee el beneficio de un ambiente elegante y unificado.
- No soporta herencia múltiple, solamente el runtime .NET permite la herencia múltiple en la forma de interfaces, las cuales no pueden contener implementación.
- No maneja apuntadores, para emular la función de los apuntadores se utiliza delegates el cual provee las bases para el .NET event model.
- Por default trabaja con código administrado.
- La Plataforma .NET provee un colector de basura que es responsable de administrar la memoria en los programas C#.
- El manejo de errores está basado en excepciones.
- Soporta los conceptos como encapsulación, herencia y polimorfismo de la programación orientada a objetos.
- El Modelo completo de clases está construido en la cima del .NET Virtual Object System (VOS). El modelo de objetos es parte de la infraestructura y ya no forma parte del lenguaje de progrmación.
- No existen funciones globales, variables o constantes. Todo deber ser encapsulado dentro de la clase, como un miembro de la instancia (accesible via una instancia de clase) o un miembro estático (via el tipo).
- Los métodos que se definen en las clases son por default no virtuales (no pueden ser sobre escritos al derivar clases)
- Soporta los modificadores de acceso private, protected, public y agrega un cuarto modificador internal.
- Solamente se permite una base clase, si se requiere herencia múltiple es posible implementar interfaces.
- No es posible hacer el cast de un entero a un tipo de referencia (objeto).
- Los parámetros que son pasados son type-safe.
- El soporte de versiones lo provee el CLR.
- Permite acceder a diferentes APIs a través de .NET Common Language Specification, el cual define el estádar de interoperabilidad entre lenguajes que se adhieran a este estándar.
- La Plataforma .NET provee un acceso transparente a COM.
- Soporta OLE
- Permite la interoperabilidad con APIs al estilo C y DLLs, esta característica para acceder a APIs nativas es llamada Platform Invocation Services (PInvoke)
- Por default el código es safe mode, pero es posible declarar clases o sólo métodos unsafe, esta declaración permite utilizar apuntadores, estructuras y almacenamiento de arreglos estáticos.
- C# depende del runtime que provee la Plataforma .NET, el runtime administra la ejecución de código.
Freddy Perez Computacion y Sistemas freperez98@gmail.com Aragua Venezuela
No hay comentarios:
Publicar un comentario