miércoles, 2 de julio de 2008

CH01- Resumen - Preguntas y Respuestas

Resumen Capítulo 1

*- La plataforma .NET da soporte al CLS (Common Language Specification), el cual detalla el comportamiento que deben tener los lenguajes compatibles. Incluye la especificación de tipos comunes (CTS – Common Type Specifications) detallando los tipos para todos los lenguajes .NET

*- C# es el lenguaje ideal para el desarrollo de cualquier tipo de aplicaciones de la plataforma .NET

*- El programa Hola Mundo ilustra los fundamentos de cualquier programa en C#

*- Los pasos a seguir son: escribir el código fuente en un archivo .cs, compilar y ejecutar.

*- El producto de la compilación no es código nativo sino que es código IL (Microsoft Intermediate Language). El CLR () convierte este código IL en un programa ejecutable en un proceso conocido como JIT (Just in Time)


Preguntas y Respuestas – Capítulo 1

1- Qué es ADO.NET?
Es la tecnología incluida en el Framework como reemplazo de ADO; provee un modelo de objetos para interactuar con proveedores de datos como por ejemplo bases de datos relacionales.

2- Qué es MSIL?
Es el código generado por el compilador. Se trata de código intermedio que es utilizado por el JIT para la generación de código ejecutable. La principal ventaja de este código IL es que diferentes lenguajes compatibles con .NET generan IL casi idéntico lo que permite utilizar componentes desarrollados en un lenguaje diferente siempre y cuando respete el CLS.

3- Cuales son los tipos de comentarios soportados en C#?
Existen tres tipos de comentarios soportados en C#. Los comentarios de bloque (/**/), los comentarios que afectan una sola línea de código (//) y por ultimo los comentarios de documentación XML (///)

4- Qué es un namespace?
Es simplemente una forma de organizar la jerarquía de clases comunes.


En la próxima entrada comenzaremos con el capítulo 2 de este tutorial donde veremos los fundamentos del lenguaje

martes, 1 de julio de 2008

CH01-02 - Primer programa en C# - Parte II

En esta entrada seguiremos viendo los elementos constitutivos de un programa simple en C#

Comentarios:
En este ejemplo simple podemos ver una línea que comienza con dos barras (//)

//Imprimir en pantalla

Esta línea se trata de un comentario en C#, no es mas que una nota o recordatorio o como su nombre lo indica un comentario :) que el desarrollador puede escribir sin afectar en nada la normal ejecución del programa. C# tiene soporte para tres tipos de comentarios como se detalla en la siguiente lista:

* Comentarios de bloque al estilo de C /* */
* Comentarios de línea al estilo C++
* Comentarios de documentación XML ///

Los comentarios al estilo C son utilizados para comentar bloques de código completos usualmente de muchas líneas. Comienzan con barra-asterisco y cierran con asterisco-barra. Por lo general se utiliza para deshabilitar de forma temporal bloques de código.

Los comentarios mas comunes que vamos a encontrar o utilizar son los del estilo de C++ de las doble barra (//) Este tipo de comentarios se aplican a una línea en particular desde su ubicación hasta el final de la línea, esto significa que podemos utilizarlos tanto al comienzo como en cualquier parte de la línea. Los ejemplos de abajo ilustran lo expuesto.


//Sumamos dos números
c = a + b;

c = a + b; //Sumamos dos numeros

El tercer tipo de comentarios son los comentarios de documentación XML. Aprenderemos más sobre esta poderosa característica mas adelante en este tutorial. Básicamente son comentarios pensados en describir las características de nuestros métodos, tipos retornados y parámetros recibidos para de tal forma que con una herramienta se colecte esta información para generar documentación a partir de estos comentarios especiales.

Los comentarios son una técnica muy poderosa si se utilizan bien. Una de las claves para tener éxito con los comentarios es agregar el propósito de
una determinada línea de código mas que la descripción de lo que la línea de código hace. Código bien escrito es código bien comentado. Mas de una vez nos sorprendemos de volver sobre código que escribimos hace no mucho y nos preguntamos cual fue el propósito de escribirlo de esa forma. Los comentarios también serán útiles para los pobres desdichados que deban leer nuestro código, por lo tanto no debemos escatimar esfuerzos en lograr un buen equilibrio entre cantidad y calidad de comentarios en nuestras aplicaciones.


Console
La última línea de nuestro programa de ejemplo es la que realiza todo el trabajo

System.Console.WriteLine("Hola Mundo!");

Lo primeros que tenemos que decir es que se trata de una aplicación de consola. Las aplicaciones de consola corren en una ventana de consola usualmente llamada una consola DOS. La consola es nuestro monitor y la aplicación simplemente escribe en la consola, por ello, en el monitor.

Las aplicaciones de consola son muy simples, con poco o nada de soporte para Interfaces Gráficas de Usuario (GUI). En los primeros capítulos de este tutorial vamos a realizar un uso intensivo de este tipo de aplicaciones de consola ya que nos permiten enfocarnos en las nociones del lenguaje sin tener que lidiar con las complicaciones de las interfaces de usuario.

Para este ejemplo diremos que C# maneja su consola a través del objeto Console. WriteLine es uno de los métodos de este objeto, el cual recibe un string como parámetro y su función es, como ya adivinaron, escribir en la consola (nuestro monitor)

Namespaces
Otra de las cosas que notamos es que Console esta precedida por System. System es el espacio de nombres (namespace) donde reside la clase Console. La librería de clases del framework de .NET posee miles de clases sumamente útiles. Cada clase posee un número de métodos. Los espacios de nombre ayudan a organizar de forma ordenada el agrupamiento de clases afines. Accedemos a las clases dentro de un namespace de la misma forma que invocamos un metodo dentro de una clase, con el operador punto (.). De esta forma accedemos a System.Console o bien System.Console.WriteLine("")

En la próxima entrada veremos un resumen de conceptos claves de este capítulo I, como así también preguntas y respuestas relacionadas a los temas expuestos.