viernes, 14 de septiembre de 2012

Tutorial Mono C# parte 1



Bueno este tutorial da inicio a los tutoriales de programacion en mono C#,pero se preguntaran que hace mono aqui en Tiempo de Tux,bueno en mi vida he aprendido a manejar distintos lenguajes de programacion bash,python,perl,lua,java,mono de manera autodidacta y mono es uno de ellos,estos tutoriales no les llamare "cursos",porque no me siento un maestro en mono ni mucho menos,pero les enseñare el principio basico de lo que es este lenguaje y ademas les enseñare a mi modo que como muchos de ustedes podran haber visto uso mucha informacion imagenes,ejemplos,etc para entender lo mejor posible lo que les escribo,bueno si son usarios avanzados o programadores les invito a comentar si tengo errores o si se me olvida algo,ya que como dije no soy un maestro en mono y podemos intercambiar ideas,ya en otra pagina entenderan un poco mas :D.

Bueno C# es un lenguaje es un lenguaje de programación orientado a objetos desarrollado y estandarizado por Microsoft como parte de su plataforma .NET

Este lenguaje C# nada tendria que ver con Tiempo de Tux(tutoriales para OS tipo Unix) ni por el software libre,ni por Linux,ni por Unix,por el iOS alo mejor si por Objective-C,mas que nada seria por microsoft y aqui nada que ver microsoft y Windows,sin embargo aunque su creación dependió directamente de la empresa de Redmond y es el lenguaje para desarrollar con la plataforma .NET, gracias a Miguel de Icaza tenemos una alternativa libre compatible con esta nueva tecnología, y esta alternativa se llamada Mono.

Asi que comenzemos...



Hoy veremos

Instalar IDE en Ubuntu

Como ejecutar los archivos .exe mono que creemos

Hola Mundo

Variables


Tutorial

1.Instalamos monodevelop

monodevelop es un IDE(entorno de desarrollo integrado) que nos permitira depurar,constuir,nos guiara con colores en la sintaxis,etc,asi que lo instalamos

Yo lo instalale en Ubuntu para mas rapido

sudo apt-get install monodevelop

En otras distribuciones googlen

Con eso tenemos mono y monodevelop instalado en ubuntu,digo ubuntu ya que yo siempre lo he usado en ubuntu asi que adios a Vim amenos de que queramos complicarnos mas,como por ejemplo para que vim nos reconosca la sintaxix para que nos guie seria

vim archivo.cs



2.Como correr archivos

Los archivos generados son .exe, así que si recuerdan a Windows son esos,los ejecutables .exe,estos arhivos pueden ser grandiosos programas o pueden ser solo ejemplos como HolaMundo,variables,etc

Para ejecutar un programa .exe solo basta darle permisos de ejecución 775 o +x y ejecutarlo en la terminal o dando clic derecho abrir con mono runtime,o mono runtime(terminal),claro cuando ya tenemos instalado mono

En terminal seria

cd /ruta_Del_exe


chmod 775 nombre.exe


./nombre.exe

En modo visual seria

Al .exe

clic derecho >> Propiedades >> Permisos >> Marcar (Permitir ejecutar archivo como un programa)

clic derecho >> abrir cono mono runtime

3.Hola Mundo con mono

Hola Mundo! es el primer programa que realizamos en todos los leguajes de progracion,que consiste en imprimir texto, que en este caso seria en la terminal

El programa Hola Mundo escrito en C# Mono luce asi:

using System;

namespace Hola
{
class MainClass
{
public static void Main (string[] args)
{
Console.WriteLine ("Hello World!");
}
}
}

Bueno el programa es fácil de construir y de hecho ya biene hecho en monodevelop:

Abrimos monodevelop >> Nueva solución >> Proyecto de Consola :

Nombre : HolaMundo

Ubicación ejemplo /home/tu_usuario

Nombre de la solucion: HolaMundo



Dejamos en blanco las funcionalidades del proyecto



Listo nos sale automaticamente

using System;

namespace Holamund
{
class MainClass
{
public static void Main (string[] args)
{
Console.WriteLine ("Hello World!");
}
}
}

Solo tendriamos que cambiar la parte de ("Hello World!") por ("Hola Mundo!"),para tener nuetro primer programa escrito en mono.

Para ejecutarlo le damos en ejecutar en la parte de arriba

Bueno ahora explico el programa con // (no vayan ejecutar este) bueno si quieren 

using System; // Indicamos que vamos a hacer uso del sistema

