Introducing: Dysfunctional Programming

September 24, 2003 12:43 PM

A quick newbie's guide to this exciting new coding paradigm:

  1. A dysfunctional program consists of a collection of dysfunctions.
  2. A dysfunction works on a number of arguments.
  3. Dysfunctions are not called explicitly. They are invoked as soon as their requisite arguments exist.
  4. If there are no arguments, a system-level dysfunction named "awkward silence" will attempt to invent some
  5. Dysfunctions do not produce any results or return values, they work entirely by mutating their arguments.
  6. The majority of dysfunctions contain at least one infinite loop, and thus never end. Well-written dysfunctions create this loop as a constant byplay between two or more arguments.
  7. During a dysfunction, arguments may be mutated into new arguments, or may spawn additional arguments.
  8. All dysfunctions in a program are considered to be running in parallel. As arguments can not be locked exclusively by a single dysfunction, the exact interactions of dysfunctions can not be predicted. This is a feature.
  9. In the event an argument is no longer needed, it can be discarded. The Garbage Collector will place all discarded arguments in a pool. If the program runs short of arguments, old arguments will be randomly revived to keep it going.
  10. Short of external intervention (e.g the Unix SIGKILL), a dysfunctional program will never end.

While no dedicated Dysfunctional Programming language currently exists, Larry Wall was recently caught wandering down a corridor rubbing his hands together and muttering "I'll get them! I'll get them all!"

2 TrackBacks

Listed below are links to blogs that reference this entry: Introducing: Dysfunctional Programming.

TrackBack URL for this entry: http://fishbowl.pastiche.org/mt-tb.cgi/371

Ah, yes. Now I remember why I'm trying to get out of software.... Read More

Charles Miller describes Dysfunctional Programming. I might add:Dysfunctional programming is most effective with a special type of RAM called selective memory. Dysfunctional programming does not involve formal arguments, only actual arguments. ... Read More

4 Comments

love it! also:

* When two or more dysfunctional programs are running in communication with each other, they may occasionally spawn dysfunctional children. These child programs are sometimes dangerous as they have a habit of leaving /home.

This sounds a lot like how programmable logic (FPGA / CPLD chips) work ...

The isn't a programming language designed with dysfunctional programming in mind, Charles, it's true. But a developer with the correct level of talent can write a dysfunctional program in *any* language.

Comments are no longer being accepted for this blog entry. If you really want to make your voice heard, you can always email me.

Previously: Paid By the Keystroke?

Next: Let down...