C#.NET. Capítulo 1. Este libro está dirigido a todas aquellas. personas que desean aprender. el lenguaje de programación C# y tienen



Documentos relacionados
Uso de Visual C++ Pre-Practica No. 3

Visual Studio 2008 es el conjunto de herramientas de

Programación III. 1. Facultad: Ingeniería Escuela: Computación Asignatura:Programación III I. OBJETIVOS II. INTRODUCCIÓN TEÓRICA

Módulo 1 El lenguaje Java

Guía de inicio rápido a

Capítulo 9. Archivos de sintaxis

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

Tutorial: Primeros Pasos con Subversion

DOCUMENTOS COMPARTIDOS CON GOOGLE DOCS

MACROS. Automatizar tareas a través del uso de las macros.

FUNDAMENTOS DE PROGRAMACION CON C#

Instalación del Admin CFDI

La ventana de Microsoft Excel

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10

Para descargar la versión más reciente de Skype accedemos al sitio web de Skype y luego hacemos clic en Descargar Skype para escritorio de Windows.

Curso de PHP con MySQL Gratis

Manual para usuarios USO DE ONEDRIVE. Universidad Central del Este

WINDOWS. Iniciando Windows. El mouse

Introducción a Moodle

Selección de los puntos de montaje

REGISTRAR LOS SITIOS WEB MÁS INTERESANTES

MANUAL PARA GESTIÓN DE INCIDENCIAS INFORMÁTICAS

En términos generales, un foro es un espacio de debate donde pueden expresarse ideas o comentarios sobre uno o varios temas.

El Escritorio. En el escritorio tenemos iconos que permiten abrir el programa correspondiente.

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

Manual de Gunaguaro Instalación y Uso

Guía N 1: Fundamentos básicos(i)

ENTORNO DE DESARROLLO MICROSOFT.NET 2010

2. Seleccione OneDrive en la parte superior de los sitios de SharePoint u Office 365 de su organización.

Tutorial: Cómo realizar tu primer programa en C++ En el Sistema Operativo Windows

Plantillas Office. Manual de usuario Versión 1.1

Carlos Castro Grande 1

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto

Office Online Office Online

ZILOG DEVELOPER STUDIO

MANUAL BASICO DE WEBEX

Módulo I - Word. Iniciar Word Finalizar Word Definición de elementos de pantalla Escribir texto en un documento El cursor...

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

CAPÍTULO 3 VISUAL BASIC

Capítulo 3 Usando GUIDE. 3.1 Acerca de GUIDE

Capítulo 1 Documentos HTML5

1 Itinerario. 2 Descripción y funcionalidades principales. Google Docs. 1.1 Qué vamos a hacer? 1.2 Qué pasos vamos a seguir?

PowerPoint 2010 Manejo de archivos

TEMA 20 EXP. WINDOWS PROC. DE TEXTOS (1ª PARTE)

Creado dentro de la línea de sistemas operativos producida por Microsoft Corporation.

G R U P O S INDICE Cómo crear una cuenta en ARQA? Cómo tener un grupo en ARQA? Secciones y funcionalidades de los grupos Configuración del grupo

Sistema de Gestión Portuaria Sistema de Gestión Portuaria Uso General del Sistema

Notas para la instalación de un lector de tarjetas inteligentes.

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

Tema2 Windows XP Lección 1 MENÚ INICIO y BARRA DE TAREAS

Tareas básicas en OneNote 2010 Corresponde a: Microsoft Office OneNote 2010

Fundamentos CAPÍTULO 1. Contenido

Introducción a la extensión de scripting en gvsig 2.0

Como verás pone Microsoft Office y si te colocas sobre esta línea debería salir:

Ministerio de Educación. Base de datos en la Enseñanza. Open Office. Módulo 5: Report Builder

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta

La pestaña Inicio contiene las operaciones más comunes sobre copiar, cortar y pegar, además de las operaciones de Fuente, Párrafo, Estilo y Edición.

Para ingresar a la aplicación Microsoft PowerPoint 97, los pasos que se deben seguir pueden ser los siguientes:

Practica 1 Instalación del SGBD. Ing. María Elena Reyes Castellanos. Miguel Ángel Garduño Córdova Isaac Méndez Hernández

Unidad Didáctica 12. La publicación

WINDOWS XP. Está situada en la parte inferior, muestra información sobre el trabajo que estamos desarrollando en la ventana

API. Administración Portuaria Integral, Veracruz. Manual de Usuario del software para generar la programación de conceptos de Obras...

