C#



C# es un nuevo lenguaje de programación diseñado para crear un amplio número de aplicaciones empresariales que se ejecutan en .NET Framework. 

Supone una evolución de Microsoft C y Microsoft C++; es sencillo, moderno, proporciona seguridad de tipos y está orientado a objetos.

 El código creado mediante C# se compila como código administrado, lo cual significa que se beneficia de los servicios de Common Language Runtime.

 Estos servicios incluyen interoperabilidad entre lenguajes, recolección de elementos no utilizados, mejora de la seguridad y mayor compatibilidad entre versiones.

C# se presenta como Visual C# en el conjunto de programas Visual Studio .NET. Visual C# utiliza plantillas de proyecto, diseñadores, páginas de propiedades, asistentes de código, un modelo de objetos y otras características del entorno de desarrollo. 

La biblioteca para programar en Visual C# es .NET Framework.




VENTAJAS DEL C#

Las ventajas que ofrece C# frente a otros lenguajes de programación son:

Declaraciones en el espacio de nombres: al empezar a programar algo, se puede definir una o más clases dentro de un mismo espacio de nombres.

Tipos de datos: en C# existe un rango más amplio y definido de tipos de datos que los que se encuentran en C, C++ o Java.

Atributos: cada miembro de una clase tiene un atributo de acceso del tipo público, protegido, interno, interno protegido y privado.

Pase de parámetros: aquí se puede declarar a los métodos para que acepten un número variable de parámetros. De forma predeterminada, el pase de parámetros es por valor, a menos que se use la palabra reservada ref, la cual indica que el pase es por referencia.

Métodos virtuales y redefiniciones: antes de que un método pueda ser redefinido en una clase base, debe declararse como virtual. El método redefinido en la subclase debe ser declarado con la palabra override

Propiedades: un objeto tiene intrínsecamente propiedades, y debido a que las clases en C# pueden ser utilizadas como objetos, C# permite la declaración de propiedades dentro de cualquier clase.

Inicializador: un inicializador es como una propiedad, con la diferencia de que en lugar de un nombre de propiedad, un valor de índice entre corchetes se utiliza en forma anónima para hacer referencia al miembro de una clase.

Control de versiones: C# permite mantener múltiples versiones de clases en forma binaria, colocándolas en diferentes espacios de nombres. Esto permite que versiones nuevas y anteriores de software puedan ejecutarse en forma simultánea. 






DESVENTAJAS

Las desventajas que se derivan del uso de este lenguaje de programación son que en primer lugar se tiene que conseguir una versión reciente de Visual Studio .NET, por otra parte se tiene que tener algunos requerimientos mínimos del sistema para poder trabajar adecuadamente tales como contar con Windows NT 4 o superior, tener alrededor de 4 gigas de espacio libre para la pura instalación, etc.

Además para quien no está familiarizado con ningún lenguaje de programación, le costará más trabajo iniciarse en su uso, y si se quiere consultar algún tutorial más explícito sobre la programación en C# se tendría que contar además con una conexión a Internet.





Características principales de C#

A continuación enumeramos las principales características que definen al lenguaje de programación C#. Algunas de estas características no son propias del lenguaje, sino de la plataforma .NET, aunque se listan aquí ya que tienen una implicación directa en el lenguaje.


Sencillez de uso

C# elimina muchos elementos añadidos por otros lenguajes y que facilitan su uso y compresión, como por ejemplo ficheros de cabecera, o ficheros fuentes IDL 1 ... por ello que se dice que C# es auto contenido. Además, no se incorporan al lenguaje elementos poco útiles, como por ejemplo macros, herencia múltiple u operadores diferentes al operador de acceso a métodos (operador punto) para acceder a miembros de espacios de nombres.

Modernidad  

Al ser C# un lenguaje de última generación, incorpora elementos que se ha demostrado a lo largo del tiempo que son muy útiles para el programador, como tipos decimales o
booleanos, un tipo básico string ,así como una instrución que permita recorrer colecciones con facilidad(instrucción foreach). 

