Google
 

jueves, 15 de febrero de 2007

Lo que el código no hace en la vida real (y si hace en las películas)

1. El código no se mueve

En el cine y la televisión el código siempre cruza la pantalla con increíble velocidad; se presenta como un flujo impredecible de letras y números que cobran sentido para el programador pero incomprensibles para el resto de los mortales . Comprendo que para las personas no habituadas, las habilidades de un programador puedan parecer increíblemente complejas, ¿pero en serio creen que podemos leer toda esa mierda que no para de moverse? Es como intentar leer seis periódicos volando dentro de un tornado. Por supuesto que puedo ver la compilación de un kernel, las lineas de un archivo de log, o simplemente observar la salida paginada de un programa; pero lo importante de esas tareas es cuando la ejecución termina bruscamente y puedo mirar hacia atrás para ver que demonios sucedió (a menos que la salda sea tan lenta como para poder leerlo tan pronto como ocurre).

2. El código no es texto verde sobre fondo negro

Sí, el código puede ser texto verde sobre fondo negro si así lo quieres, pero la mayoría de los programadores utilizan el resaltado de sintaxis y los administradores configuran su consola para utilizar colores (mmm… quizá algún BOFH no).

3. El código tiene estructura

Según las películas todos los programadores odian la barra espaciadora y la tecla intro. En el mundo real el código tiene estructura — tiene saltos de linea, espacios y sangrados. Por supuesto todos nosotros escribimos algún que otro hack incomprensible: solía escribir mucho en Perl y le cogí el tranquillo a las mas retorcidas expresiones regulares que han hecho a mis sucesores abrazar el seppuku, pero esos tiempos pasaron. Ahora lo que prima es la claridad.

4. El código no es tridimensional

¿Recordáis en “hackers” cuando el servidor central es representado como una ciudad tridimensional por la que los hackers debían navegar? ¡Estupideces! Le damos un toque de color a nuestras consolas para hacer las cosas un poco más claras, pero la última vez que miré mi terminal no le hacía falta OpenGL. Estoy trabajando idiotas, no jugando al Quake.

5. El código no hace ruiditos cuando aparece por pantalla

Esto va para cualquier texto, no sólo código. Cuando el texto aparece en mi pantalla no hace estúpidos pitiditos — esto no es 1902 (o cuando fuera que los monitores hacían estas cosas).
Esta es una de las mayores pifias de las películas de Hollywood, en la mayoría de películas que tienen una escena en la que un personaje está escribiendo un e-mail o navegando por la red, conforme sale el texto se va oyendo el ruidito. ¿Tienen la menor idea de lo jodídamente irritante que sería en el mundo real? Sólo este artículo supone varios miles de blippity-blips.

6. Un niño de ocho años no puede romperlo en cuestión de segundos

Lo siento pero no, simplemente no.

7. No siempre se puede romper/descifrar

A la gente de Hollywood le encanta endosar la noción de que programación, encriptación, y computación compleja en general es siempre la misma cosa: un revoltijo de datos secretos que tiene que ser descifrado por un inteligente hacker. Esto es hasta cierto punto comprensible porque el termino “código” en sí mismo es ambiguo. En el ámbito de la computación, código tiene habitualmente dos acepciones:

  • El conjunto simbólico de instrucciones que una máquina puede entender — como Tu código PHP es una mierda!.
  • La ocultación de un mensaje — como los indios Navajo en la Segunda Guerra Mundial

Hollywood habitualmente aplica la segunda acepción a todas las actividades en las que intervenga un ordenador. No hay ventanas que arrastrar, no hay llaves o sentencias IF, no hay escritorio. Todo lo que hay en el ordenador toma la forma de mensaje cifrado, que debe ser observado como si se tratara de algo erótico (el MD5 no me pone nada).

8. El código no es simplemente 00101101 10111001 00110011

Sí, cuando bajas a nivel binario todo es un montón de ceros y unos, ¿pero quién hace eso? Nunca he conocido a nadie que programara en binario.
Directores de Hollywood: los programadores utilizan una cosa llamada alfabeto. Hay letras que juntas para formar palabras. Incluso podemos poner espacios entre las palabras (mirar #3).

Otra cosa, el chiste sobre que todo acerca de la informática es solo un montón de ceros y unos ha dejado de tener gracia. Es casi tan gracioso como el chiste sobre el tío que utilizaba la bandeja del CD-ROM como posa vasos, debo haber odio semejante parida cientos de veces desde 1997. Únicamente por que todos los datos de un ordenador son en ultima instancia representados por un uno o un cero no significa que la base subyacente sea tan simple como un cero o un uno. Eso es como decir que toda la humanidad no es mas que un montón de átomos de carbono (o lo que sea de lo que estemos hechos), la próxima vez que me alguien me robe el coche me lo tomaré a broma diciendo “Oh!! esos malditos átomos de carbono!!”.

9. La gente que lo escribe utiliza ratones

Según las películas de Hollywood la mayoría de los programadores todavía no han descubierto cómo utilizar un ratón. Sí, escribimos rápido, pero el ratón es una herramienta muy útil y no hay razón para que lo abandonemos. Mientras tumbamos estereotipos, os diré que no todos los programadores son obesos vírgenes que juegan al WoW. Algunos tenemos vida social. Algunos incluso practicamos sexo. Cielo santo!!.

10. La mayoría del código no es multiplataforma

¿Recordáis en Independence Day cuando el tio-con-pinta-de-matemático escribe un virus que funciona en su portátil Apple Y en la nave nodriza alienigena? Gilipolleces!
Si la vida real fuera como en esa película sería capaz de portar WordPress a mi tostadora utilizando un cable CAT5 y una bolsa de purpurina.

Noticia original

No hay comentarios: