2. Visual C#
Definición:
C# es un lenguaje de programación que se ha diseñado para generar diversas aplicaciones que se ejecutan en
.NET Framework. C# es simple, eficaz, con seguridad de tipos y orientado a objetos. Las numerosas
innovaciones de C# permiten desarrollar aplicaciones rápidamente y mantener la expresividad y elegancia de
los lenguajes de estilo de C.
Visual C# es una implementación del lenguaje de C# de Microsoft. Visual Studio ofrece compatibilidad con
Visual C# con un completo editor de código, un compilador, plantillas de proyecto, diseñadores, asistentes
para código, un depurador eficaz y de fácil uso y otras herramientas. La biblioteca de clases de .NET
Framework ofrece acceso a numerosos servicios de sistema operativo y a otras clases útiles y adecuadamente
diseñadas que aceleran el ciclo de desarrollo de manera significativa.
¿Qué es visual C#?
C# es un lenguaje con seguridad de tipos y orientado a objetos, sencillo pero eficaz, que permite que los
programadores creen una gran variedad de aplicaciones. Junto a .NET Framework, Visual C# 2008 permite
la creación de aplicaciones para Windows, servicios web, herramientas de bases de datos, componentes,
controles, etc
Historia:
La historia de C parte de un lenguaje anterior, el lenguaje B, escrito por Ken Thompson en 1970 con el
objetivo de recodificar el sistema operativo UNIX, que hasta el momento se había programado en
ensamblador. La pega del ensamblador era que lo ligaba a una serie de máquinas concretas, por lo que
conseguir un lenguaje abstraído de cada máquina conseguiría una portabilidad del sistema muchísimo mayor.
A su vez B fue inspirado en el BCPL de Martin Richard, diseñado tres años antes.
En 1972 es Dennis Ritchie (de los Laboratorios Bell de AT&T) quien diseña finalmente C a partir del B de
Thompson, aportando un diseño de tipos y estructuras de datos que consiguen una claridad y eficacia en el
lenguaje muy superior. Es un lenguaje que permite realizar una programación estructurada economizando las
expresiones, con abundancia de operadores y tipos de datos (aunque los básicos sean pocos), codificando en alto
y bajo nivel simultáneamente, reemplazando ventajosamente la programación en ensamblador y permitiendo
una utilización natural de las funciones primitivas del sistema. Además, no está orientado a ningún área en
especial y sobre todo consigue un código objeto altamente optimizado que repercute en que los programas son
muy rápidos.
Durante muchos años no existen reglas estándar para el lenguaje, pero en 1983 se decide formar un comité con
el objetivo de crear el estándar ANSI (Instituto Nacional Americano de Estándares). El proceso dura seis años
y a principios de los 90 el estándar es reconocido por la ISO (Organización Internacional de Estándares) y
comienza a comercializarse con el nombre ANSI C.
Paralelamente, en 1980 surge C++ de la mano de Bjarne Stroustrup (también de Laboratorios Bell de AT&T).
Diseña este lenguaje con el objetivo de añadir a C nuevas características: clases y funciones virtuales (de
SIMULA67), tipos genéricos y expresiones (de ADA), la posibilidad de declarar variables en cualquier punto
del programa (de ALGOL68), y sobre todo, un auténtico motor de objetos con herencia múltiple que permite
combinar la programación imperativa de C con la programación orientada a objetos. Estas nuevas
características mantienen siempre la esencia del lenguaje C: otorgan el control absoluto de la aplicación al
programador, consiguiendo una velocidad muy superior a la ofrecida por otros lenguajes.El siguiente hecho
fundamental en la evolución de C++ es sin duda la incorporación de la librería STL años más tarde, obra de
3. Alexander Stepanov y Adrew Koening. Esta librería de clases con contenedores y algoritmos genéricos
proporciona a C++ una potencia única entre los lenguajes de alto nivel.
Debido al éxito del lenguaje, en 1990 se reúnen las organizaciones ANSI e ISO para definir un estándar que
formalice el lenguaje. El proceso culmina en 1998 con la aprobación del ANSI C++.
La última variante que ha surgido de C es el moderno C#. En el año 2000, Microsoft presenta su plataforma
.NET junto con un nuevo lenguaje, C# (diseñado por Anders Hejlsberg), que servirá de lenguaje principal de la
plataforma. C# es un híbrido de C++ y Java que fusiona, principalmente, la capacidad de combinar
operadores propia del primero (no incorpora la herencia múltiple) con la plena orientación a objetos del
segundo. La orientación a objetos es tal que el propio programa está encapsulado en una clase.Actualmente
C# se encuentra entre los 10 lenguajes más utilizados. A pesar de su corta historia, ha recibido la aprobación
del estándar de dos organizaciones: en el 2001 se aprueba el ECMA y en el 2003 el ISO.
¿Quiénes son sus principales desarrolladores?
Sus principales creadores son Scott Wiltamuth y Anders Hejlsberg
Ventajas de Visual C#:
Las ventajas que ofrece C# frente a otros leguajes 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.
4. 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 de Visual C#:
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.
Versiones de Visual C#:
C# Version 1.0
Microsoft lanzó la primera versión de C # con Visual Studio 2002 (Enero 2002).
El uso de código administrado se introdujo con esta versión. C # 1.0 fue el primer idioma que el desarrollador
ha adoptado para construir. NET.
C# Version 2.0
Microsoft la lanzó en noviembre de 2005 la segunda versión del lenguaje de programación C#, introduciendo
a esta edición las siguiente caracteristicas.
Genéricos
Métodos anónimos
Se utilizan con el fin de pasar un bloque de código como parámetro de un delegado (Referencia que encapsula
un método con nombre o anónimo) con la finalidad de ahorrar código.
Tipo variable Null
Tipos de datos que aceptan valores NULL, el cual puede ser útil en el manejo de BD ya que pueden existir
tipos de datos (variables) que pueden o no contener un valor asignado.
Clase parcial
Separación de una clase en 2 archivos distintos para permitir el trabajo (Modicficaciones) simultaneo en ellos.
C# Versión 3.0
Visual Studio 2008 llegó con C # versión 3.0 (Noviembre de 2007) y tiene nuevas características.
Es una función o subrutina y es la que entra a reemplazar a los métodos anónimos de la versión anterior.
Lambda Expresión
Método de
extensión
Árbol de Expresión
5. Tipos anónimos
Lenguaje de consulta integrado
C# Version 4.0
Fue lanzado con Visual Studio 2010 con. NET Framework 4 (Abril de 2010). Con la introducción de las
siguientes caracteristicas tipos dinámicos, los parámetros opcionales, argumentos con nombre y varianza
genérica.
C# Versión 5.0
Esta version llega con caracteristicas como lo son La introducción de funciones asíncronas, atributos info
llamantes, y un pellizco de foreach iteración captura de variables.