Estos elementos hay que simularlos en otros lenguajes como C++ o Java.

Orientado a objetos

C# como lenguaje de última generación, y de propósito general, esorientado a objetos. C# no permite la inclusión de funciones ni variables globales que no estén incluidos en una definición de tipos, por lo que la orientación a objetos es más pura y clara que en otros lenguajes como C++. 

Además, C# soporta todas las características del paradigma de la programación orientada a objetos, como son la
encapsulación, la herencia y el polimorfismo


Orientado a componentes

La propia sintaxis de C# incluye elementos propios del diseño de componentes que otros lenguajes tienen que simular. La sintaxis de C#incluye por ejemplo formas de definir propiedadeseventos atributos


Recolección de basura 

Como ya se comentó, todo lenguaje incluido en la plataforma .NET tiene a su disposición el recolector de basura del CLR. Esto implica que no es necesario incluir instrucciones de destrucción de objetos en el lenguaje.


Seguridad de tipos

C# incluye mecanismos de control de acceso a tipos de datos, lo que garantiza que no se produzcan errores difíciles de detectar como una acceso a memoria de ningún objeto, por ejemplo. Para ello, el lenguaje provee de una serie de normas de sintaxis, como por ejemplo no realizar conversiones entre tipos que no sean compatibles. Además, no se pueden usar variables no inicializadas previamente, y en el acceso atablas se hace una comprobación de rangos para que no se excedan ninguno de los índices de la misma. Se puede controlar así mismo los

desbordamientos en operaciones aritméticas, produciéndose excepciones cuando se produzcan.


Instrucciones seguras

Para evitar errores comunes como se producían programando en otros lenguajes, en C# se han impuesto una serie de restricciones en el uso de instrucciones de control más comunes. Por ejemplo, la evaluación de toda condición ha de ser una expresión condicional y no aritmética,como ocurría por ejemplo en C o en C++. Así se evitan errores por confusión del operador igualdad con el de asignación. Otra restricción que se impone en la instrucción de selección switch, imponiendo que toda selectora de la instrucción finalice con una instrucción break goto que indique cuál es la siguiente acción a realizar.


Unificación de tipos

En C# todos los tipos derivan de una super clase común llamada System. Object , por lo que automáticamente heredarán todos los miembros definidos en esta clase. Es decir, son
objetos A diferencia de Java, en C# esta característica también se aplica para los tipos básicos.


Extensión de los operadores básicos

Para facilitar la legibilidad de código y conseguir que los nuevos tipos de datos que se definan a través de las estructuras estén al mismo nivel que los elementos predefinidos en el lenguaje, al igual que C++ pero a diferencia de Java, C# permite redefinir el significado de la mayoría delos operadores (incluidos el de la conversión) cuando se apliquen a diferentes tipos de objetos.

Las redefiniciones de operadores se hacen de manera inteligente, de modo que a partir de una única definición de los operadores

++
y
-

el compilador puede deducir automáticamente cómo ejecutarlos de manera prefija y postfija. Definiendo operadores simples como la suma, el compilador deduce como aplicar la versión designación compuesta (+=). Además, para asegurar la consistencia, el compilador exige que los operadores con opuesto (como por ejemplo el operador igualdad==y su opuesto!=) siempre se re definan por parejas.


Extensión de modificadores

C# ofrece, a través de los atributos , la posibilidad de añadir a metaplasmos del módulo resultante de la compilación de cualquier fuente información adicional a la generada por el compilador que luego podrá ser consultada en tiempo de ejecución a través de la biblioteca de reflexión de .NET.


Eficiente

En C#, todo el código incluye numerosas restricciones para garantizar su seguridad, no permitiendo el uso de punteros. Sin embargo, y a diferencia de Java, existen modificadores para saltarse esta restricción,pudiendo manipular objetos a través de punteros. Para ello basta identificar regiones de código con el identificador una fase , y podrán usarse en ellas punteros de forma similar a como se hace en C++. Esta característica puede resultar de utilidad en situaciones en las que se necesite gran velocidad de procesamiento.


