1. QUE ES VISUAL C#
C# (pronunciado si Sharp en inglés) es un lenguaje de programación
orientado a objetos desarrollado y estandarizado por Microsoft como parte
de su plataforma .NET, que después fue aprobado como un estándar por la
ECMA (ECMA-334) e ISO (ISO/IEC 23270). C# es uno de los lenguajes de
programación diseñados para la infraestructura de lenguaje común.
Su sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la
plataforma .NET, similar al de Java, aunque incluye mejoras derivadas de
otros lenguajes.
El nombre C Sharp fue inspirado por la notación musical, donde '#'
(sostenido, en inglés Sharp) indica que la nota (C es la nota do en inglés) es
un semitono más alta, sugiriendo que C# es superior a C/C++. Además, el
signo '#' se compone de cuatro signos '+' pegados.
CARACTERÍSTICAS DEL LENGUAJE DE
PROGRAMACIÓN C#
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 es por ello que se dice que C# esauto 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
instrucción que permita recorrer colecciones con facilidad (instrucción
2. 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, es
orientado 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# por
ejemplo formas de definir propiedades eventos o 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 un 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++.
3. DESARROLLADORES
En junio de 2000, Microsoft libero el lenguaje llamado C#. El nuevo lenguaje
estaba diseñado por Anders Hejlsberg (creador de Turbo Pascal y arquitecto de
Delphi), Scott Wiltamuth y Peter Golde. Entonces describieron el lenguaje como
"...simple, moderno, orientado a objetos, de tipado seguro y con una fuerte
herencia de C/C++". Una muestra de esta nueva tecnología es el nuevo lenguaje de
programación C#. Este nuevo lenguaje orientado a objetos con énfasis en Internet
se basa en las lecciones aprendidas de los lenguajes C, C++, Java y Visual Basic. Por
ello se trata de un lenguaje que combina todas las cualidades que se pueden
esperar de un lenguaje moderno (orientación a objetos, gestión automática de
memoria, etc.) a la vez que proporciona un gran rendimiento.
Anders Hejlsberg
En las últimas dos décadas, las innovaciones técnicas miríada de Hejlsberg han
mejorado profundamente la productividad del desarrollador.
Cuando decimos que el mundo ha sido transformado por la magia del software, en
realidad estamos propinas nuestros sombreros a los millones de desarrolladores
que trabajan detrás de la escena como los impulsores de ese cambio. Y la
conducción a los conductores es Microsoft Técnica Fellow Anders Hejlsberg, un
hombre que ha cambiado fundamentalmente cómo los desarrolladores construir
software, dándoles marcos más productivas y de gran alcance, más elegante y
lenguajes de alto nivel, y un conjunto de herramientas más estrechamente
integrada.
4. Hejlsberg no es ajeno a los Premios de Reconocimiento Técnico: Él y su equipo de C
# compartió el Premio Trayectoria Técnica en 2007. Pero en él la concesión del
Premio a la Trayectoria 2010, Microsoft está reconociendo toda su obra, que ha
sido profundamente importante en la mejora de la productividad del desarrollador
en los últimos 20 años.
Hejlsberg ya había dejado su huella en el mundo desarrollador antes de unirse a
Microsoft en 1996. Sus logros en PolyPascal, Turbo Pascal y Borland Delphi eran
innovador; Turbo Pascal, en particular, establecer un estándar de productividad
para su día, y sirven como el "primer IDE " (Integrated Development Environment)
para una generación de desarrolladores.
Después de unirse a Microsoft, Hejlsberg dirigió los esfuerzos de la compañía en J
+ + y Windows Foundation Classes de Visual (WFC). Por el emparejamiento de un
entorno de desarrollo de Java de alta productividad con una biblioteca de clases
de Windows sin el problema de mínimo común denominador de otros marcos de
Java, Hejlsberg ayudó a que Visual J + + los más populares y más productiva Java
IDE en los últimos años 90.
Fue entonces cuando se propuso el diseño de Hejlsberg un nuevo lenguaje que se
entregó de forma sincronizada con el marco NET. . "En ese momento había dos
campamentos, debatiendo lo que íbamos a hacer", recuerda Hejlsberg. "Había una
especie de los evolucionarios o los revolucionarios. Estaba casi en el campamento
de los revolucionarios. Sentí que no era lo suficientemente bueno para simplemente
modernizar lo que ya teníamos, o tratar de solucionar algunos de los problemas.
Pensé que estábamos en un punto de inflexión, y que era el momento para nosotros
para limpiar el armario y construir nuevas, y deshacerse de todos los viejos
fantasmas, si se quiere. Por supuesto que había un montón de ida y vuelta en la que,
y yo estaba de ninguna manera es la única persona a la defensa de este, pero sin
duda
era
parte
de
eso.
Hejlsberg llevó esta idea desde su concepción, a partir de su " ¿Cuál es fresca "
papel que define los elementos esenciales y, a continuación, trabajar a través de la
entrega de Visual C #. NET 2002 y Visual C # 2003, 2005, y 2008. El trabajo
reciente de Hejlsberg de Language Integrated Query (LINQ), incluido el apoyo en
múltiples lenguajes (C # y Visual Basic) y múltiples dominios de datos (objetos,
relacionales, XML, DataSet, y otros) ha ayudado a establecer a Microsoft como un
líder de pensamiento en un lenguaje de programación, objeto mapeo relacional, y la
integración de datos / idioma. Este trabajo está derribando las barreras que
separan los mundos de lenguajes orientados a objetos de programación, bases de
datos relacionales y documentos XML. Hejlsberg y el trabajo de su equipo en C #
y. NET ayudaron tanto la ganancia de una inmensa popularidad.
5. VENTAJAS
VENTAJAS DEL 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.
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.
6. Características
El lenguaje es muy sencillo
Incluye un amplio soporte de estructuras, componentes,
programación orientada a objetos, manipulación de errores,
recolección de basura, etc.
Las clases en C# pueden heredar de un padre pero puede
implementar varias interfaces.
C# también provee soporte para estructuras, un concepto el cual ha
cambiado significantemente desde C++.
C# provee características de componentes orientados, como
propiedades, eventos y atributos.
Ahorro tiempo en la programación ya que tiene una librería de
clases muy completa y bien diseñada.
El manejo de errores está basado en excepciones.
C# soporta todas las características propias del paradigma de
programación orientada a objetos: encapsulación, herencia y
polimorfismo.
Aplicaciones Con el lenguaje C # se puede realizar un sin fin de
codificaciones tales como:
Programas de escritorio en Windows
Páginas web
Videojuegos con xna para pc y Xbox
Programas en Linux con mono
Conectarse a bases de datos
Usar .net framework
VERSIONES DE VISUAL C#
Visual Studio 6.0
Se lanzó en 1998 y fue la última versión en ejecutarse en la plataforma Win9x.
Los números de versión de todas las partes constituyentes pasaron a 6.0,
incluyendo Visual J++ y Visual InterDev, que se encontraban en las versiones 1.1 y
1.0 respectivamente. Esta versión fue la base para el sistema de desarrollo de
7. Microsoft para los siguientes 4 años, en los que Microsoft migró su estrategia de
desarrollo al .NET Framework.
Visual Studio 6.0 fue la última versión en que Visual Basic se incluía de la forma en
que se conocía hasta entonces; versiones posteriores incorporarían una versión muy
diferente del lenguaje con muchas mejoras, fruto de la plataforma .NET.
También supuso la última versión en incluir Visual J++, que proporcionaba
extensiones de la plataforma Java, lo que lo hacía incompatible con la versión de
Sun Microsystems. Esto acarreó problemas legales a Microsoft, y se llegó a un
acuerdo en el que Microsoft dejaba de comercializar herramientas de
programación que utilizaran la máquina virtual de Java.
Aunque el objetivo a largo plazo de Microsoft era unificar todas las herramientas
en un único entorno, esta versión en realidad añadía un entorno más a Visual Studio
5.0: Visual J++ y Visual InterDev se separaban del entorno de Visual C++, al tiempo
que Visual FoxPro y Visual Basic seguían manteniendo su entorno específico.
Visual Studio Express Edition
Es un programa de desarrollo en entorno de desarrollo integrado (IDE, por sus
siglas en inglés) para sistemas operativos Windows desarrollado y distribuido por
Microsoft Corporation. Soporta varios lenguajes de programación tales como Visual
C++, Visual C#, Visual J#, ASP.NET y Visual Basic .NET, aunque actualmente se
han desarrollado las extensiones necesarias para muchos otros. Es de carácter
gratuito y es proporcionado por la compañía Microsoft Corporation orientándose a
principiantes, estudiantes y aficionados de la programación web y de aplicaciones,
ofreciéndose dicha aplicación a partir de la versión 2005 de Microsoft Visual
Studio.
Visual C++ Express Edition
Visual C++ engloba el desarrollo de aplicaciones hechas en C, C++ y C++/CLI en el
entorno Windows. Visual C++ incluye además las bibliotecas de Windows (WinApi),
las bibliotecas MFC y el entorno de desarrollo para .NET Framework. Visual C++
cuenta con su propio compilador (de igual nombre) y otras herramientas como
IntelliSense, TeamFoundation Server, Debug,... Además provee de bibliotecas
propias de cada versión del sistema operativo y sockets. Como otros compiladores,
se le pueden añadir nuevas bibliotecas como DirectX, wxWidgets o SDL.
8. Microsoft Visual J++
Visual J++ es la ahora descontinuada implementación de Microsoft de un
IDE para el lenguaje de programación Java. Creado para la plataforma
Windows, los programas escritos en J++ pueden correr sólo en la MSJVM
(Microsoft Virtual Machine for Java, Máquina Virtual Java de Microsoft),
que era el intento propietario de Microsoft de un intérprete Java. La
sintaxis, palabras clave y convenciones gramáticas de Java eran respetadas.
Visual J++ ha sido reemplazado por J#, que es capaz de compilar código
Java/J++ al lenguaje intermedio MSIL de la plataforma .NET.
Visual F#
Es un lenguaje de programación multiparadigma de código abierto, para la
plataforma .NET, que conjunta la programación funcional con las disciplinas
imperativa y orientada a objetos. Es una variante del lenguaje de programación ML
y es compatible con la implementación Objective Caml. F# fue inicialmente
desarrollado por Don Syme de Microsoft Research, pero actualmente está siendo
desarrollado por la División de Desarrolladores de Microsoft y es distribuido como
un lenguaje totalmente soportado en la plataforma .NET y Visual Studio
Visual C#
C# es un lenguaje de programación que se ha diseñado para compilar 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 C# de Microsoft. Visual Studio
admite Visual C# con un editor de código con características más completas,
compilador, plantillas de proyecto, diseñadores, asistentes de código, un depurador
eficaz y fácil de usar, 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.