Lo mejor de mi RSS del 25 al 31 de octubre

Leer más » 2 Comentarios

Curso C# con Mono – Tipos de datos y uso de referencias

Seguimos el curso de C# con Mono profundizando algo más en el lenguaje. Si la semana pasada hablábamos de cómo poner todo en marcha y ejecutar el típico ¡Hola Mundo! esta semana veremos cómo tratar con condicionales, iteradores y operadores.

La idea de este curso no es hablar de qué es una iteración, ni siquiera profundizar en los aspectos más detallados del uso; sino dar unos conceptos breves pero importantes, para que podáis profundizar vosotros mismos.

Introducción

Al igual que en todos los lenguajes en C# existen los tipos de datos. Se tratan de una forma muy similar a Java y como nota destacable sólo comentaré que:

  • El carácter por defecto, char, es UNICODE. Es decir no ocupa 8 bits, sino 16, y puede manejar todo tipo de símbolos (acentos, eñes, etc) por defecto.
  • Si vienes de C y buscas utilizar enteros: 0 y distinto de 0 (falso o verdadero), el tipo bool es la herramienta para hacerlo.
  • Además de los tipos de datos de C# al completo, siempre podrás almacenar en variables referencias a objetos, vectores, etc. o incluso a tipos de datos básicos.

Para pasar referencias a funciones de tipos de datos básicos usamos las palabra claves out y ref (ahora veremos el uso de ambas). Esta es una diferencia relevante con Java, donde las variables de tipos de datos básicos se pasan siempre por valor.

Dualidad objeto/tipo de dato

Al igual que ocurre en Java, los tipos de datos básicos corresponden en realidad a clases. Por ejemplo, el tipo de dato float es en realidad una abreviatura para instanciar la clase System.Single.

Veamos un ejemplo:

float a;
System.Single b = new System.Single();

Estamos declarando, dos variables para almacenar valores en punto flotante de precisión simple de formas. La variable a la declaramos al estilo C y la variable en realidad representa a una instancia de la clase System.Single.

Si dentro de los using tenemos declarado el espacio de nombres System, se puede hacer directamente: Single b = new Single().

Utilización del parámetro out

Veamos directamente sobre un ejemplo el uso del parámetro out. Inicializaremos dos variables a 0, llamaremos a una función donde variaremos su valor. Tras la asignación volvemos a leer el valor de las variables y comprobamos que han cambiado.

Veamos el código:

