2006-12-09

Que NO hace el código en la vida real (y si hace en las películas)

Antes que todo, quiero aclarar que este texto no es mio, sino que es una traducción que hice de un excelente artículo que pueden ver aca: http://www.drivl.com/code.html

 

1. El código no se mueve

En las películas y en television el codigo siempre está navegando por la pantalla a increibles velocidades; está presentado como un flujo indecifrable de letras y números que tienen sentido perfectamente para el programador, pero imposible de comprender por cualquier otra persona. Entiendo que para la persona que no comprende, las habilidades de un programador pueden parecer increiblemente complejas, pero... honestamente, piensan que podemos leer mierda que no está quieta? Sería como tratar de leer seis diarios, volando en un tornado. Seguro, puedo ver como compila un kernel, tirar un tail de un log o, simplemente, ir viendo que tira el output de un programa - pero la mayoría de lo que puedo sacar de eso es cuando la ejecución frena y realmente puedo hacer scroll para arriba y ver que carajo pasó (excepto que el output haya ido suficientemente lento como para poder leerlo mientras salia)

 

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

Seguro, puede ser texto verde sobre fondo negro si querés, pero la mayoría de los programadores usamos syntax highlighting y los sysadmins configuran su shell para usar colores ANSI

 

3. El código tiene estructura

Según las peliculas, todos los programadores odian las teclas space y enter. En el mundo real, el código tiene estructura - tiene saltos de linea, espaciado e indentación. Seguro que todos nosotros hemos escrito nuestra porcion de hacks ilegibles: yo solía escribir un montón y tenia la destreza de escribir horribles regular expressions que hicieron que varios de mis sucesores haga seppuku, pero esos días terminaron. Ahora es todo claridad.

 

4. El código no es tridimensional

Se acuerdan en Hackers cuando la Gibson era representada como una ciudad tridimensional, la cual los hackers tenian que navegar? Mierda! Nosotros usamos un poco de color en nuestro shell para hacer las cosas un poco mas claras, pero la última vez que chequee mi terminal no requería OpenGL. Estoy laburando! - No estoy jugando al Quake...

 

5. El código no hace "blip!" cuando va apareciendo en pantalla

Esto va para cualquier texto, no solamente código. Cuando el texto aparece en mi monitor no hace blips - Esto no es 1902 (o cuando sea que los monitores hacían eso). Esta es una de las mas comunes ofensas en las películas de Hollywood. En casi todas las películas donde hay una escena donde un personaje está escribiendo un E-Mail o navegando por Internet, el texto hace un blip cuando aparece. Se dan una puta idea de cuan irritante puede llegar a ser eso en la vida real? Este artículo solo serían unos treintamil blip!

 

6. El código no puede ser crackeado por un nene de 8 años en cuestión de segundos.

Lo lamento, pero simplemente no.

 

7. No todo el código está hecho para ser crackeado

Hollywood ama mostrar que la noción de programar, la encripción y la computación compleja en general son todo la misma cosa: una gran cantidad de datos secretos que tienen que ser rotos por un hacker realmente inteligente. Esto de alguna manera se puede llegar a entender ya que el término código es ambiguo. En el contexto de la computación, código tiene comunmente dos definiciones:

  1. La representación simbolica de instrucciones, las cuales pueden ser comprendidas por una computadora - como "Tu código PHP es una mierda"
  2. La transformación disfrazada de un mensaje - "Los transmisores del código Navajo en la segunda guerra mundial"

Hollywood comunmente usa la segunda para toda actividad desarrollada por un programador. No hay arrastre de ventanas, llaves que cierran IFs o escritorio. Todo en la computadora toma la forma de un mensaje encriptado, lo cual debe hacer ver porno un real quilombo.

 

8. El código no es simplemente 0100110 010101 10100 011

Seguro, cuando bajas al nivel binario es todo 1s y 0s, pero quien hace eso? Yo nunca conocí a nadie que codee en binario.

Hey directores de Hollywood: los programadores usan esa cosa bonita llamada Alfabeto. Tiene letras que podes juntar para formar palabras. Nosotros incluso ponesmos espacios entre esas palabras (ver #3)

 

Tambien, el chiste de que todo en una computadora son 1s y 0s se volvió dolorosamente no gracioso. Esta a la misma altua del chiste del usuario que usa la bandeja de su CD como posa-vasos. Estoy bastante seguro de que escuché es chiste mil veces por 1997. Solo por el hecho de que toda la data en una computadora es finalmente representada por unos y ceros no quiere decir que la base detras de eso es tan simple como un uno o un cero. Eso sería como decir que que toda la humanidad es un cacho de átomos de carbono (o de lo que sea que estamos hechos), asi que la próxima vez que alguien me robe el auto me puedo reír y decir "Uh! Esos tontos atomos de carbono..."

 

9. La gente que escribe código usa el mouse

Según Hollywood, la mayoría de los programadores no descubrieron como usar un mouse. Seguro, tipeamos rápido, pero el mouse es una herramienta muy util y no hay motivo para que lo abandonemos. Mientras disipamos estereotipos, también me gustaría decir que no todos los programadores son locos come-virgenes que juegan al World of Warcraft. Algunos de nosotros hacemos ejercicio y tenemos una vida social activa. Incluso, Algunos incluso han tenido sexo! Mierda!

 

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

Recuerdan en Independence Day, cuando el flaco matemático con cara de boludo escribe un virus que funciona tanto en su laptop apple como en la nave madre de lo aliens? Mierda que funciona!

Si la vida real fuese asi, yo podría portar wordpress a mi tostadora...

 

Alguna otra que se les ocurra?

No hay comentarios.: