lunes, 17 de junio de 2013

El Lenguaje de Programación C#

¿Qué es C#?


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 intefaces.
  • No es posible utilizar variables no inicializadas.
  • 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.



No hay comentarios:

Publicar un comentario