POWER POINT. Iniciar PowerPoint

INTRODUCCIÓN A LA PROGRAMACIÓN WEB UNIDAD. Estructura de contenidos: cisvirtual@ucv.edu.pe. 1.

PLANTILLAS DE DOCUMENTOS EN WORD 2007

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento

Bienvenidos a la presentación, producción de informes y depuración (debugging). En esta unidad discutiremos la producción de informes utilizando la

Modulo 1 El lenguaje Java

Manual del Usuario. Sistema de Help Desk

Servicio WWW World Wide Web Office Express

RELACIÓN DE PRÁCTICAS DEL TEMA 2

WINDOWS : TERMINAL SERVER

Apéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario

Comisión Nacional de Bancos y Seguros

Taller: Introducción a Windows Communication Foundation

10. El entorno de publicación web (Publiweb)

Comentario sobre el entorno de desarrollo Microsoft Visual Studio 2005 Juan Manuel Lucas

LA INFORMÁTICA EN EL AULA

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS

Accede a su DISCO Virtual del mismo modo como lo Hace a su disco duro, a través de:

SESIÓN 1: POWER POINT 2013

CONSEJOS DE CÓMO CREAR UN DOCUMENTO ADOBE PDF ACCESIBLE A PARTIR DE UN DOCUMENTO MICROSOFT WORD ACCESIBLE

Departamento CERES Área de Tarjetas Inteligentes Manual de Usuario

UNIVERSIDAD DEL ISTMO Ingeniería en computación Estructura de datos

COMO CREAR UNA PÁGINA WEB 2-INTRODUCCIÓN A DREAWEAVER

Manual de software. Dynamic Cloud. 10/2014 MS-Dynamic_Cloud v1.2

Presentaciones compartidas con Google Docs (tutorial)

Guía de uso del Cloud Datacenter de acens

Módulo II - PowerPoint

Uso de Outlook y Lync

APUNTES DE WINDOWS. Windows y sus Elementos INSTITUTO DE CAPACITACIÓN PROFESIONAL. Elementos de Windows

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora

15 CORREO WEB CORREO WEB

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

Utilización del sistema operativo GNU/ Linux en las netbooks

Que es Velneo vdataclient V7?

Curso Internet Básico - Aularagon

Transcripción:

C# Capítulo 1 C#.NET Este libro está dirigido a todas aquellas personas que desean aprender el lenguaje de programación C# y tienen conocimientos básicos de programación o no tienen ninguna experiencia previa en la programación de computadoras. El enfoque del libro es guiar paso a paso en el aprendizaje del lenguaje. Aunque C# es un lenguaje orientado a objetos, en los primeros capítulos adoptaremos una filosofía estructurada con el fin de hacer todavía más fácil el aprendizaje para todos nosotros. SERVICIO DE ATENCIÓN AL LECTOR: lectores@mpediciones.com Breve historia de la programación para Windows 14 Comprender.NET 15 Cómo crear una aplicación.net 17 Conseguir un compilador de C# 18 El ambiente de desarrollo 18 Crear nuestra primera aplicación 19 Resumen 29 Actividades 30

1. C#.NET BREVE HISTORIA DE LA PROGRAMACIÓN PARA WINDOWS Hace algunos años, la única forma de programar para Windows era hacer uso de un compilador de C o C++, realizando llamados al API de Windows. El API es una gran colección de funciones que se relacionan, que nos permiten comunicarnos con el sistema operativo. Por medio del API de Win32 se programaban las ventanas, los botones y demás elementos que componen una aplicación Windows. El problema de este tipo de programación era lo enorme y complejo que un programador encontraba el API Win32, que contenía miles de funciones en su interior. Esto hacía que realmente muy pocos programadores lo conocieran en su totalidad. Pero la complejidad no solamente se encontraba en la cantidad de funciones, sino también en la sintaxis y en la forma en que se programaba. Era necesario tener un conocimiento muy profundo. Para facilitar la programación de las aplicaciones para Windows surgieron diferentes opciones, cuya finalidad era poder hacer las aplicaciones sin tener que pasar por la complejidad de Win32. Uno de estos intentos fue conocido como OWL. Sin embargo, tiempo después Microsoft creó MFC para C++. MFC es un conjunto de clases que envuelve a Win32 y facilita su programación. Con MFC los procesos más comunes se agrupan en funciones de forma tal que con una simple llamada a una función de MFC se puede hacer lo que mismo para lo que antes se necesitaban 10 llamadas en Win32 y muchos parámetros. Sin embargo, Win32 está debajo de MFC. La programación MFC simplifica las cosas, pero muchos programadores que venían del paradigma de programación estructurada no se sentían a gusto con él. Otra de las opciones que surgieron fue Visual Basic, un lenguaje que logró gran popularidad, especialmente en Latinoamérica. Visual Basic también trabajaba por arriba de Win32, pero basaba su sintaxis en el antiguo lenguaje Basic. Es muy sencillo de programar y aprender, y una de las características que le dio gran popularidad fue la facilidad con la que se podían crear interfaces de usuario. Para esto sólo había que arrastrar componentes pre-armados, como botones, cajas de texto, etiquetas de texto, contenedores de imágenes, etcétera. También lo beneficiaba su fácil conectividad con bases de datos. Sin embargo, hasta antes de la versión.net este lenguaje tenía ciertas limitaciones, ya que no se podía llevar a cabo programación orientada a objetos. Otro lenguaje que surgió con su propio framework es JAVA, cuya ventaja es ser multiplataforma. Una de sus características es el uso de un runtime, lo que indica que la aplicación desarrollada, en lugar de correr directamente en el microprocesador se ejecuta en un programa llamado runtime y éste se encarga de 14

