Este documento describe el lenguaje de programación C# y sus características principales en 3 oraciones o menos: El lenguaje C# fue creado por Anders Hejlsberg y combina las cualidades de lenguajes como C, C++ y Java, siendo orientado a objetos, tipado seguro y con una fuerte herencia de C/C++. C# es un lenguaje moderno, sencillo y potente que permite desarrollar aplicaciones de forma rápida y productiva gracias a su biblioteca de clases y al entorno de desarrollo Visual Studio.
1. Catedrático: Ing. Pedro Antonio Villalta
Alumno: José Gonzalo Estrada López
Materia: Programación II
Actividad: Entrega de un reporte
Grupo: “B”
2. Introducción
C es un lenguaje de programación de propósito general que
ofrece economía sintáctica, control de flujo y estructuras sencillas y un buen
conjunto de operadores. No es un lenguaje de muy alto nivel y más bien un
lenguaje pequeño, sencillo y no está especializado en ningún tipo de aplicación.
Esto lo hace un lenguaje potente, con un campo de aplicación ilimitado y sobre
todo, se aprende rápidamente. En poco tiempo, un programador puede utilizar la
totalidad del lenguaje.
Este lenguaje ha sido estrechamente ligado al sistema operativo UNIX, puesto que
fueron desarrollados conjuntamente. Sin embargo, este lenguaje no está ligado a
ningún sistema operativo ni a ninguna máquina concreta. Se le suele llamar
lenguaje de programación de sistemas debido a su utilidad para
escribir compiladores y sistemas operativos, aunque de igual forma se puede
desarrollar cualquier tipo de aplicación.
Concepto de 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.
LENGUAJE DE PROGRAMACIÓN C#
El lenguaje de programación C# fue creado por el danés Anders Hejlsberg que
diseño también los lenguajes Turbo Pascal y Delphi. El C# (pronunciado en inglés
“C sharp” o en español “C sostenido”) es un lenguaje de programación orientado a
objetos. Con este nuevo lenguaje se quiso mejorar con respecto de los dos
lenguajes anteriores de los que deriva el C, y el C++.
Con el C# se pretendió que incorporase las ventajas o mejoras que tiene el
lenguaje JAVA. Así se consiguió que tuviese las ventajas del C, del C++, pero
además la productividad que posee el lenguaje JAVA y se le denomino C#.
Algunas de las características del lenguaje de programación C# son: Su código se
puede tratar íntegramente como un objeto. Su sintaxis es muy similar a la del
3. JAVA. Es un lenguaje orientado a objetos y a componentes. Armoniza la
productividad del Visual Basic con el poder y la flexibilidad del C++. Ahorramos
tiempo en la programación ya que tiene una librería de clases muy completa y bien
diseñada.
Sharp C#
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 tipiado 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.
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 IDL1Es
2
1
.
4. 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 Sting, así como una instrucció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, 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
En copulació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 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 con versiones 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
5. 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 o goto que indique cuál es la siguiente acción a realizar.
•Unificación de tipos
En C# todos los tipos derivan de una superclase 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 de asignació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 redefinan
por parejas.
•Extensión de modificadores
C# ofrece, a través de los atributos, la posibilidad de añadir a los metadatos 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 unsafe, 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
Versiones del lenguaje C#
Estas son las versiones de C # sabido sobre en el momento de escribir estas
líneas:
C # 1.0 en libertad con. NET 1.0 y VS2002 (enero de 2002)
6.
C # 1.2 (bastante extraño), lanzado con NET 1.1 y VS2003 (abril de
2003).. Primera versión de llamar a Disponer Enumerador que
implementa Indispensable. Algunas otras características pequeñas.
C # 2.0 en libertad con. NET 2.0 y VS2005 (noviembre de 2005). Las
principales nuevas características: genéricos, métodos anónimos, tipos que
aceptan valores NULL, bloques de iterado
C # 3.0 en libertad con. NET 3.5 y VS2008 (noviembre de 2007). Las
principales nuevas características: las expresiones lambda, métodos de
extensión, los árboles de expresión, tipos anónimos, tipos implícitos ( var ),
expresiones de consulta
C # 4.0 en libertad con. NET 4 y VS2010 (abril de 2010). Las principales
nuevas características: el enlace en tiempo ( dinámico ), los delegados y la
interfaz de la varianza genérica, más apoyo COM, argumentos con nombre y
parámetros opcionales
C # 5.0 en libertad con NET 4.5 en agosto de 2012.. Principales funciones :
programación asincrónica, información de llamadas atributos.
No hay tal cosa como C # 3.5 - la causa de la confusión en este punto es que el C
# 3.0 está presente en NET 3.5.. El lenguaje y el marco están versionadas de
forma independiente, sin embargo - como en el CLR, que se encuentra en la
versión 2.0 para NET 2.0 a través de 3.5, NET 4, que introduce CLR 4.0, Servicie
Packs pesar... . El CLR en NET 4.5 tiene varias mejoras, pero el control de
versiones está claro: en algunos lugares puede ser referido como CLR 4.5 ( esta
página MSDN utilizado para referirse a ella de esa manera, por ejemplo), pero
el Environment.Version propiedad sigue informes 4.0.xxx.
Una información más detallada acerca de la relación entre el lenguaje, el tiempo
de ejecución y las versiones del marco está disponible en el C # en
profundidad sitio. Esto incluye información sobre qué características de C # 3.0 se
puede utilizar cuando la orientación. NET 2.0. (Si alguien quiere traer todo el
contenido en esta respuesta wiki, son bienvenidos a.)
El entorno de desarrollo integrado (IDE) de Visual C# es un conjunto de
herramientas de desarrollo expuestas a través de una interfaz de usuario
común. Algunas de las herramientas se comparten con otros lenguajes de Visual
Studio, y otras, como el compilador de C#, son exclusivas de Visual C#. En este
tema se proporcionan vínculos a las herramientas de Visual C# más importantes.
Temas relacionados
Título
Descripción
Tutorial: Explorar el
IDE de Visual Studio
con C# o Visual Basic
Proporciona información general de muchas de las
características y herramientas incluidas en Visual Studio para
El desarrollo de aplicaciones.
Crear soluciones y
Describe cómo crear un proyecto que contiene todos los archivos de
7. proyectos
origen, archivos de recursos, tales como iconos, referencias a
archivos externos, y datos de configuración, tales como las opciones
Del compilador.
Introducción al
Diseñador de
proyectos
Proporciona una descripción general del Diseñador de proyectos, que
constituye una ubicación centralizada para administrar las propiedades,
Configuraciones y recursos del proyecto.
Personalizar el
entorno de desarrollo
Explica cómo personalizar barras de herramientas, exportar e importar
configuraciones, y personalizar el IDE para mayor comodidad y
Productividad.
Métodos abreviados
de teclado de Visual
Studio
Describe las combinaciones predeterminadas de método abreviado de
Teclado.
Escribir código en el
editor de código y
texto
Describe las herramientas de Visual Studio que le ayudan a modificar y
manipular texto, código y marcado, para insertar y configurar controles
y otros objetos y espacios de nombres, y para agregar referencias a
Componentes y recursos externos.
IntelliSense para
Visual C#
Proporciona vínculos a los temas que describen las características
específicas de Visual C#, como generación de código automática e
IntelliSense para los miembros usados recientemente.
Fragmentos de código
de Visual C#
Proporciona información general sobre el uso de fragmentos de código
en Visual C# para agregar automáticamente construcciones de código
Comunes a la aplicación.
Escribir código en el
editor de código y
texto
Proporciona vínculos a procedimientos de uso de la ventana Buscar y
reemplazar, Marcadores y la Lista de tareas y la Lista de errores para
Buscar líneas de código.
Ver la estructura del
código
Explica cómo explorar jerarquías de clases, miembros de clase y
Recursos.
Cómo: Agregar un
archivo de
configuración de
aplicaciones a un
proyecto de C#
Describe cómo agregar un archivo de configuración (app.config) a un
proyecto de C#.
Metadatos como
origen
Describe cómo el IDE permite ver los metadatos como código fuente.
8. Refactorización (C#)
Muestra operaciones de refactorización que ayudan a modificar el
código sin cambiar el comportamiento de la aplicación.
Compilar aplicaciones
en Visual Studio
Explica cómo configurar las compilaciones de depuración, de
producción, y especiales en la solución de Visual Studio.
Depurar en Visual
Studio
Describe cómo ejecutar el depurador de Visual Studio para resolver
errores lógicos y semánticos.
Administrar los
recursos de la
aplicación
Muestra cómo agregar o editar los recursos para su proyecto, como
cadenas, imágenes, iconos, audio y archivos.
Elegir una estrategia
de implementación
Compara distintas tecnologías de implementación disponibles en Visual S
Installer.