Now Reading
Zero one infinity rule – Wikipedia

Zero one infinity rule – Wikipedia

2023-03-18 13:01:48

From Wikipedia, the free encyclopedia

Software program design rule

The Zero one infinity (ZOI) rule is a rule of thumb in software design proposed by early computing pioneer Willem van der Poel.[1] It argues that arbitrary limits on the variety of situations of a selected kind of information or construction shouldn’t be allowed. As an alternative, an entity ought to both be forbidden totally, just one needs to be allowed, or any variety of them needs to be allowed.[2] Though varied components exterior that individual software may restrict this quantity in follow, it shouldn’t be the software program itself that places a tough restrict on the variety of situations of the entity.

Examples of this rule could also be discovered within the construction of many file systems‘ directories (also called folders):

  • 0 – The topmost listing has zero parent directories; that’s, there isn’t any listing that accommodates the topmost listing.
  • 1 – Every subdirectory has precisely one dad or mum listing (not together with shortcuts to the listing’s location; whereas such recordsdata might have comparable icons to the icons of the vacation spot directories, they don’t seem to be directories in any respect).
  • Infinity – Every listing, whether or not the topmost listing or any of its subdirectories, in line with the file system’s guidelines, might include any variety of recordsdata or subdirectories. Sensible limits to this quantity are attributable to different components, similar to area accessible on storage media and the way effectively the pc’s operating system is maintained.[citation needed]

In real-world software program design, violations of this rule of thumb are frequent. For instance, the FAT16 file system imposes a restrict of 65,536 recordsdata to a listing.[3]


Van der Poel confirmed that he was the originator of the rule, however Bruce MacLennan has additionally claimed authorship:

See Also

In fact, the Zero-One-Infinity Precept was meant as a design precept for programming languages, and comparable issues, with a view to hold them cognitively manageable. I formulated it within the early 70s, once I was engaged on programming language design and aggravated by all of the arbitrary numbers that appeared in a few of the languages of the day. I definitely don’t have any argument in opposition to estimates, limits, or numbers basically! As you stated, the issue is with arbitrary numbers.
I do not suppose I used it in print earlier than I wrote my 1983 PL ebook. Dick Hamming inspired me to prepare it round ideas (a la Kernighan & Plauger and Strunk & White), and the Zero-One-Infinity Precept was one of many first. (FWIW, the title “Zero-One-Infinity Precept” was impressed by George Gamow’s ebook, “One, Two, Three… Infinity,” which I learn in grade college.) [4]


See additionally[edit]

Source Link

What's Your Reaction?
In Love
Not Sure
View Comments (0)

Leave a Reply

Your email address will not be published.

2022 Blinking Robots.
WordPress by Doejo

Scroll To Top