Publicado el 14 de Enero del 2017
12.485 visualizaciones desde el 14 de Enero del 2017
625,1 KB
75 paginas
Creado hace 17a (16/07/2006)
C#
Pablo Orduña Fernández (aka NcTrun)
Julio 2006
DotNetGroup
This work is licensed under the Creative Commons Attribution License. To view a copy of this license,
visit http://creativecommons.org/licenses/by/2.0/ or send a letter to Creative Commons, 559 Nathan
Abbott Way, Stanford, California 94305, USA
Introducción al cursillo
Introducción a . . .
Introducción a C#
Introducción breve . . .
Algunas novedades . . .
Referencias
Página www
Página de Abertura
JJ
J
II
I
Página 1 de 75
Regresar
Full Screen
Cerrar
Abandonar
1.
Introducción al cursillo
1.1. De qué va este cursillo
• El cursillo está entre los Cursillos de Julio de los grupos de interés de la Universidad de Deusto
– Cursillos de Julio:
∗ Desde hace varios años, alumnos y alumnas de la Facultad de Ingeniería de la Univer-
sidad de Deusto organizan de manera voluntaria una serie de cursillos que abarcan
diversas áreas de conocimiento
∗ Esta actividad es coordinada por la Delegación de Alumnos
∗ Cuenta con el apoyo de profesores y de la Facultad de Ingeniería-ESIDE, que anima e
impulsa estas actividades facilitando el uso de aulas informatizadas y demás recursos
para que su realización sea lo mejor posible.
– Filosofía de los cursillos
∗ ¡Compartir conocimiento!
∗ Ayudar a dar los primeros pasos de una tecnología, lenguaje de programación, etc
· En consecuencia: En un cursillo se abarcan la máxima cantidad de temas en el
mínimo tiempo posible. No es posible profundizar mucho en cada tema, pero sí
ver lo suficiente para que el/la alumno/a pueda seguir aprendiendo por su cuenta,
una vez dados los primeros pasos.
· Cursillos introductorios, no exhaustivos
– Más información sobre los Cursillos de Julio
• Este concretamente se da desde el grupo de .NET de la Universidad (el DotNetGroup)
Introducción al cursillo
Introducción a . . .
Introducción a C#
Introducción breve . . .
Algunas novedades . . .
Referencias
Página www
Página de Abertura
JJ
J
II
I
Página 2 de 75
Regresar
Full Screen
Cerrar
Abandonar
1.2. Objetivos
• Pretende ser una introducción a C#
– cubriendo algunos de los temas más divertidos del lenguaje
– de lo que hay a día de hoy (12-14 de Julio de 2006): C# 2
• En algunos puntos puede ser más que una introducción
– Suelen ser para explicar otros puntos que sí lo pretenden ser
1.3. Requisitos
• Programación orientada a objetos (con algún lenguaje como C++, Java. . . )
Introducción al cursillo
Introducción a . . .
Introducción a C#
Introducción breve . . .
Algunas novedades . . .
Referencias
Página www
Página de Abertura
JJ
J
II
I
Página 3 de 75
Regresar
Full Screen
Cerrar
Abandonar
2.
Introducción a Mono/.NET
2.1.
¿Qué es?
• El .NET Framework es una plataforma de desarrollo de software, enfocada en:
– Desarrollo rápido y explotación de aplicaciones gestionadas (managed ) y orientadas a
objetos
– Independencia del lenguaje
– Independencia de la plataforma
– Transparencia a través de la red
• Esta plataforma ofrece, entre otras cosas:
– Nuevos y modernos lenguajes de programación (C#, VB.NET. . . )
– Compatibilidad con otros lenguajes (Managed C++, J#. . . )
– La posibilidad de incluir nuevos lenguajes de programación
– Integración multilenguaje, reutilización de componentes, herencia entre componentes de-
sarrollados en diferentes lenguajes
– Una extensa framework de librerías de clases independiente del lenguaje
– Un sistema de ejecución de lenguaje común (CLR)
– Un conjunto de servidores .NET
– Programación
∗ web: ASP.NET
∗ gráfica: Windows Forms
∗ de Servicios Web XML independientes de la plataforma vía SOAP y WSDL
– Conjunto de herramientas de desarrollo (Visual Studio .NET, ...)
Introducción al cursillo
Introducción a . . .
Introducción a C#
Introducción breve . . .
Algunas novedades . . .
Referencias
Página www
Página de Abertura
JJ
J
II
I
Página 4 de 75
Regresar
Full Screen
Cerrar
Abandonar
2.2. Common Language Runtime
2.2.1. Características
• La CLR trae incorporadas las características de un runtime moderno:
– Recolección de basura
– Gestión de hilos
– Interoperabilidad con código nativo
– Seguridad en el acceso a código
– Introspección
– . . .
• El CLR es el encargado de ejecutar las aplicaciones .NET
2.2.2. Soporte multilenguaje
• La plataforma es independiente del lenguaje
• Cuenta con un lenguaje universal, el CIL
– Common Intermediate Language, también llamado IL o MSIL
– fácilmente compilable
– cada lenguaje tiene su compilador a CIL
• Luego, del CIL se genera el código nativo de la plataforma en la que se ejecute
– compilador JIT (Just In Time) o AOT (Ahead Of Time) o intérprete
– las diferentes implementaciones de .NET soportan diferentes plataformas
Introducción al cursillo
Introducción a . . .
Introducción a C#
Introducción breve . . .
Algunas novedades . . .
Referencias
Página www
Página de Abertura
JJ
J
II
I
Página 5 de 75
Regresar
Full Screen
Cerrar
Abandonar
Introducción al cursillo
Introducción a . . .
Introducción a C#
Introducción breve . . .
Algunas novedades . . .
Referencias
Página www
Página de Abertura
JJ
J
II
I
Página 6 de 75
Regresar
Full Screen
Cerrar
Abandonar
• Gracias a esto:
– Se puede desde un lenguaje utilizar componentes escritos en otro lenguaje
– Dada una librería, su API es accesible a todos los lenguajes
– Lo único que es necesario es que estos lenguajes tengan su compilador a CIL
– Incluso se pueden reutilizar compiladores hechos por terceros
2.2.3. Librerías
• Como hemos dicho, .NET trae una gran cantidad de librerías
• Todas estas librerías son accesibles a todo lenguaje que cuente con compilador para el CIL
Introducción al cursillo
Introducción a . . .
Introducción a C#
Introducción breve . . .
Algunas novedades . . .
Referencias
Página www
Página de Abertura
JJ
J
II
I
Página 7 de 75
Regresar
Full Screen
Cerrar
Abandonar
2.3. Estandarización de .NET
• Microsoft estandarizó parte del .NET Framework en el ECMA
– En los estándares ECMA 334 (C#) y ECMA 335 (CLI: Common Language Infrastructure)
Estandarizó el núcleo de .NET y C#
– C# y la CLI además está estandarizado por la ISO en los estándares ISO/IEC 23270 y
ISO/IEC 23271 respectivamente
• Pero otros componentes no están estandarizados:
– ASP.NET
– Windows Forms
– ADO.NET
Introducción al cursillo
Introducción a . . .
Introducción a C#
Introducción breve . . .
Algunas novedades . . .
Referencias
Página www
Página de Abertura
JJ
J
II
I
Página 8 de 75
Regresar
Full Screen
Cerrar
Abandonar
2.4.
Implementaciones
• Microsoft tiene su implementación de .NET
• Pero hay más implementaciones, algunas Open Source, como:
– Mono
– DotGNU
• En el aula están instaladas:
– La implementación de Microsoft en Windows
∗ .NET 1.1 (Visual Studio 2003)
· Microsoft ha publicado este curso VS.NET 2005, con .NET 2
– Mono en Ubuntu
∗ Versión 1.1.16
• La versión 1.1.16 de Mono implementa C# 2, que daremos en clase
Aunque todo lo que vayamos a dar sea estándar, en la versión instalada en el aula hay
cosas que sólo funcionarán con Mono
Introducción al cursillo
Introducción a . . .
Introducción a C#
Introducción breve . . .
Algunas novedades . . .
Referencias
Página www
Página de Abertura
JJ
J
II
I
Página 9 de 75
Regresar
Full Screen
Cerrar
Abandonar
2.5. Versiones
Versiones del .NET Framework
• 1.0 → Enero 2002
• 1.1 → Abril 2003. Instalado en el aula en la partición de Windows. Viene con C# 1
• 2.0 → Noviembre 2005. En español a comienzos de 2006. Viene con C# 2
En Mono:
• Algunas características de C# 2 están disponibles en el compilador mcs
• Para hacer uso de todas las características de C# 2, hay que utilizar gmcs
• En MonoDevelop, basta con activar el runtime 2.0 en las Opciones del Proyecto.
Introducción al cursillo
Introducción a . . .
Introducción a C#
Introducción breve . . .
Algunas novedades . . .
Referencias
Página www
Página de Abertura
JJ
J
II
I
Página 10 de 75
Regresar
Full Screen
Cerrar
Abandonar
2.6.
Instalación de Mono
• http://www.mono-project.com/Downloads
• En Windows hay un instalador que viene con Mono, GTK# y xsp
• Para GNU/Linux en x86 está disponible un instalador para cualquier distribución
– Está muy bien para cacharrear con Mono:
∗ Fácil de instalar (instalador GTK)
∗ Instalación limpia (desinstalación limpia)
∗ Viene con la última versión de Mono
∗ Independiente de dependencias etc. (da lo mismo si usas sid, testing, suse o lo que
sea)
– Por otra parte, también tiene sus desventajas:
∗ Es fácil para hacer poca cosa. Para hacer que xsp se ejecute como usuario www-
data, tienes que configurarlo tú mismo (que es hacer lo que los mantenedores de los
paquetes ya han hecho por tí)
∗ Dificil de mantener: tienes que estar pendiente de actualizaciones
∗ Las dependencias no lo detectan. Algunos programas exigen otras dependencias.
Introducción al cursillo
Introducción a . . .
Introducción a C#
Introducción breve . . .
Algunas novedades . . .
Referencias
Página www
Página de Abertura
JJ
J
II
I
Página 11 de 75
Regresar
Full Screen
Cerrar
Abandonar
2.7.
Introducción al entorno
• Mono viene con las baterías puestas:
– IDE: MonoDevelop
∗ Port del SharpDevelop para GNOME, con múltiples nuevas características para de-
sarrollo de aplicaciones para GNOME
– Muchas otras herramientas que quedan fuera del cursillo
• Vamos a poner un poco en práctica lo que hemos comentado hasta ahora (todo esto se explica
mejor en el cursillo de Mono):
– Vamos a ejemplos/holamundo
– Compilamos el ”hola mundo”: mcs holamundo.cs
nctrun@ord3p:~/cursillo_cs$ cd ejemplos/holamundo/
nctrun@ord3p:~/cursillo_cs/ejemplos/holamundo$ mcs holamundo.cs
holamundo.cs(26,7): warning CS0219: The variable ‘dato3’ is assigned but i
Comentarios de: c# Pablo Orduña Fernández (1)