Breve historia de la programación para Windows ejecutar el código en el microprocesador correspondiente. Si se tiene el runtime para Windows, el programa de JAVA se ejecuta sin problemas. Cuando nosotros deseábamos tener un programa que se pudiera ejecutar, era necesario compilarlo. Cada uno de los lenguajes tenía su propio compilador. No era sencillo poder compartir código de C++ con código de Visual Basic, había que buscar un punto de comunicación entre éstos, por lo que la traducción entre los lenguajes era difícil. Para poder compartir código entre los lenguajes surge un modelo conocido como COM. COM nos permite crear componentes binarios. Esto quiere decir que yo puedo programar un componente en Visual Basic, y un programador de C++ puede tomarlo y hacer uso de él, ya que de por sí el componente ya es código compilado y no código fuente en el lenguaje de origen. La programación de COM también tenía sus complejidades y surgió ATL para ayudar en su desarrollo. Con todo esto, llega el momento en el que es necesario ordenar, facilitar y organizar el desarrollo de las aplicaciones para Windows. Con esta filosofía surge.net. Comprender.NET El framework.net es una solución a toda esa problemática y brinda grandes beneficios, no solamente para el desarrollador, sino también para el proceso de desarrollo. En primer lugar,.net permite trabajar con código ya existente, es posible hacer uso de los componentes COM e incluso si lo necesitamos, realizar llamados al API de Windows. Cuando el programa.net está listo es mucho más fácil de instalar en la computadora de los clientes que las aplicaciones tradicionales realizadas en los lenguajes anteriormente nombrados. Hay una integración fuerte entre los lenguajes. Un programador de C# puede entender fácilmente el código de un programador de Visual Basic.NET y ambos pueden programar en el lenguaje con el que se sienten más cómodos. Esto se debe a que todos los lenguajes que hacen uso de.net comparten las mismas librerías de.net, por lo que no importa en qué lenguaje programemos ya que las reconocemos en todos. La única dificultad que podremos encontrar es la sintaxis utilizada en cada uno de los lenguajes, pero esto no será un impedimento ya que con el correr de los años la sintaxis de determinados lenguajes se ha implementado, modernizado y mejorado en los otros para lograr mayor facilidad en su comprensión. Empecemos a conocer los diferentes componentes de.net. CLR El primer componente de.net que conoceremos es el Common Language runtime, también conocido como CLR. Éste es un programa de ejecución común a todos los lenguajes. Este programa lee el código generado por el compilador y empieza su ejecución, sin importar si el programa fue creado con C# o con Visual Basic.NET o algún otro lenguaje de.net. El CLR lo lee y lo ejecuta. 15

