Files
JargonFile/original/html/Z/Zero-One-Infinity-Rule.html
2014-03-27 18:54:56 +00:00

19 lines
3.1 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Zero-One-Infinity Rule</title><link rel="stylesheet" href="../../jargon.css" type="text/css"/><meta name="generator" content="DocBook XSL Stylesheets V1.61.0"/><link rel="home" href="../index.html" title="The Jargon File"/><link rel="up" href="../Z.html" title="Z"/><link rel="previous" href="zero-content.html" title="zero-content"/><link rel="next" href="zeroth.html" title="zeroth"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Zero-One-Infinity Rule</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="zero-content.html">Prev</a> </td><th width="60%" align="center">Z</th><td width="20%" align="right"> <a accesskey="n" href="zeroth.html">Next</a></td></tr></table><hr/></div><dt><a id="Zero-One-Infinity-Rule"/><dt xmlns="" id="Zero-One-Infinity-Rule"><b>Zero-One-Infinity Rule</b>: <span xmlns="http://www.w3.org/1999/xhtml" class="grammar">prov.</span></dt></dt><dd><p> &#8220;<span class="quote">Allow none of <a href="../F/foo.html"><i class="glossterm">foo</i></a>, one of
<a href="../F/foo.html"><i class="glossterm">foo</i></a>, or any number of
<a href="../F/foo.html"><i class="glossterm">foo</i></a>.</span>&#8221; A rule of thumb for software design,
which instructs one to not place <a href="../R/random.html"><i class="glossterm">random</i></a> limits on
the number of instances of a given entity (such as: windows in a window
system, letters in an OS's filenames, etc.). Specifically, one should
either disallow the entity entirely, allow exactly one instance (an
&#8220;<span class="quote">exception</span>&#8221;), or allow as many as the user wants &#8212;
address space and memory permitting.</p><p>The logic behind this rule is that there are often situations where
it makes clear sense to allow one of something instead of none. However,
if one decides to go further and allow N (for N &gt; 1), then why not N+1?
And if N+1, then why not N+2, and so on? Once above 1, there's no excuse
not to allow any N; hence, <a href="../I/infinity.html"><i class="glossterm">infinity</i></a>.</p><p>Many hackers recall in this connection Isaac Asimov's SF novel
<i class="citetitle">The Gods Themselves</i> in which a character announces
that the number 2 is impossible &#8212; if you're going to believe in more than
one universe, you might as well believe in an infinite number of
them.</p></dd><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="zero-content.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="../Z.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="zeroth.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">zero-content </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> zeroth</td></tr></table></div></body></html>