Para los que se preguntan qué rayos es C# (pronunciado “si sharp”), quiere decir que nunca han programado en su vida o no están lo suficientemente enterados respecto a los lenguajes de programación.
Porque usted lo pidió, en esta “pequeña” entrada trataré sobre cómo realizar el clásico Hola Mundo introductorio a cualquier lenguaje de programación.
¿Qué es C#?
C# es, en cierta forma, una mejora de los todopoderosos lenguajes C y C++. Se nota especialmente en el símbolo de gato ‘#’ en donde aparenta ser cuatro signos del operador + colocados arriba y a lado de otro; de ahí la creativa forma de tratar de decir que es una mejora.El creador de este lenguaje orientado a objetos es nada más ni nada menos que el gigante de Redmond, Microsoft. Su origen data del año 2001, pero últimamente ha habido un cierto aumento de popularidad del mismo (véase Mono y todas sus implicaciones).
C# forma parte de la plataforma .NET, aunque este sea una API para desarrollar, no quiere decir que sea exclusivo de él; C# es un lenguaje de programación independiente que puede ser usado en diferentes sistemas operativos, siempre y cuando la plataforma sea compatible.
Bueno, supongo que la razón por la cual llegaste aquí no es para leer la historia de C# (aunque siempre es bueno saber un poco) sino aprender a cómo rayos programar el clásico Hola Mundo en este lenguaje, que dicho sea de paso, no es nada del otro mundo…
Hola Mundo en C#
using System;
namespace HolaMundo
{
class Program
{
static void Main()
{
Console.WriteLine("Hola Mundo");
Console.ReadKey();
}
}
}
Los que han programado en Java notarán que el parecido es casi idéntico. Pues sí, Java también influyó en gran parte a este lenguaje, por no decir que es la competencia directa.
Java es a JVM lo que C# es a .NET Framework.
Primera línea | using System;
using System;
La primera línea denota el uso del espacio de nombres System donde se encuentran multitud de clases, estructuras, delegados, etcétera, de los cuales ya hablaré más adelante.
Tercera línea | namespace HolaMundo {…}
namespace HolaMundo
{
...
//Dentro pueden ir clases, interfaces, estructuras, enumeraciones,
//delegados y más namespaces (espacio de nombres)
...
}
La 3ra. línea de código es el espacio de nombres que nosotros especificamos. Un espacio de nombre sirve sobretodo para la desambiguación, ya que hay (o puede haber, según lo que programes) muchas clases, delegados, estructuras u otros miembros con los mismos nombres. Especificando el espacio de nombres y luego el miembro es una forma de evitar la ambigüedad; por ejemplo: EspacioUno.ClaseUno — EspacioDos.ClaseUno .
Tal como System, nuestro espacio de nombres tendrá sus respectivas clases, delegados, estructuras, según como vayamos especificándolo. Por supuesto, tiene que guardar una coherencia. No vamos a añadir una clase con nombre Mamíferos en un espacio de nombres llamado Vehículos.
Quinta línea | class Program {…}
class Program //Esta clase es pública
{
...
//Puede incluir constructores, campos, métodos,
//propiedades, destructores, constantes, indizadores, operadores,
//delegados, eventos, interfaces, estructuras y más clases.
...
}
La quinta línea podemos ver una clase con nombre Program. En C#, si se desea que la clase que se está escribiendo sea de acceso público, no es necesario escribir public debido a que por default las toma así.
Si traes bases sólidas sobre la Programación Orientada de Objetos, no creo que sea necesario explicar qué es una clase.
Séptima línea | static void Main()
void static Main() //Este método es privado
{
...
//Dentro va el funcionamiento o procedimiento deseado.
//Se pueden llamar a otros métodos desde aquí mas no crearlos.
//Lo mismo aplica para las clases y otros miembros, especialmente
//para la creación de campos temporales que vayan a ser usados dentro
//del método.
...
}
La siguiente línea de código es el método estático Main que no regresa valor (void), con el procedimiento en su interior delimitado por llaves { } .
A diferencia de las clases, los métodos por default son privados; si bien puede especificarse escribiendo private al principio mas no es necesario.
Este método, como su nombre lo indica, es el principal y el que la línea de ejecución lee primero en caso de tener más. De aquí se pueden llamar a otros métodos, tal y como en las líneas siguientes.
Procedimientos | WriteLine() y ReadKey()
Console.WriteLine("Hola Mundo");
Console.ReadKey();
Como venía diciendo, debemos agregar el espacio de nombres System debido a que precisamente ahí se encuentra la clase que usamos (Console), del cual usamos los métodos estáticos (también explicaré esto más adelante) WriteLine() y ReadKey().
El primero, por su traducción, significa que se escribirá una línea con cualquier cosa que se haya pasado como parámetro, es decir, lo que sea que se haya puesto dentro de los paréntesis.
El segundo método hace lo que, una vez más, significa: detectar (leer) cuando se presione una tecla. Este último método no es estrictamente necesario para un Hola Mundo sencillo, pero se requiere para que se pueda observar el resultado, ya que sin él, la aplicación se ejecutaría sin pausa, mostrando sólo por unos milisegundos el mensaje de “Hola Mundo” e inmediatamente saldría.
Para ejecutar el código hay que compilarlo. Puede hacerse mediante algún IDE (Visual Studio, SharpDevelop, etc.) o directamente desde la línea de comandos con el compilador integrado de .NET.
Por “default“, el compilador no puede usarse desde consola, pero añadiendo la ruta del mismo a la variable global PATH, queda listo para usarse.
Claro está, hay que tener instalada la última versión (de preferencia) de la plataforma .NET.
Guardamos el código con algún editor de texto plano (recomiendo Notepad++) con cualquier nombre y con la extensión .cs . Ejemplo: HolaMundo.cs
Ahora, para compilarlo simplemente vamos a la línea de comandos y checamos el código de la siguiente manera.
Si regresa algún error, señalará la línea respectiva en donde se encuentra para poder corregirlo. En caso contrario, sólo mostrará el clásico mensaje “Acerca de”.
Para poder ejecutarlo, simplemente con teclear el nombre de nuestro sencillo Hola Mundo basta, ya que el compilador genera el ejecutable en el mismo directorio del archivo fuente.
¿Viste todo lo que puedes aprender con un Hola Mundo?, jamás los subestimes :-) .
Respuestas a "[ExoTutorial] Aprendiendo C# con un Hola Mundo"