1. C#.NET Assembly Cuando tenemos un programa escrito en un lenguaje de.net y lo compilamos se genera el assembly, que contiene el programa compilado en lo que conocemos como CIL (Common Intermediate Language), y también información sobre todos los tipos que se utilizan en el programa. CIL Los programas de.net no se compilan directamente en código ensamblador del compilador. En su lugar, se compilan a un lenguaje intermedio conocido como CIL. Este lenguaje es leído y ejecutado por el runtime. El uso del CIL y el runtime es lo que le da a.net su gran flexibilidad y también su capacidad de ser multiplataforma. El framework.net tiene lo que se conoce como especificaciones comunes de lenguaje o CLS, por sus siglas en inglés. Estas especificaciones son las guías que cualquier lenguaje que desee usar.net debe de cumplir para poder interactuar con el runtime. Una ventaja de esto es que si nuestro código cumple con las CLS podemos tener interoperabilidad con otros lenguajes, por ejemplo, creando una librería en C# y que un programador de Visual Basic.NET pueda utilizarla sin problema alguno. Uno de los puntos más importantes de estás guías es el CTS, del inglés (Common Type System), sistema de tipos comunes. En los lenguajes de programación, cuando deseamos guardar información, ésta se coloca en una variable. Las variables tendrán un tipo denominado, dependiendo del la información a guardar. Por ejemplo, el tipo puede ser para guardar un número entero, otro para guardar un número con decimales y otro para guardar una frase o una palabra. El problema es que cada lenguaje guarda la información de manera diferente. Algunos lenguajes guardan los enteros con 16 bits de memoria y otros con 32 bits, incluso algunos lenguajes como C y C++ no tienen un tipo para guardar cadenas o frases. Para solucionar esto, el framework de.net define por medio del CTS cómo funcionarán los tipos en su entorno. Esto es importante ya que todo lenguaje que trabaje con.net debe de usar los tipos tal y como se señalan en el CTS. Ahora que ya conocemos los conceptos básicos, podemos ver cómo todo esto se une..net ES MULTIPLATAFORMA Podemos ejecutar el framework.net en Windows y en diversos entornos operativos. Esto significa que, podemos programar en una plataforma en particular, y mientras exista el runtime de nuestra aplicación para cualquier otro sistema operativo, el programa se ejecutará sin problema en esta otra plataforma. 16

Cómo crear una aplicación.net Cómo crear una aplicación.net El primer paso a dar es tener un lenguaje de programación, que en nuestro caso será C#. Con éste creamos el código fuente del programa. Código fuente son las instrucciones que le dicen al programa qué hacer. Nosotros lo escribimos, y cuando hemos finalizado nuestra codificación, entonces utilizamos el compilador, que toma el código fuente y crea un assembly para nosotros. El assembly tendrá el equivalente de nuestro código, pero escrito en CIL, que será interpretado fácilmente por el framework.net. Esto nos lleva a otra de las ventajas de.net. Nuestro código puede ser optimizado por el compilador para la plataforma hacia la cual usaremos el programa, es decir, el mismo programa puede ser optimizado para un dispositivo móvil, una PC normal o un servidor, sin tener que hacer adaptaciones en él. Cuando deseamos invocar el programa, el runtime entra en acción, ya que lee el assembly y crea todo el entorno necesario para nosotros. El runtime empieza a leer las instrucciones CIL del assembly y las compila para el microprocesador de la computadora en la que corre el programa. Esto se conoce como JIT (Just In Time), compilación Justo a Tiempo. De esta manera, a medida que se avanza en la ejecución del programa, éste se compila. Todo esto ocurre de manera transparente para nosotros. El framework.net provee los servicios de administración de memoria y recolector de basura para los programas que se están ejecutando. En los lenguajes no administrados como C y C++, el programador es responsable de la administración de memoria. En programas grandes esto puede ser una labor complicada que puede llevar a errores durante la ejecución del programa. Afortunadamente, los lenguajes administrados como C# tienen un modelo en el que nosotros como programadores ya no necesitamos ser responsables por el uso de la memoria. El recolector de basura se encarga de eliminar todos los objetos que ya no son necesarios. Cuando un objeto ya no es necesario el recolector lo toma y lo elimina. De esta forma, se libera memoria y recursos. El recolector de basura trabaja de forma automática para nosotros. Éste también ayuda a eliminar toda la administración de recursos y la memoria que era necesaria en Win32. En algunos casos especiales como con los archivos, las conexiones a bases de datos o de red se tratan de recursos no administrados. Para estos casos debemos de indicar explícitamente cuándo deben de ser destruidos. MONO Dentro de la comunidad de Linux existe un esfuerzo por llevar a cabo una implementación de.net conocida como Mono. De esta forma, los desarrolladores de Linux pueden aprovechar este framework. Un punto a tener en cuenta es que la versión.net que maneja Mono no siempre es la más reciente del framework debido al tiempo que lleva poder desarrollar esto. 17

