Archive for October, 2008

C es más portable que Java

Tuesday, October 21st, 2008

Si, se que esto puede crear un flame de proporciones bíblicas pero…. es mi naturaleza, no puedo evitarlo.

Llevo un tiempo escuchando porque Java, bla, bla, porque Java blo, blo…. el caso es que es muy fácil llegar a la conclusión que reza el título de esta entrada del blog.

Coges una placa con un ARM4 sin MMU e intentas meter Java…. que pasa…. ¡anda, si no es posible!. Busca en Wikipedia si no comprendes el alcance real de no tener MMU en el procesador.

Lo puedo explicar de una forma más aplastante aún, la siguiente regla se cumple:

a) Donde hay un sistema operativo hay un compilador de C.

La siguiente regla no siempre se cumple:

b) Donde hay un sistema operativo hay una máquina virtual de Java.

Creo que el asunto es bastante obvio. Ahora bien, no quiero decir más que eso, C (ojo ANSI C, no con extensiones de C y no C++) es más portable que Java. Que nadie malinterprete. No digo yo que programar en Java no sea mucho más cómodo y productivo que hacerlo en C por ejemplo.

Bueno, la polémica está servida. :-)

Libros de otoño I

Friday, October 17th, 2008

En esta ocasión se trata de un libro informático “Tejiendo la red”, del padre de la web.

portada del libro

Dado que se trata de un libro informático (y yo soy del gremio) no puedo dejar de, por lo menos, dar una opinión sobre el.

De entrada el libro, !tiene faltas de ortografía!, hay que joderse, en el siglo XXI y todavía no pasan correctamente las herramientas de ortografía. La verdad es que no estaba buscándolas a posta pero he visto un par de ellas y son de bulto, no es el típico acento que se te escapa. Ahora no recuerdo exactamente el par de faltas que ví (en el próximo libro que lea, las anoto, lo juro) pero están ahi.

En cuanto al contenido del libro, este comienza un poco mal, para mi gusto claro esta, relatando la génesis de la web (el http, el html, los URL,etc…) en el CERN y como fué evolucionando hasta llegar a la actualidad. En si misma la parte podría ser interesante pero se hace un poco aburrida, dado que disparan nombres y fechas como una ametralladora. Además hay algunas traducciones técnicas un tanto “cogidas por los pelos” (me pregunto si el traductor tendrá un perfil técnico).

Una vez se abandona la parte histórica la cosa mejora bastante, se reflexiona sobre la web, como ha cambiado la sociedad y hacia donde evolucionan ambas, está parte, por si sola, merece la pena para leer el libro.

Bueno, que no os desanimen mis comentarios sobre la primera parte, el libro en conjunto merece la pena.

Error de principiante

Friday, October 17th, 2008

Joer, hacia tiempo que no me pasaba una de estas. Me he tirado treinta minutos para ver que pasaba aquí:

int delete_all_ctx(ctx_t* root)
{
ctx_t* elemento;
ctx_t* aux;

if( NULL == root )
return -1;

elemento = root->siguiente;

while(elemento != NULL );
{
aux = elemento->siguiente;
delete_all_translations(elemento);
free(elemento);
elemento = aux;
}
root->siguiente = NULL;
return 0;
}

La verdad, es que es un error de principiante….
Se manifestaba porque ¡nunca entraba en el while! :-O
…..
…..
pensad
…..
….
solución: El puñetero “;” despues del while hace que lo que ejecute ese bucle todo el tiempo sea una sentencia vacia.
Desde luego hoy no es mi mejor dia. :-(