Visual C# Definicin: C# es un lenguaje de programacin que se ha diseado 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 rpidamente y mantener la expresividad y elegancia de los lenguajes de estilo de C.
Visual C# es una implementacin del lenguaje de C# de Microsoft. Visual Studio ofrece compatibilidad con Visual C# con un completo editor de cdigo, un compilador, plantillas de proyecto, diseadores, asistentes para cdigo, un depurador eficaz y de fcil 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 diseadas 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 creacin 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 haba programado en ensamblador. La pega del ensamblador era que lo ligaba a una serie de mquinas concretas, por lo que conseguir un lenguaje abstrado de cada mquina conseguira una portabilidad del sistema muchsimo mayor. A su vez B fue inspirado en el BCPL de Martin Richard, diseado tres aos antes. En 1972 es Dennis Ritchie (de los Laboratorios Bell de AT&T) quien disea finalmente C a partir del B de Thompson, aportando un diseo de tipos y estructuras de datos que consiguen una claridad y eficacia en el lenguaje muy superior. Es un lenguaje que permite realizar una programacin estructurada economizando las expresiones, con abundancia de operadores y tipos de datos (aunque los bsicos sean pocos), codificando en alto y bajo nivel simultneamente, reemplazando ventajosamente la programacin en ensamblador y permitiendo una utilizacin natural de las funciones primitivas del sistema. Adems, no est orientado a ningn rea en especial y sobre todo consigue un cdigo objeto altamente optimizado que repercute en que los programas son muy rpidos. Durante muchos aos no existen reglas estndar para el lenguaje, pero en 1983 se decide formar un comit con el objetivo de crear el estndar ANSI (Instituto Nacional Americano de Estndares). El proceso dura seis aos y a principios de los 90 el estndar es reconocido por la ISO (Organizacin Internacional de Estndares) y comienza a comercializarse con el nombre ANSI C. Paralelamente, en 1980 surge C++ de la mano de Bjarne Stroustrup (tambin de Laboratorios Bell de AT&T). Disea este lenguaje con el objetivo de aadir a C nuevas caractersticas: clases y funciones virtuales (de SIMULA67), tipos genricos y expresiones (de ADA), la posibilidad de declarar variables en cualquier punto del programa (de ALGOL68), y sobre todo, un autntico motor de objetos con herencia mltiple que permite combinar la programacin imperativa de C con la programacin orientada a objetos. Estas nuevas caractersticas mantienen siempre la esencia del lenguaje C: otorgan el control absoluto de la aplicacin al programador, consiguiendo una velocidad muy superior a la ofrecida por otros lenguajes.El siguiente hecho fundamental en la evolucin de C++ es sin duda la incorporacin de la librera STL aos ms tarde, obra de Alexander Stepanov y Adrew Koening. Esta librera de clases con contenedores y algoritmos genricos proporciona a C++ una potencia nica entre los lenguajes de alto nivel. Debido al xito del lenguaje, en 1990 se renen las organizaciones ANSI e ISO para definir un estndar que formalice el lenguaje. El proceso culmina en 1998 con la aprobacin del ANSI C++. La ltima variante que ha surgido de C es el moderno C#. En el ao 2000, Microsoft presenta su plataforma .NET junto con un nuevo lenguaje, C# (diseado por Anders Hejlsberg), que servir de lenguaje principal de la plataforma. C# es un hbrido de C++ y Java que fusiona, principalmente, la capacidad de combinar operadores propia del primero (no incorpora la herencia mltiple) con la plena orientacin a objetos del segundo. La orientacin a objetos es tal que el propio programa est encapsulado en una clase.Actualmente C# se encuentra entre los 10 lenguajes ms utilizados. A pesar de su corta historia, ha recibido la aprobacin del estndar de dos organizaciones: en el 2001 se aprueba el ECMA y en el 2003 el ISO.
Quines 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 programacin son:
Declaraciones en el espacio de nombres: al empezar a programar algo, se puede definir una o ms clases dentro de un mismo espacio de nombres.
Tipos de datos: en C# existe un rango ms 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 pblico, protegido, interno, interno protegido y privado.
Pase de parmetros: aqu se puede declarar a los mtodos para que acepten un nmero variable de parmetros. De forma predeterminada, el pase de parmetros es por valor, a menos que se use la palabra reservada ref, la cual indica que el pase es por referencia.
Mtodos virtuales y redefiniciones: antes de que un mtodo pueda ser redefinido en una clase base, debe declararse como virtual. El mtodo redefinido en la subclase debe ser declarado con la palabra override
Propiedades: un objeto tiene intrnsecamente propiedades, y debido a que las clases en C# pueden ser utilizadas como objetos, C# permite la declaracin 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 annima para hacer referencia al miembro de una clase.
Control de versiones: C# permite mantener mltiples versiones de clases en forma binaria, colocndolas en diferentes espacios de nombres. Esto permite que versiones nuevas y anteriores de software puedan ejecutarse en forma simultnea.
Desventajas de Visual C#: Las desventajas que se derivan del uso de este lenguaje de programacin son que en primer lugar se tiene que conseguir una versin reciente de Visual Studio .NET, por otra parte se tiene que tener algunos requerimientos mnimos 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 instalacin, etc.
Adems para quien no est familiarizado con ningn lenguaje de programacin, le costar ms trabajo iniciarse en su uso, y si se quiere consultar algn tutorial ms explcito sobre la programacin en C# se tendra que contar adems con una conexin a Internet.
Versiones de Visual C#: C# Version 1.0 Microsoft lanz la primera versin de C # con Visual Studio 2002 (Enero 2002).
El uso de cdigo administrado se introdujo con esta versin. 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 versin del lenguaje de programacin C#, introduciendo a esta edicin las siguiente caracteristicas. Genricos Mtodos annimos Se utilizan con el fin de pasar un bloque de cdigo como parmetro de un delegado (Referencia que encapsula un mtodo con nombre o annimo) con la finalidad de ahorrar cdigo. 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 Separacin de una clase en 2 archivos distintos para permitir el trabajo (Modicficaciones) simultaneo en ellos. C# Versin 3.0
Visual Studio 2008 lleg con C # versin 3.0 (Noviembre de 2007) y tiene nuevas caractersticas. Es una funcin o subrutina y es la que entra a reemplazar a los mtodos annimos de la versin anterior. Lambda Expresin Mtodo de extensin rbol de Expresin Tipos annimos Lenguaje de consulta integrado C# Version 4.0 Fue lanzado con Visual Studio 2010 con. NET Framework 4 (Abril de 2010). Con la introduccin de las siguientes caracteristicas tipos dinmicos, los parmetros opcionales, argumentos con nombre y varianza genrica. C# Versin 5.0 Esta version llega con caracteristicas como lo son La introduccin de funciones asncronas, atributos info llamantes, y un pellizco de foreach iteracin captura de variables.