1. C#.NET Conseguir un compilador de C# Existen varias opciones de compiladores para C#. En este libro utilizaremos la versión de C# que viene con Visual Studio 2008, pero también es posible usar versiones anteriores. Al momento de publicación de este libro, este compilador utiliza la versión 3.5 del framework. La mayoría de los ejemplos debe de poder compilarse y ejecutarse sin problema con las versiones anteriores del framework, incluso para aquellos que decidan utilizar Mono como opción. Una mejor opción, en caso de que no podamos conseguir la versión profesional de Visual Studio 2008, es la versión Express. Esta versión es gratuita y se puede descargar de Internet. Lo único que se necesita es llevar a cabo un pequeño registro por medio de cualquier cuenta de Hotmail o Passport. Una vez que hemos descargado el compilador, podemos proceder a llevar a cabo la instalación. La instalación del compilador es muy similar a la instalación de cualquier otro programa de Windows y también recordemos que debemos registrarlo antes de los 30 días de instalado. El ambiente de desarrollo Una vez finalizada la instalación podemos iniciarlo. Siempre debemos recordar como buena práctica que en todo entorno de desarrollo nuevo al que accedemos, la mejor manera de familiarizarse con éste es investigándolo y apuntándonos en un papel o archivo de texto cómo acceder a las opciones más comunes. Así aprenderemos a manejarnos dentro de éste más rápidamente. Cuando el programa inicia observaremos que se ve de forma similar a la siguiente figura: Básicamente, la interfaz está dividida en tres partes. En el centro tenemos la página de inicio, en la que encontramos cómo llegar a nuestros proyectos más recientes. También en ella podemos recibir comunicados y noticias sobre el desarrollo de software con C#, comunicados emitidos desde el sitio web oficial de Microsoft. En esta misma parte de la interfaz, pero como páginas diferentes tendremos zonas de edición. Estas zonas nos permitirán editar el código del programa, las interfaces de usuario, los iconos y demás recursos. Editar el código del programa es una actividad muy sencilla que no debe preocuparnos. Si sabemos utilizar cualquier tipo de editor de texto como Word, EL COMPILADOR JIT Al compilador JIT también se lo conoce como Jitter. Forma parte del runtime y es muy eficiente. Si el programa necesita volver a ejecutar un código que ya se ha compilado, el Jitter en lugar de volver a compilar, ejecuta lo ya compilado, y de esta forma mejora el desempeño. 18

Crear nuestra promera aplicación Wordpad o Bloc de notas, entonces podemos editar el código del programa. Los demás editores también son útiles, pero no los necesitaremos para los ejemplos de este libro. Figura 1. Aquí vemos la ventana principal de C# Express 2008, cuyo entorno aparecerá siempre que accedamos a éste. Del lado derecho tenemos una ventana que se conoce como explorador de soluciones, en la que aparecerán otras ventanas que nos dan información sobre el proyecto que estamos desarrollando. Veremos algunas de estas ventanas con detenimiento un poco más adelante. En la parte inferior encontramos otra ventana. En esta zona generalmente aparecen las ventanas que utilizará el compilador para comunicarse con nosotros, por ejemplo estará allí la ventana que nos indica los errores que tiene nuestro programa. En la parte superior encontraremos los menús y las barras de herramientas, que son típicos de cualquier aplicación Windows. Crear nuestra primera aplicación Para familiarizarnos más con C# Express lo mejor es crear un primer proyecto y trabajar sobre él. Comenzaremos creando un pequeño programa que nos muestre un mensaje en la consola o línea de comandos de Windows. Luego adicionaremos otros elementos para que podamos explorar las diferentes 19

1. C#.NET ventanas de la interfaz de usuario. Para crear un proyecto tenemos que seleccionar el menú Archivo/Nuevo Proyecto. Aparecerá un cuadro de diálogo como el que podemos ver en la siguiente figura. Figura 2. Éste es el cuadro de diálogo que usamos para crear un nuevo proyecto. Con él es posible crear diferentes tipos de proyectos. En la parte superior del cuadro de diálogo aparecen listados los diferentes tipos de proyectos que podemos crear, entre ellos, debemos seleccionar el llamado Aplicación de Consola ó Console Application para la versiòn en inglès. En la parte inferior colocaremos el nombre de nuestro proyecto. En este caso colocaremos MiProyecto (cada nuevo proyecto que crearemos tendrá su propio nombre). Después simplemente oprimimos el botón OK o Aceptar. ENCONTRAR EL CÓDIGO FUENTE RÁPIDO Si por algún motivo cerramos el editor del código fuente o no aparece en nuestra interfaz de usuario, la forma más sencilla de encontrarlo es por medio del explorador de soluciones. Simplemente debemos dirigirnos al documento que representa nuestro código fuente y si hacemos doble clic en él, el código fuente aparecerá.fdgbdfghfg 20

