lunes, 21 de enero de 2008

Como todos sabemos el C...

CHenry [chenry@hha.sld.cu]

Como todos sabemos el C# es un lenguaje que a cautivado a muchos de los programadores “Adoradores de la POO” pero todavía hay muchos que no se han decidido todavía a dar el paso decisivo hacia la tecnología .NET para estos y el resto de los lectores aquí les va una pequeña reseñita:

Algunas características significativas:

Compilación a un código intermedio
Lenguaje Orientado a Objetos
Fuertemente tipado
Manejo automático de la memoria

Un pequeño ejemplo de un programa en C# es archifamoso “Hola Mundo”.

using System;
  class HelloWorld
  {
    public static void Main()
    {
      Console.WriteLine(“!Hola Mundo!”);
    }
  }

Todo el código debe escribirse dentro de una clase. Como en C++ y Java: la función Main() es el punto de entrada al programa. Uso de los Namespaces: forma de organizar las clases definidas en la biblioteca de .NET en grupos de clases relacionadas entre sí.

Lenguaje Orientado a Objetos

 Todo el código se escribe dentro de clases (aunque se permite usar los conceptos de "bounded method" y "delegates", que permiten invocar métodos sin que estos estén asociados a ningún objeto (static) ). Todos los tipos de datos, incluso los básicos, son clases que heredan de System.Object. Brinda las características propias de cualquier lenguaje orientado a objetos: encapsulación, herencia y polimorfismo. Una característica muy interesante es “Boxing y UnBoxing”(Cod 1) la cual permite en determinadas circunstancias tratar a los primitivos como objetos.

Cod 1
...
int i = 10;
MessageBox.Show(i.ToString())
;
...

Manejo de Memoria

Por medio de un recolector de basura los objetos son eliminados y su espacio de memoria queda disponible para próximos elementos, como sucede en Java y Eiffel. Esto es muy provechoso en algunas aplicaciones ya que el programador no se tiene que encargar de devolverle al sistema la memoria que usa, pero por otra parte en algunos programas esto puede ser un inconveniente por ejemplo un programa que corra en una maquina con muy poca memoria, o por ejemplo uno que deba reportar un suceso de peligro inminente el cual se vería imposibilitado de efectuarse si en ese momento hay un Recolector de Basura Efectuando su recorrido habitual. Al igual que Java, para indicar que un objeto puede ser elegido por el recolector basta con asignarle el valor null.

Lenguaje Fuertemente Tipado

Se controla que todas las conversiones entre tipos se realicen de forma compatible, lo que asegura que nunca se acceda fuera del espacio de memoria ocupado por un objeto. Objetos y arreglos creados dinámicamente inicializados a 0. Aunque C# no inicializa las variables locales, el compilador advierte cuando se usa una variable sin inicializar. Chequeo de rango al acceder a un arreglo lo que permite que no se acceda a una posición invalida. No permite crear una referencia inválida. El recolector de basura asegura que no se queden referencias “colgando”. Todas las variables se declaran especificando su tipo y su nombre.

Hasta aquí algunas características de C# espero con estos detalles haber convencido a algunos y motivado a otros a entrar en el interesante mundo del C#.



Artículos relacionados


No hay comentarios: