|Fire Danger: CATASTROPHIC (delete)
Nonfunctional programming considers the side effects of traditional imperative programming and the theoretical purity of functional programming to be futile, and that in general any computational task is a waste of time and effort. The goal of nonfunctional programming is to create programs that do nothing at all -- they change nothing in their environments and return no values. Nonfunctional programs may spend a great deal of time or resources accomplishing nothing, although ideally they should be made as efficient as possible.
While most languages can support nonfunctional programming, they usually still have ways of doing things. There are a few experimental programming languages that attempt to be purely nonfunctional by having no features for doing anything at all. Purely nonfunctional languages have attracted a great deal of theoretical interest for their extremely straightforward semantics, but have failed to catch on outside academia. Their failure to do so has been attributed to lowering standards in University admissions, and the destructive influence of television and consumerism on students. In academia, nonfunctional programming languages are widely agreed upon as having an important role in computer science courses, and those students who demonstrate a high degree of capability for applying the principles of nonfunctional programming to their daily life are often seen as strong candidates for promotion through academic ranks.
Although nonfunctional programming has tried to subsume the highly popular Objectivism-oriented programming movement into itself as the most widespread application of nonfunctional programming techniques, Objectivism-oriented programmers have put up a surprising amount of resistance, insisting that their programs actually do things despite all evidence to the contrary.