Crear nuestra promera aplicación En algunos pocos segundos C# Express crea el proyecto. Visual Studio (en cualquiera de sus versiones) hace uso de soluciones y proyectos. Una solución puede tener varios proyectos, por ejemplo, Office tiene diferentes productos como Word, Excel y PowerPoint. Office es una solución y cada producto es un proyecto. El proyecto puede ser un programa independiente o una librería, y puede tener uno o varios documentos, que pueden ser el código fuente y diversos recursos. Podemos observar que nuestra interfaz de usuario ha cambiado un poco. Las ventanas ya nos muestran información y en la zona de edición tenemos el esqueleto para nuestro programa. En la imagen a continuación veamos la ventana del Explorador de Soluciones. El explorador de soluciones nos muestra la información de la solución de forma lógica. Si observamos, veremos que es como un pequeño Figura 3. Esta figura nos muestra la ventana del explorador de soluciones. árbol: en la raíz encontramos a la solución y cada proyecto que tengamos en esa solución será una rama. Cada proyecto a su vez también tendrá sus divisiones. En nuestro caso vemos tres elementos: dos de ésos son carpetas. En una se guardan las propiedades del proyecto y en la otra las referencias (a lo largo de este libro iremos haciendo uso de cada una de estas carpetas). El tercer elemento es un documento llamado Program.cs. Este archivo, representa el documento donde guardamos el código fuente de nuestra aplicación. En las antiguas versiones de Visual C++ la extensión de estos archivos era.cpp, derivando la misma de C plus plus, en Visual C#, la extensión de los programas es.cs. PARA ENCONTRAR LAS VENTANAS RÁPIDAMENTE Algunas veces es necesario cerrar las diferentes ventanas de la interfaz de usuario porque el entorno de desarrollo se torna molesto o pesado. Si necesitamos volver a verlas, la forma más sencilla es ir al menú de Vista o View y allí seleccionar la ventana que deseamos. 21

1. C#.NET En el área de edición podemos observar que tenemos un esqueleto para que a partir de ahí podamos crear nuestro propio programa. Para entender lo que tenemos ahí es necesario conocer un concepto: namespace. El namespace es una agrupación lógica que hacemos, por ejemplo, todo el código que podemos tener relacionado con matemática puede quedar agrupado adentro del namespace Math. Otro uso que tiene el namespace es el de resolver conflictos con los nombres. Por ejemplo, supongamos que tenemos un proyecto muy grande y varios programadores trabajan en él, es posible que dos o más programadores creen un método que tenga el mismo nombre. Esto generaría un conflicto, ya que el programa no podría saber qué versión utilizar. La forma de resolver esto es que cada programador tenga su propio namespace y hacer referencia al namespace correspondiente según la versión que deseemos utilizar. El framework de.net nos provee de varios namespaces donde tenemos miles de clases y métodos ya creados para nuestro uso. Cuando deseamos utilizar los recursos que se encuentran en un namespace programado por nosotros o por otros programadores debemos de hacer uso de un comando de C# conocido como using. Como podemos ver en la parte superior del código del ejemplo a continuación, tenemos varios using que hacen referencia a los namespace que necesita nuestra aplicación. Si necesitamos agregar más namespaces, lo hacemos en esta sección. using System; using System.Collections.Generic; namespace MiProyecto { } En el código a continuación se define el namespace propio de nuestro proyecto. Esto se hace de la siguiente manera: namespace MiProyecto { } El namespace que creamos se llama MiProyecto. Como podemos ver, el namespace usa llaves de apertura y cierre { } como delimitadores, que se conoce como un bloque de código. Todo lo que se coloque entre { } pertenecerá al namespace. Ahí es donde colocaremos nuestro código. 22

