(Dos) cosas que no me gustan

Hace tiempo conocí el magnífico blog «La decadencia del ingenio» gracias a Trebol-A, y desde entonces no he podido dejar de leer ni una sola de sus entradas. Hace unos días su autor, Jaime, definía los memes de esta particular forma:

Un meme consiste en responder a alguna pregunta tontorrona y, aquí viene lo malo, endosarle el muerto a personas inocentes que deberán responder a esas preguntas so pena de excomunión y de que a uno le miren feo y le llamen soso.

Y el meme en cuestión se titula «cosas que no me gustan«, aunque también nos regaló una versión más positivista del tema en «cosas que me gustan«, de las que cito:

Una chimenea y un buen libro bien gordote. Junto con una cerilla, las tres cosas que hacen falta para un agradable fueguecito. Lo mejor para una de esas lluviosas tardes de domingo en las que la gente tiene accidentes de coche volviendo del apartamento.

Unos días más tarde pudimos leer la tercera parte: «cosas que me dan más bien lo mismo«. Sencillamente genial, os recomiendo a todos que os paséis por ese blog tan fantástico.

En realidad el objetivo de este artículo ha quedado de sobra cubierto con la mención anterior, pero por si acaso, he decidido añadir un par de cosas relacionadas con la programación que hacen que me hierva la sangre, para que os quedéis con un extraño sabor de boca.

No me gusta, por ejemplo, la cara de imbécil que se me queda al darme cuenta de que al programar en C escribo, por ejemplo…

[sourcecode language=»c»]
int calcular_raices();
[/sourcecode]

y si al hacerlo en en Java escribo

[sourcecode language=»java»]
int calcularRaices();
[/sourcecode]

¿Qué pasa, que no funcionan igual? Pues por algún motivo parece que no :-P Son cosas de las convenciones de estilo, pero a veces me siento idiota siguiéndolas. Si algún día creo un lenguaje de programación, haré que los nombres de las funciones tengan que ser escritos en hexadecimal pero eso sí, por convenio.

Otro detalle que hace que me den ganas de salir a la calle y liarme a tiros es cuando veo escrito esto:

[sourcecode language=»c»]
switch(variable){
case 0:
break;
case 1:
break;
default:
break;
}
[/sourcecode]

Y es que el último caso de un switch no necesita el maldito break. ¿Por qué todo el mundo lo pone? ¿Acaso no es indignante esa línea de código extra en todos los programas sin aportar nada, solo porque es más cómodo copiar y pegar? Si un día gobierno el mundo mi primera medida será castigar duramente a quienes hayan perpetrado tamaña profanación.

Voy a tomarme una tila. Demasiado trabajo últimamente…

  1. jeje, bueno, el último switch lo he visto en algún código, pero siempre llegaba hasta case 9, no me preguntes porque… (supongo que será cosa del copy+paste). Y siempre me pregunto lo mismo: ¿porque se habrá quedado en el 9? ¿porque no llegar hasta el 99, ó al 999? total, puestos a escribir…

  2. Juas juas juas. Pues si vieras mis códigos, a petar de if’ss porque me olvido del pobre switch (estoy empezando, bajar las armas!!).

    Ya de paso dejo una duda. Tengo problemas con el Microsoft Visual C++ 6.0. Siempre que le doy a compilar o ejecutar un programa se me queda «compiling…» o «linquing…» horas y horas. No tengo ni idea porque sera, pero así es imposible programar, tengo que cerrar y volver a entrar para cada comprobación. Me recomiendas algún otro compilador sencillo y parecido al que uso?

  3. Por cierto, me he pasado por la decadencia del ingenio, y menudo blog. No me reía tanto leyendo algo des de Tres sombreros de copa.

  4. Está claro que sois todos unos infieles y que merecéis ser castigados por ese break supérfluo :-P.

    Respecto a tu duda, Floc, no tengo mucha idea de qué puedes utilizar para Windows. ¿Has probado a meter el Visual Studio .NET o el 2003? En general funcionan bastante mejor que el 6, y posiblemente te quitarías ese problema.

    No sé si hay algún compilador de C interesante para Güindous, si algún entendido en la sala… creo que yo no puedo ayudarte mucho en esto :-(

    ¡Saludos y gracias a todos!

  5. De todos modos estoy traspasándome a Ubuntu. Cuando consiga conectarme a Internet des de Linux lo usare mas. Gracias.

  6. Yo siempre pongo el ultimo break porque creo recordar que Kernighan&Ritchie aconsejaban hacerlo. Al menos lo leí en algún sitio, es una cuestión de estilo más que práctica.

  7. Yep, efectivamente son ellos.

    The C Programming Language. Brian Kernighan and Dennis Ritchie:

    As a matter of good form, put a break after the last case (the default here) even though it’s logically unnecessary. Some day when another case gets added at the end, this bit of defensive programming will save you.

  8. Bah, aficionados :-P El que llegue, modifique el switch y no le funcione que se jod… xD

    Na, si es verdad, y argumentándolo así es una buena costumbre, pero no deja de haber mucha gente que lo pone por pura inercia, sin preguntarse siquiera si hace falta…

    Saludos

Los comentarios están desactivados.