4 de octubre de 2005

Daría mi vida por.....

Mientras escribía un script que automatize el proceso de actualizar y compilar automaticamente los 3 ó 4 proyectos de los que me gusta "tirar de CVS", y acordándome de que el protocolo de red de Plan 9 devuelve los errores en forma de cadenas de error y no "códigos de error", me he dado cuenta de una cosa: Daría mi vida por que los comandos Unix devolvieran cadenas de error y no absurdos numeros.

Necesito saber qué código de retorno devuelve CVS cuando no hay ninguna actualización en el CVS, y sinceramente me vendría muy bien que el script tuviera algo del estilo: "if cvs update = "No updates found"" en vez de un absurdo "if cvs update = 0".

1 comentario:

  1. Anónimo4:55 p. m.

    ¿Por qué nunca estoy de acuerdo contigo?. :)

    He llegado aquí a través de una referencia que has hecho en tu último comentario sobre UNIX. Y leyendo este otro comentario de por lo que veo hace ya bastante tiempo, me encuentro con que una vez más no estoy de acuerdo contigo.

    Bueno, al grano. Yo prefiero que se retorne un código numérico en vez de una cadena descriptiva. Y la razón es muy sencilla. La mayoría de los comandos de UNIX están pensados para ser utilizados en scripts o incluso para ser combinados con otros comandos (tuberías, etc.).

    Y es mucho más fácil y efectivo llevar un control de errores mediante códigos numéricos que mediante la comparación de cadenas de caracteres. Además de ser más rápido se evitan problemas como que en una actualización/modificación del software un cambio en una simple letra tire al traste todo lo que se haya construido encima. Y no vamos a meternos ya en temas como traducciones a otros idiomas, etc.

    Por ejemplo. tu hablas de CVS. Por lo que leo tú utilizas directamente el cliente CVS. Yo te puedo hablar de GnuPG, o de cdrecord. Ambas aplicaciones pueden ser utilizadas directamente en la consola. Sin embargo se puede apreciar la verdadera potencia de la "filosofía UNIX" cuando ves que este software, por la manera en que está escrito, permite su extensión de muchas maneras. Por ejemplo: la mayoría de la gente graba sus discos con software que lo único que hace es aportar una interfaz gráfica por encima de cdrecord. Y este software es el que comprobaría facilmente los códigos de error para mostrar el mensaje descriptivo, incluso en el idioma adecuado al usuario final.

    Ya puestos... Yo me quejaría de los maravillosos mensajes de error de esos cotidianos pantallazos azules. Ahí sí que no hay donde rascar.

    Voy a empezar a firmar para que te vayas quedando con mi cara ;)

    er tuko.

    ResponderEliminar