Crear nuestra promera aplicación Dentro del bloque de código encontramos la declaración de una clase. C# es un lenguaje basado en la orientación a objetos, y por eso necesita que declaremos una clase para nuestra aplicación. El concepto de clase se verá más adelante, mientras tanto debemos saber que la clase para nuestra aplicación se llama Program, y que ella tiene su propio bloque de código. Todos los programas necesitan de un punto de inicio, un lugar que indique dónde empieza la ejecución del programa. En C#, al igual que en otros lenguajes, el punto de inicio es la función Main(). Esta función también tiene su propio bloque de código. Adentro de ésta siempre colocaremos el código principal de inicio de nuestra aplicación, aunque es posible tener más funciones o métodos y clases. Las partes y características de las funciones se verán en un capítulo posterior. Ahora es el momento de crear nuestra primera aplicación. Modificaremos el código de la función tal y como se muestra a continuación, y luego, cuando agreguemos la sentencia adentro de Main(), debemos fijarnos qué sucede inmediatamente después de colocar el punto. using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace MiProyecto { class Program { static void Main(string[] args) { Console.WriteLine( Hola Mundo! ); } } } Si logramos observar, cuando se escribió la palabra Console y el punto apareció un recuadro que listaba diferentes elementos. Este cuadro se llama autocompletar y nos permite trabajar rápidamente y reducir al mínimo posible la cantidad de errores de sintaxis. El cuadro de autocompletar nos muestra sugerencias palabras, comandos, variables, métodos, etcétera, que se podrían usar a continuación. Si lo deseamos, seleccionamos algún elemento de esa lista, y él lo escribe por nosotros. A medida que avancemos y nos familiaricemos con la programación de C# veremos que es de gran ayuda. 23

1. C#.NET Hemos colocado una sentencia que escribirá el mensaje Hola Mundo en la consola. Es un programa muy sencillo pero nos permitirá aprender cómo llevar a cabo la compilación de la aplicación y cómo ver el programa en ejecución. Compilar la aplicación Una vez que hemos finalizado la escritura de nuestro programa, podemos llevar a cabo la compilación. Como aprendimos anteriormente, esto generará el assembly que luego será interpretado por el runtime para ejecutar las instrucciones. Para poder compilar la aplicación debemos de seleccionar el menú Construir o Build y luego seleccionar Construir Solución o Build Solution. El compilador empezará a trabajar y en la barra de estado veremos que nuestra solución se ha compilado exitosamente. Figura 4. Para compilar nuestra aplicación podemos acceder más rápidamente con la tecla F6. Ejecutar la aplicación Una vez que la compilación ha sido exitosa entonces podemos ejecutar nuestro programa y ver cómo trabaja. Tenemos dos opciones para llevar a cabo la ejecución. La primera es ejecutar con depuración y la segunda es la de ejecutar sin depurador. El depurador es un programa, incoporado en nuestro entorno de desarrollo, que nos ayuda a corregir errores en tiempo de ejecución y de 24

Crear nuestra promera aplicación lógica. En el último capítulo del libro aprenderemos cómo utilizarlo. De preferencia debemos de utilizar la ejecución sin depurador y hacer uso de la ejecución con depuración únicamente cuando hagamos uso de éste. Ahora ejecutaremos nuestra aplicación. Para realizar esto seleccionamos desde el menú Debug o Depurar, la opción Iniciar sin Depuración ó Start Without Debugging, dependiendo de la versión de nuestro entorno de desarrollo. Figura 5. Con el menú Iniciar sin Depuración nuestro programa se ejecutará y se evitará el análisis de la correcta escritura del código. Cuando el programa se ejecuta, aparece una ventana. A esta ventana la llamamos consola, similar a la ventana de línea de comandos de D.O.S., que se ejcuta desde Windows, y en ella se muestra la ejecución del programa. INTERFACES GRÁFICAS Éste es un libro de inicio a la programación con C#, por eso los primeros ejemplos se ejecutarán en la consola. Una vez comprendidos los conceptos principales, es posible aprender cómo se programan las formas e interfaces gráficas en C#. Este tipo de programación no es difícil, pero requiere aprender los conocimientos básicos de programación orientada a objetos. 25

1. C#.NET Figura 6. Ahora podemos ver nuestra aplicación ejecutándose en la consola. En la consola podemos leer el mensaje que habíamos colocado al momento de escribir el código de nuestra primera aplicación. Cómo detectar si un programa está mal En algunas ocasiones puede ocurrir que escribimos erróneamente el programa. Cuando esto sucede, éste no podrá compilarse ni ejecutarse en forma correcta, provocando lo que se conoce como Bug. Si esto llegase a ocurrir debemos de cambiar lo que se encuentra mal. Coloquemos un error a propósito para que veamos qué reacción tiene el compilador. using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace MiProyecto { class Program { 26