public static void Main (string[] args)
{
	int a = 0;
	int b = 0;

	Console.WriteLine("Valor de: a = {0}, b = {1}
        antes de llamar a la función", a, b); 

	probarOut(out a,out b);

	Console.WriteLine("Valor de: a = {0}, b = {1}
        tras llamar a la función", a, b);
}

public static void probarOut(out int a, out int b)
{
	a = 100;
	b = 200;
}

Dentro de la función probarOut no hemos intentado leer las variables porque no sería posible. Si queremos hacerlo, de forma similar a lo que haríamos con & en C, debemos usar ref.

El parámetro out se usa en algunas funciones de conversión de datos, por ejemplo, TryParse.

Utilización del parámetro ref

Para terminar con este artículo, veremos el uso de la palabra reservada ref. Haremos una función que intercambie el valor de dos enteros. Previamente los inicializaremos, los imprimimos por pantalla y tras comprobar la llamada a la función, volvemos a imprimir por pantalla para comprobar que su valor ha cambiado.

Veamos el código:

public static void Main (string[] args) { int a = 1; int b = 2; Console.WriteLine("Valor de: a = {0}, b = {1} antes de llamar a la función", a, b); intercambiar(ref a, ref b); Console.WriteLine("Valor de: a = {0}, b = {1} tras llamar a la función", a, b); } public static void intercambiar(ref int a, ref int b) { int tmp = b; b = a; a = tmp; } read more

Leer más » 9 Comentarios

Firefox 4 se retrasa hasta 2011

El lanzamiento de Mozilla Firefox 4 se ha retrasado a principios de 2011, a pesar de que su salida estaba programada para finales de 2010.

Mike Beltzner de la fundación Mozilla ha anunciado hoy: “[Firefox 4: Updated Beta Schedule Options]… release candidate builds are now scheduled to ship in early 2011, with the final GA release shortly after.”

Lo que traducido sería: “… la versión release candidate (RC) se ha programado para principios de 2011, con una versión final para poco después.” read more

Leer más » 5 Comentarios

Ya hay aplicaciones de pago en el Centro de Software Ubuntu

En estas mismas líneas, hemos hablado de las bondades e inconvenientes de meter aplicaciones de pago en centros de descarga e instalación de software en Linux. El más popular y adaptado a las tendencias que marcan App Store y Android Market, dentro del entorno Linux es el Centro de Software Ubuntu.

El otro día leyendo Ubunlog, confirmé mis sospechas, ya hay un programa de pago, su nombre es Brukkon, es un juego y su coste es de 7$. En Noticias Ubuntu también comentan la existencia de un reproductor de DVD llamado Fluendo que cuesta 24.95$. read more

Leer más » 5 Comentarios

Instalar Docky Stacks

Una de las últimas características del famoso Docky de Linux es el Docky Stacks, que no son otra cosa si no una pila, una pila que añade un enfoque visual para mostrar archivos en una “carpeta” desde la raíz dentro de nuestro escritorio.

Muchos amantes de Apple tacharán esta característica como una copia de los Stacks en Mac OS X, sí, es posible, pero no voy a entrar en el debate de si deben o no hacerlo.

Si lo que quieres es instalarlo, la forma es bien sencilla, bastará con abrir un terminal y: read more

Leer más » 3 Comentarios

Cambiar modo de respuesta en Mozilla Thunderbird

Muy en línea con la tira de esta semana, os comento brevemente cómo habilitar por defecto el top-posting en el cliente de correo electrónicos de Mozilla, Thunderbird. Aunque ya sabemos todos los problemas que acarrea responder siempre al comienzo de los correos (altera el orden lógico de lectura), en algunas ocasiones hemos de hacerlo.

¿Por qué? Envío y recibo correo de personas que no entienden otra cosa que no sea el top-posting, algunas llegan a creer que lo que has hecho en lugar de responderle es hacerle un reenvío (o foward). Por lo tanto, como norma general siempre uso top-posting con interlocutores que no comprenden lo contrario. Sin embargo, en otros temas como las listas de correo nunca lo hago, porque si se cambia el estilo de respuesta… sí que es difícil seguir la conversación. read more

Leer más » 6 Comentarios

¿Quieres ser millonario? Respuesta de una persona ‘normal’

La mayoría de vosotros, nuestros lectores, no tardaríais apenas un segundo en responder a la pregunta planteada en la imagen. Y es que el concursante en la versión india del archiconocido ¿Quién quiere ser millonario? no lo tenía demasiado claro y tuvo que pedir el comodín del público para resolver su duda.

Este participante no es el único que no sabe diferenciar entreLa Web y las herramientas que se usan para acceder a la misma.

¿Y a qué viene esto? Como apasionado y defensor de la tecnología soy consciente de lo fácil que los usuarios ocasionales acostumbran a usar, y en la mayoría de las veces, términos como Navegador Web, CPU, RAM, 64bits, GPU, etc. sin sentido alguno y con incoherencias que nos harían saltar a más de uno. Una densa jerga para los que no tienen ganas de conocer el significado real de todo esto y la relación e importancia de las mismas en un sistema. read more

Leer más » 7 Comentarios

Escribiendo correos

Leer más » 22 Comentarios

Instalar Macbuntu en Ubuntu 10.10

Si usas Ubuntu pero te encanta la interfaz de Mac OS la mejor opción es instalarse el tema Macbuntu.

Para ello, entra desde tu terminal Ubuntu y escribe lo siguiente:

wget https://downloads.sourceforge.net/project/macbuntu/macbuntu-10.10/v2.3/Macbuntu-10.10.tar.gz -O /tmp/Macbuntu-10.10.tar.gz

tar xzvf /tmp/Macbuntu-10.10.tar.gz -C /tmp

cd /tmp/Macbuntu-10.10/

./install.sh

Leer más » 16 Comentarios

Lo mejor de mi RSS del 18 al 24 de octubre

Leer más » 2 Comentarios

La revista para el fin de semana: Tux Info Nº 31

Como todos los meses, os traemos otro número más de una de las revistas que aquí publicitamo: el número 31 de la revista Tux Info. Los temas que destacan en este ejemplar son:

  • Alternativas – Software Libre en Mac OSX
  • Redes – Aplicaciones prácticas: Habilitación de LTSP e instalaciones masivas de SO en red
  • Seguridad – Ekoparty Security Conference
  • Eventos – XI Congreso IEEE Unefa – Tachira – Venezuela 2010
  • Blender – Animando en Blender 3D
  • Proyectos – El Proyecto Wayuunaiki
  • read more

    Leer más » 7 Comentarios

    Instalar temas de Windows en Linux

    Microsoft ha lanzado dos nuevos temas como consecuencia de una actualización de los ‘themepacks’ para Windows 7. Haciendo unos ligeros cambios podremos usar estos fondos de pantalla para su usarlo en nuestra distrubución preferida.

    El primero de los temas, Lightning, cuenta con un total de 14 fondos electrizantes. El segundo, Eerie Autumn, acecha con una selección de 15 maravillos y grotescos fondos de pantalla. Sí, es un producto de la mano de los de Redmond, pero para qué vamos a negarlo, ¡son buenos y bonitos! read more

    Leer más » 2 Comentarios

    Curso C# con Mono – ¡Hola Mundo!

    Muchos de vosotros veréis este lenguaje como una creación de Microsoft que nada tiene que ver con el Software Libre. Sin embargo, aunque sí es cierto que su creación dependió directamente de la empresa de Redmond y es el lenguaje estrella a día de hoy para desarrollar con la plataforma .NET, el genial Miguel de Icaza supo crear una alternativa libre compatible con esta nueva tecnología. read more

    Leer más » 41 Comentarios

    E4X sólo para Firefox

    Aunque muchas personas hablen de las bondades de navegadores como Chromium, o en su versión cerrada Chrome, siempre se olvidan sobre qué pensamos los desarrolladores sobre ellos.

    Para realizar una aplicación web en donde queramos manejar archivos XML es primordial el uso de E4X.

    ¿Y qué es E4X? Pues es una nueva extensión de ECMAscript, o Javascript llamado de manera informal, que añade un nuevo entorno para el manejo de archivos XML. E4X (ECMA 4 XML) es oficial desde la especificación JavaScript 1.6 que fue publicado en 2005.

    Veamos un sencillo ejemplo:

    <html> <head></head> <body> <script> var empleados= <empleados> <persona> <nombre>Pedro</nombre> <edad>32</edad> </persona> <persona> <nombre>Jani</nombre> <edad>26</edad> </persona> </empleados>; document.write(empleados.persona.(nombre == "Pedro").edad); </script> </body> </html> read more

    Leer más » 7 Comentarios

    La Red Social

    Leer más » 5 Comentarios