: Nothing is either good or bad but [http://www.opensourceshakespeare.org/views/plays/play_view.php?WorkID=hamlet&Act=2&Scene=2&Scope=scene%|%thinking makes it so] -- Hamlet [http://i.imgur.com/95IVsDF.gif] ** See Also ** [Bad Thing]: ** Description ** In computer programming, '''evil''' is that which leads unpredictably to deviant behaviour. It is invoked by the the actor that plays the wrong role, the conductor that embarks upon the wrong score, and by that [https://xkcd.com/327/%|%member] of the cherished public who pulls the fire alarm after the lights have gone down and the curtain has gone up. Evil is waiting at the threshold of every condition, the boundary of every array, between the lines of every automatically-generated expression, script, and compilation unit. It sleeps within compiler optimisations and winds its way by flaws in the protocol and holes in the implementation through the nodes of the network. Evil is that which is undefined, that which is poorly defined, and that definition which is ignored. Evail is the wrong time, wrong place, the face that's lovely, but the wrong face. ** Evilness ** [https://en.wikipedia.org/wiki/Combinatorial_explosion%|%combinatorial explosion]: The enemy within and the road to enlightenment. `[DoS]`: Demons from Outer Space. `[eval]`: The gateway to [hell]. [Why Tcl has no GOTO command%|%goto]: Maybe it's evil, or maybe it's just misunderstood. [injection attack%|%code injection]: This one is a doozy. [Microsoft]: Evil Incorprated. [object orientation%|%object-oriented programming]: Will turn you into a Marxist, or at least a newt. [http://www.paulgraham.com/knuth.html%|%premature optimisation]: [http://www-cs-faculty.stanford.edu/~uno/don.gif] [https://upload.wikimedia.org/wikipedia/en/1/16/Drevil_million_dollars.jpg] [race condition%|%race conditions]: The vampires of the programming world. [Richard Stallman]: [http://oreilly.com/openbook/freedom/ch11.html%|%Pulled] a [https://en.wikipedia.org/wiki/Shoe-banging_incident%|%Kruschchev] on [John Ousterhout%|%John] [self-modifying code]: Simply twisted . side effects: The bane of [functional programming%|%functional programmers] [Unicode%|%surrogate pairs]: The true evil twins. [Update considered harmful%|%Update]: Masquerading as a little friend. <> design