Crear nuestra promera aplicación } } static void Main(string[] args) { Consola.WriteLine( Hola Mundo! ); } En el programa hemos cambiado Console por Consola, lo que provocará un error. Ahora podemos tratar de compilar nuevamente y en la siguiente figura vemos la reacción que tendrá el compilador ante ese error. Figura 7. El programa tiene un error, por lo que no se podrá compilar. Como ya sabemos, la ventana que aparece en la parte inferior de nuestra interfaz de usuario es usada por el compilador para comunicarse. Vemos que aparece una ventana llamada lista de errores, en la que encontraremos listados todos los errores de programación cometidos en el programa. En el capítulo dedicado a la depuración, aprenderemos a utilizar esa ventana con mayor detalle. Ahora simplemente debemos saber que siempre tenemos que resolver el primer problema de la lista, y que podemos ir directamente hasta donde se encuentra el error si hacemos doble clic con el mouse sobre él. 27

1. C#.NET La vista de clases Ahora veremos otra herramienta que nos es útil. Esta herramienta se llama vista de clases, en la que podemos obtener información sobre la solución que creamos, pero a diferencia del explorador de soluciones, la información está colocada de forma lógica. Con esta vista podemos encontrar rápidamente los namespaces de nuestra solución y adentro de ellos las clases que contienen. Si lo deseamos, podemos ver los métodos que se encuentran en cada una de las clases, pero esta vista no sólo permite observar la información lógica, sino que también nos permite navegar rápidamente en nuestro código. Para mostrar la vista de clases debemos de ir al menú Vista y luego seleccionar Vista de Clases. Una ventana aparecerá en nuestra interfaz de usuario. Figura 8. Para mostrar la vista de clases debemos de usar el menú de vista. La ventana de la vista de clases está divida en dos secciones. La sección superior nos permite ver la relación lógica y jerárquica de los elementos, y en la parte inferior vemos los métodos que componen alguna clase en particular. En la raíz del árbol encontramos el proyecto, que contendrá las referencias necesarias y el namesapace MiProyecto. Si tuviéramos más namespaces, éstos aparecerían ahí. Al abrir dicho namespace, encontramos las clases que están declaradas adentro de él, y en este caso solamente tenemos la clase Program. Si seleccionamos dicha clase, veremos que en la parte inferior se muestran los elementos declarados en su interior. En nuestro ejemplo tenemos dos métodos que son Main() y MiMetodo(). 28

Crear nuestra promera aplicación Si en este momento hacemos doble clic sobre cualquiera de los métodos, nos dirigiremos en forma automática al código donde se define. Como nuestro programa es muy pequeño, es posible que no veamos la ventaja de esto, pero en los programas con miles de líneas de código, el poder navegar rápidamente es una gran ventaja. Con esto tenemos los conceptos básicos más importantes de.net. A partir del próximo capítulo empezaremos con el aprendizaje de programación y del lenguaje C#. Figura 9. Aquí podemos observar la vista de clases. El árbol está expandido para poder ver sus elementos. RESUMEN Hace algunos años la programación para Windows era compleja y requería de un alto grado de especialización. Varios intentos como MFC surgieron para facilitar el desarrollo de aplicaciones. La integración entre diferentes lenguajes presentaba su propia problemática. El framework.net soluciona muchos de los problemas relacionados con la programación en Windows y la interoperabilidad. Las aplicaciones de.net se compilan a un assembly que contiene el programa escrito en CIL. Éste es un lenguaje intermedio que lee el runtime cuando se ejecuta la aplicación. El CLR compila el CIL para el microprocesador según sea necesario. El código compilado se vuelve a utilizar para mejorar el desempeño. El uso de un runtime le da a.net la flexibilidad de ser multiplataforma. Todos los lenguajes.net deben cumplir con los lineamientos que encontramos en el CLS, y para solucionar los problemas entre tipos el CTS indica cómo se usan los tipos adentro del framework de.net 29

ACTIVIDADES TEST DE AUTOEVALUACIÓN EJERCICIOS PRÁCTICOS 1 Cuál es la historia del desarrollo de las aplicaciones para Windows? 2 Qué problemas ayuda a resolver.net? 1 Crear un proyecto nuevo, similar a ejemplo Hola Mundo, que imprima nuestro nombre en la ventana de la consola. 3 Qué es un assembly? 4 Qué es el CIL? 2 Generar en este proyecto un error a propósito y ver cómo se comporta e compilador. 5 Qué es el CLR? 6 Qué hace el CLR con el assembly? 7 Qué es el Jitter? 8 Qué compiladores de C# podemos utilizar? 9 Qué es el CTS? 3 Explorar el proyecto con la vista de clases. 4 Experimentar con el explorador de soluciones para ver la información que éste nos provee. 5 Agregarle más mensajes a nuestra aplicación. 10 Por qué.net puede ser multiplataforma? 11 Cuál es la última versión de.net? 12 Qué otro lenguaje que use.net existe? 30