G A C E T A   D E   L I N U X
...haciendo a Linux un poco más divertido!
Laurel y Hardy intentan escribir un programa en C
Por Stephen Bint
Traducción al español por Fernando Frias
el día 10 de Enero 2005, para La Gaceta de Linux

... caracterizando esos queridos muñecos, Stan Laurel y Oliver Hardy.
(sitio oficial L&H)    (pagina tributo UK)

Este articulo es la continuacion de El Ultimo Editor en Enero y Cartas del correo (tres de ellos) recibidos en Febrero.


Ollie esta sentado frente a una terminal. Stan entra, cargando un libro.

Ollie: Donde has estado?

Stan: Fui a la libreria a conseguir un libro como dijiste.

Ollie: Bueno, te tomaste tu tiempo. Tenemos que tener este script CGI terminado mañana a primera hora. Veamos que has conseguido.

Stan le da el libro a Ollie.

Ollie: "Guia de programacion en C". Que es esto?

Stan: Es una guia de programacion en C, Ollie.

Ollie mira el libro - no se inmuta.

Ollie: Puedo ver eso, idiota. Pense que te habia dicho que ibamos a escribirlo en Perl.

Stan: Pero el Sr. Bint dijo...

Ollie: El Sr. Bint?

Stan: El hombre en la libreria. El Sr. Bint.

Ollie: [Impacientemente] Que dijo el "Sr. Bint"?

Stan: Dijo que tenia agotados todos los libros de Perl, pero dijo que tenia una repisa llena de libros de C. Dijo que yo era afortunado.

Ollie: Como hizo eso?

Stan: Dijo que C es una mejor opcion para programas CGI. Menciono que C es un lenguajede programacion professional, pero Perl es un lenguaje de juguete. Dijo que Perl es un lenguaje script escalado que va adelante por si mismo.

Ollie: Oh, el dijo, el dijo eh?

Stan: [Convencido] El Sr. Bint dijo que pensaba que la curva de aprendizaje con C is inicialmente creciente, ya que hay menos que aprender, porque C tiene una cuantas reglas. Dijo que Perl hace la mayoria de las cosas por ti, necesitas aprender exactamente que hace en cada caso, aprender que esta haciendo tu programa. Dijo que es por eso que los libros de C son tan delgados y los libros de Perl son tan gordos. Dijo que la razon por la que vendio todos los libros de Perl es que son tan gordos que solo pudo colocar cuatro sobre una repisa. No solo eso, los camiones que los entregan a menudo no llegan porque sus llantas siguen explotando.

Ollie: Hes un hecho?

Stan: [Convencido] Eso es lo que dijo el Sr. Bint. Dijo que Perl tiene una sintaxis confusa y falla al no definir funciones de interfases correctamente, lo cual invita a erroes.

Ollie: Y que mas dice?

Stan: Dijo que C esta a menudo lleno de peligro y potencialmente propenso para el desastre comparado con Perl, pero que de hecho, Perl es pobre contra un par de bugs comunes y su ausencia de legibilidad hace que otros bugs sean mas probables. Dijo que el compilador gcc da buenas advertencias acerca de mala escritura, hay herramientas que revisan fallas de memoria y Lint verifica otros errores comunes.

Ollie: Mmmph. EL Sr. Bint recomienda Lint, no es asi?

Stan: Si.

Ollie mira impacientemente la camara, luego a Stan.

Ollie: Bueno, supongo que tendremos que escribirlo en "C".... "Sr. Bint". Mmmpph!

Ollie enfrenta el teclado y se prepara a teclear.

Ollie: Bien, lee el libro y yo escribire el programa.

   while( ollie_espera ) {

      Stan_mira_el_libro();
      Stan_mira_a_Ollie();
      Stan_se_ve_asustado();

      if( ollie_mira_alrededor() )
         ollie_espera = false;
      }

Ollie: Bueno, y ahora que Stanley?

Stan: [Blubeando] Lo siento Ollie... blub... No creo que podamos comenzar asi... ... Creo que tenemos que leer el libro y aprender el lenguaje primero...

Ollie: Dejaras de dudar? Que tan dificil puede ser? simplemente aprendemos el lenguaje, y entonces escribiremos el programa.

Ollie se voltea para dar a Stan toda su atencion.

Ollie: Bien, dime que necesitamos aprender de C antes de poder empezar.

Stan: De acuredo con esta tabla de contenidos... tipos de variables, tipos definidos por el usuario, typedefs, variables estaticas, inicializacion vs. asignacion, constantes, instrucciones, operadores binarios, operadores unarios , aritmetica de operadores, operadores logicos , operadores bitwise, precedencia de operadores, if, for, switch, while, continue, break, arrays...

Ollie mira a la camara - no se sorprende.

Stan: arrays multidimensionales, punteros, aritmetica de punteros, punteros a funciones, definicion y declaracion de funciones, directivas del preprocesador y macros, formatos printf, memoria automatica y alojada, argumentos de la linea de comandos, recursion...

Ollie le quita el sombrero a Stan, le golpea las dos mejillas con el raton , cuidadosamente le coloca nuevamente el sombrero . Stan deja de leer.

Ollie: Bueno, felicidades Stanley. Este es otro fino problema en el que me has metido.

   while( camera_esta_filmando() )
      Stan_blobea();

Fin.

 

[BIO] Stephen es un Ingles sin casa que vive en una tienda de campaña en el bosque. Come fuera y fuma colillas de cigarro que encuentra en el camino. Aunque alguna vez trabajo por corto tiempo como programador C, prefiere describirse a si mismo como un "amateur avanzado".


Copyright © 2003, Stephen Bint. Licencia de copia http://www.linuxgazette.com/copying.html
Publicado en el número 89 de Linux Gazette, Abril 2003