namespace Holamund // Definimos nuestro espacio de nombres que en este caso es Holamund(Podemos cambiarlo)
{ //Abrimos Holamund
class MainClass // Definimos la clase, que en este caso es una MainClass
{ // Abrimos MainClass
public static void Main (string[] args) // Definimos el metodo Main y le pasamos (string[] args)
{ // Abrimos el comando que ejecutara el texto
Console.WriteLine ("Hola Mundo!"); // Comando que imprime texto (Console.WriteLine) con su sintaxis ("Texto");
} // Cerramos el comando que ejecutara el texto
} // Cerramos MainClass
} // Cerramos Holamund

Así de fácil,un poco mas largo que el print "Hola Mundo" de python pero aun es entendible :D

Algo muy importante,usar el comando depurar en vez del comando ejecutar,este nos indicara donde hay errores para entrar en acción y arreglarlos,si no hay errores lo ejecutara




4.Variables

Las variables tambien es algo vasico en cualquier leguaje de programacion,por ejemplo en mono las variables se definen asi:

string variable = "variable1"; 

Por ejemplo para hacer Hola Mundo en una variable en vez de el codigo que usamos antes seria:

using System;

namespace Variablehola
{
class MainClass
{
public static void Main (string[] args)
{
        string var = "Hola Mundo!";

        Console.WriteLine("{0}", var);
}
}
}

Vieron,ahora lo explico

using System; // Usamos el sistema

namespace Variablehola // Nombre "Variablehola"
{
class MainClass # Clase "MainClass"
{
public static void Main (string[] args) // Definimos el metodo Main y le pasamos (string[] args) que esta vez si usaremos
{
        string var = "Hola Mundo!"; // Definimos la variable "Hola Mundo!

        Console.WriteLine("{0}", var); // La llamamos con un vector ({0}) que es igual a la variable var
}
} // Estos simbolos solo son abrir y cerrar
}

Bien,siempre me tardo un poco para enseñar como interactuar con el programa pero en mono vamos a verlo de una vez,en mono podemos usar el comado:

Console.ReadLine();

Que seria el equivalente al read opcion,de bash o al raw_imput( <) de python,etc

Por ejemplo vamos a hacer "Hola Mundo" pero que nosotros mismos lo definamos en la consola

using System;

namespace varhola
{
class MainClass
{
public static void Main (string[] args)
{
string mundo;

Console.Write("Escribe Hola Mundo! : ");
        mundo = Console.ReadLine();

        Console.WriteLine("{0}", mundo);
}
}
}

Vamos Bien? XD

Lo explico:

using System;

namespace varhola
{
class MainClass
{
public static void Main (string[] args)
{
string mundo; // Definimos mundo y lo dejamos vacio

Console.Write("Escribe Hola Mundo! : "); // Definimos lo que imprimira en la consola
        mundo = Console.ReadLine(); // Llenamos la variable mundo desde la interacion de nostros con la consola

        Console.WriteLine("{0}", mundo); // Llamamos la variable mundo
}
}
}



Bueno ahora vamos a fucionar los dos codigos anteriores,definimos Hola pero Mundo lo escribiremos nosotros a la hora de ejecutar:

using System;

namespace varhola
{
class MainClass
{
public static void Main (string[] args)
{
string mundo;
        string hola = "Hola";

Console.Write("Escribe Mundo! : ");
        mundo = Console.ReadLine();

        Console.WriteLine("{0} {1}",hola, mundo);
}
}
}

Bien se pude hacer alreves,para definir Hola en vez de Mundo,seria:

using System;

namespace varhola
{
class MainClass
{
public static void Main (string[] args)
{
string hola;
        string mundo = "Mundo!";

Console.Write("Escribe Hola : ");
        hola = Console.ReadLine();

        Console.WriteLine("{0}{1}",hola, mundo);
}
}
}

Se puede practicar mucho por ejemplo para que nos pregunte el nombre de user y hostaname,seria así:


using System;

namespace variables
{
class MainClass
{
public static void Main (string[] args)
{
string hostname; 
string user;

Console.Write("¿Cual es tu hostname : ");
hostname = Console.ReadLine();

Console.Write("¿Como te llamas :");
user = Console.ReadLine();

        Console.WriteLine("Hostname :{0}",hostname);
Console.WriteLine("User :{0}",user);
}
}
}










Eso es todo por ahora después veremos



pueden ver los que ha hecho el sitio amigo

http://casidiablo.net/c-y-net/



2 comentarios:

  1. Nada mal!

    Cuando saldran mas de estos tutos a la luz!?

    Gracias!

    ResponderBorrar
    Respuestas
    1. Ya no saldrán :(

      Lo que pasa es que no tenían mucho que ver con la temática del sitio y mejor solo me concentre en los lenguajes de scripting,python,perl,bash ya que incluso iba a traer a Java y continuar con C#,pero no tenia mucho que ver con Unix,ni Linux,ni iOS.

      Borrar

Los comentarios serán revisados antes de ser publicados.