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/
Nada mal!
ResponderBorrarCuando saldran mas de estos tutos a la luz!?
Gracias!
Ya no saldrán :(
BorrarLo 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.