Compatible 

Para facilitar la migración de programadores de C++ o Java a C#, no sólo se mantiene una sintaxis muy similar a la de los dos anteriores lenguajes, sino que el CLR también ofrece la posibilidad de acceder código nativo escrito como funciones sueltas no orientadas a objetos,tales como las DLLs de la API de Win32.





Requisito
Enterprise Architect
Enterprise Developer
Professional
Academic
Procesador
PC con procesador de tipo Pentium II, 450 MHz
Se recomienda: tipo Pentium III, 600 MHz
Igual
Igual
Igual
RAM
Windows 2000 Professional: 96 MB; Windows 2000 Server: 192 MB; Windows XP Home: 96 MB; Windows XP Professional y Windows Server 2003: 192 MB
Se recomienda: 128 MB para 2000 Professional, 256 MB para 2000 Server, 160 MB para XP Home y 256 MB para XP Professional y Server 20031
Igual
Igual
Igual
Espacio disponible en el disco duro
900 MB en la unidad del sistema y 4,1 GB en la unidad de instalación2
Igual
Igual
Igual
Sistema operativo
Windows® 2000, Windows XP, Windows Server 2003 o Windows NT 4.03,4,5
Igual
Igual
Igual
Unidad de CD-ROM o DVD-ROM
Requerida6
Requerida
Requerida
Requerida
Vídeo
800 x 600, 256 colores
Se recomienda: color de alta densidad, 16 bits
Igual
Igual
Igual
Mouse (ratón)
Microsoft Mouse o dispositivo señalador compatible
Igual
Igual
Igual

Requisito
Visual Basic
Visual C++
Visual C#
Visual J#
Procesador
PC con procesador de tipo Pentium II, 450 MHz
Se recomienda: tipo Pentium III, 600 MHz
Igual
Igual
Igual
RAM
Windows 2000 Professional: 96 MB; Windows 2000 Server: 192 MB; Windows XP Home: 96 MB; Windows XP Professional y Server 2003: 192 MB
Se recomienda: 128 MB para 2000 Professional, 256 MB para 2000 Server, 160 MB para XP Home y 256 MB para XP Professional y Server 20031
Igual
Igual
Igual
Espacio disponible en el disco duro
750 MB en la unidad del sistema y 2,5 GB en la unidad de instalación
Igual
Igual
Igual
Sistema operativo
Windows® 2000, Windows XP, Windows Server 2003 o Windows NT 4.03,4,5
Igual
Igual
Igual
Unidad de CD-ROM o DVD-ROM
Requerida
Igual
Igual
Igual
Vídeo
800 x 600, 256 colores
Se recomienda: color de alta densidad, 16 bits
Igual
Igual
Igual
Mouse (ratón)
Microsoft Mouse o dispositivo señalador compatible
Igual
Igual
Igual



Versiones 

Versiones  1.0

Versiones  2.0

Versiones  3.0

Versiones  4.0

Versiones  5.0

Especificaciones

C# es un lenguaje de programación simple pero eficaz, diseñado para escribir aplicaciones empresariales.

El lenguaje C# es una evolución de los lenguajes C y C++. Utiliza muchas de las características de C++ en las áreas de instrucciones, expresiones y operadores.

C# presenta considerables mejoras e innovaciones en áreas como seguridad de tipos, control de versiones, eventos y recolección de elementos no utilizados (liberación de memoria).

C# proporciona acceso a los tipos de API más comunes: .NET Framework, COM, Automatización y estilo C. Asimismo, admite el modo unsafe, en el que se pueden utilizar punteros para manipular memoria que no se encuentra bajo el control del recolector de elementos no utilizados.







No hay comentarios:

Publicar un comentario