What code DOESN'T do in real life (that it does in the movies)
by Matthew Inman []
Published on 6/12/06 in Technology
Following up our article: Top 20 Hackers in Film History and Vibrant's Top 10 Servers in the movies, I felt obligated to dispel some of the notions about programming that these movies endorse. I understand that Hollywood needs to dress things up to make them more entertaining, but in the case of programmers, code, and hackers they've done more than dress things up - they've morphed a little stuffed teddy bear into a cybernetic polar bear covered in christmas lights and phosphorescent hieroglyphics with a fog machine pumping rainbow smoke out of his ass. In other words, they've layered a ridiculous amount of extravagance on top of something that in reality is very grounded.
1. Code does not move
In films and television code is always sailing across the screen at incredible speeds; it's presented as an indecipherable stream of letters and numbers that make perfect sense to the programmer but dumbfound everyone else. I understand that to the non-savvy person the abilities of a programmer might seem amazingly complex, but do they honestly think we can read shit that isn't sitting still? It'd be like trying to read six newspapers flying around in a tornado. Sure, I can watch a kernel compile, tail a log file, or simply monitor the scrolling output of a program - but the most value I get out of those activities is when execution stops and I can actually scroll back to read what the hell happened (unless the output was going slow enough I could read it as it happened).
2. Code is not green text on a black background
Sure, code can be green text on a black background if you want it to, but most programmers use syntax highlighting and sysadmins configure their shell to use ANSI color.
3. Code has structure
According to the movies all programmers abhor the space bar and enter key. In the real world code has structure - it's got line breaks, spacing, and indentation. Granted, we've all written our share of unreadable hacks: I used to write a lot of perl and I had a knack for writing nasty regular expressions that moved many of my successors to committing seppuku, but those days are over. It's all about clarity now.
4. Code is not three dimensional
Remember in "hackers" when the gibson is depicted as a three dimensional city that the hackers must navigate through? Bullshit! We may use a dash of color in our shell to make things a bit clearer, but last I checked my terminal app doesn't require OpenGL. I'm working here, bitches - I'm not playing quake.
5. Code does not make blip noises as it appears on the screen
This goes for ANY text, not just code. When text appears on my monitor it doesn't make blip sounds - this isn't 1902 (or whenever monitors used to do that).
This is one of the most common offenses in Hollywood films, almost every movie that has a scene where a character is composing an email or surfing the net has the text make blippity-blip sounds as it appears. Do they have any idea how fucking irritating that would be in real life? This article alone would be like thirty thousand blippity-blips.
6. Code cannot be cracked by an 8 year old kid in a matter of seconds
Sorry, no. Just no.
7. Not all code is meant to be cracked
Hollywood loves to endorse the notion that programming, encryption, and complex computing in general are all the same thing: a jumble of secretive data that must be broken by a seriously (srsly!) clever hacker. This is somewhat understandable because the term "code" itself is ambigious. In the realm of computing, code typically has two definitions:
8. Code isn't just 0100110 010101 10100 011
Sure, when you get down to the binary level it's a bunch of 1's and 0's, but who does that? I've never met anyone who codes binary.
Hey Hollywood directors: programmers use this neat thing called the ALPHABET. It's got letters that you put together to form words. We even put spaces between those words (see #3).
Also, the whole joke about everything on a computer being just a bunch of 1's and 0's has become painfully not funny. It ranks right up there with the joke about the user who uses his cdrom tray as a cupholder, I'm pretty sure I'd heard that joke a thousand times by 1997. Just because all data on a computer is ultimately represented by one or a zero doesn't mean that the basis behind it is as simple as a one or a zero. That's like saying all humanity ultimately boils down to a bunch of carbon atoms (or whatever the hell we're made of), so the next time someone steals my car I can laugh it off and say "Oh those silly carbon atoms!"
9. People who write code use mice
According to Hollywood most programmers haven't discovered how to use a mouse. Sure, we type fast, but a mouse is a very useful tool and there's no reason we'd abandon it. While we're dispelling stereotypes, I'd also like to say that not all programmers are hot-pocket eating virgins who play WoW. Some of us exercise and have active social lives. Some have even had SEX! Holy Crap!
10. Most code is not inherently cross platform
Remember in Independence Day when whatshisface-math-guy writes a virus that works on both his apple laptop AND an alien mothership? Bullshit!
If real life were like film I'd be able to port wordpress to my toaster using a cat5 cable and a bag of glitter.
Any others you can think of?
1. Code does not move
In films and television code is always sailing across the screen at incredible speeds; it's presented as an indecipherable stream of letters and numbers that make perfect sense to the programmer but dumbfound everyone else. I understand that to the non-savvy person the abilities of a programmer might seem amazingly complex, but do they honestly think we can read shit that isn't sitting still? It'd be like trying to read six newspapers flying around in a tornado. Sure, I can watch a kernel compile, tail a log file, or simply monitor the scrolling output of a program - but the most value I get out of those activities is when execution stops and I can actually scroll back to read what the hell happened (unless the output was going slow enough I could read it as it happened).
2. Code is not green text on a black background
Sure, code can be green text on a black background if you want it to, but most programmers use syntax highlighting and sysadmins configure their shell to use ANSI color.
3. Code has structure
According to the movies all programmers abhor the space bar and enter key. In the real world code has structure - it's got line breaks, spacing, and indentation. Granted, we've all written our share of unreadable hacks: I used to write a lot of perl and I had a knack for writing nasty regular expressions that moved many of my successors to committing seppuku, but those days are over. It's all about clarity now.
4. Code is not three dimensional
Remember in "hackers" when the gibson is depicted as a three dimensional city that the hackers must navigate through? Bullshit! We may use a dash of color in our shell to make things a bit clearer, but last I checked my terminal app doesn't require OpenGL. I'm working here, bitches - I'm not playing quake.
5. Code does not make blip noises as it appears on the screen
This goes for ANY text, not just code. When text appears on my monitor it doesn't make blip sounds - this isn't 1902 (or whenever monitors used to do that).
This is one of the most common offenses in Hollywood films, almost every movie that has a scene where a character is composing an email or surfing the net has the text make blippity-blip sounds as it appears. Do they have any idea how fucking irritating that would be in real life? This article alone would be like thirty thousand blippity-blips.
6. Code cannot be cracked by an 8 year old kid in a matter of seconds
Sorry, no. Just no.
7. Not all code is meant to be cracked
Hollywood loves to endorse the notion that programming, encryption, and complex computing in general are all the same thing: a jumble of secretive data that must be broken by a seriously (srsly!) clever hacker. This is somewhat understandable because the term "code" itself is ambigious. In the realm of computing, code typically has two definitions:
- The symbolic arrangement of instructions that a computer can understand - like "Your PHP code is shit"
- The disguised transformation of a message - "The Navajo code talkers in WWII"
8. Code isn't just 0100110 010101 10100 011
Sure, when you get down to the binary level it's a bunch of 1's and 0's, but who does that? I've never met anyone who codes binary.
Hey Hollywood directors: programmers use this neat thing called the ALPHABET. It's got letters that you put together to form words. We even put spaces between those words (see #3).
Also, the whole joke about everything on a computer being just a bunch of 1's and 0's has become painfully not funny. It ranks right up there with the joke about the user who uses his cdrom tray as a cupholder, I'm pretty sure I'd heard that joke a thousand times by 1997. Just because all data on a computer is ultimately represented by one or a zero doesn't mean that the basis behind it is as simple as a one or a zero. That's like saying all humanity ultimately boils down to a bunch of carbon atoms (or whatever the hell we're made of), so the next time someone steals my car I can laugh it off and say "Oh those silly carbon atoms!"
9. People who write code use mice
According to Hollywood most programmers haven't discovered how to use a mouse. Sure, we type fast, but a mouse is a very useful tool and there's no reason we'd abandon it. While we're dispelling stereotypes, I'd also like to say that not all programmers are hot-pocket eating virgins who play WoW. Some of us exercise and have active social lives. Some have even had SEX! Holy Crap!
10. Most code is not inherently cross platform
Remember in Independence Day when whatshisface-math-guy writes a virus that works on both his apple laptop AND an alien mothership? Bullshit!
If real life were like film I'd be able to port wordpress to my toaster using a cat5 cable and a bag of glitter.
Any others you can think of?
Technorati Tags:






215 Comments
Wanna comment? Signup!
Joe_Bogus
coder2000
NetWraith
spdygnlz
elfidomx
groberts1980
andrek
Jaqui
gatorpower
firestorm69
Atilaw
rcasha
JaneCopland
Fluxx
asdqweasd
Magicmerlin
ScottWill
Oatmeal
asdqweasd
adam410
gpyper
fil
lmb
JimXugle
soldierb
gvn2fly
missweb
asdqweasd
iamderrick
Fonseca
katz45
Electrocat
samzen06
EpicQuaker
eyeonbooks
ericmoritz
asdqweasd
threeFiddy
Fluxx
JaneCopland
katz45
bugmenot
JaneCopland
codeninja
mdedmon
ahmadster
spike
CygnusX1
1010011010
Atilaw
bugmenot
JaneCopland
CheShA
focker
beezel
beezel
Psyfer
Fulgore
Vulcan
Spikeon
Fulgore
eas
jon
CheShA
Oatmeal
bugmenot
bugmenot
Jameson
DirtNap
skullY
chill
strider72
Unrealious
thedave
focker
Exillo
SpiderBoy
mikeytag
simdiab
roqueweb
Clarky
mrwhoohoo
Moose
Tabs
cgxmode
Montag
srangara
srangara
inane
tighthead
dzieger
Exillo
ChrisG
MartinMuehl
androsia
Sougent
Atilaw
Sougent
Jiminator
GaryDowning
CygnusX1
Paul_D
Atilaw
derek
asdqweasd
derek
lnk
lnk
mintsauce
Mastiff
bugmenot
bugmenot
gancheff
lordelph
jefff8
Sephira
MadTechie
funwithstuff
rocketsocks
Sephira
Peter
Lola
jschadwell
jschadwell
Jyn
chill
3rdalbum
Floyd
timjowers
Zappepcs
timjowers
Atilaw
asdqweasd
Casandro
robertkillen
earlylate
asdqweasd
Sir_Pony
bolene
Cornered
asdqweasd
JaneCopland
trebor
TheMutt
imipak
ColisionBend
Fluxx
Atilaw
EpicQuaker
seismicmike
australian1
bugmenot
Ally
australian1
Vorin
australian1
Atilaw
thefrog
Geistbear
JaneCopland
Debaser626
australian1
seismicmike
strider72
Spikeon
graham_k
Oatmeal
logicfish
exit104
Winawer
spdygnlz
Verwahrlost
neg2led
jz00hj
jart
strider72
tripledL
connieu
amazingannie
bugmenot
bugmenot
GxIxJesus
loup17
REA_ANDREW
BWolf
curiosity
trebor
rediron
BWolf
seismicmike
MrStitch
Here2dispute
AvrgWhiteGuy
Sylocat
nonprophet
alen3k
rip-ped
rip-ped
seismicmike
AdamP
Lucanos
EpicQuaker
Recetas
yhancik
rm-rf
RobGoretsky
blastedt
Spikeon
Todd
Agata
obstreperous
bubba_uck
dannymac77
dkaye
dkaye
Wanna comment? Signup!