Why 'Flat is better than nested'

Terry Reedy tjreedy at udel.edu
Tue Jul 31 23:04:44 CEST 2012


 >>> import this

prints 'The Zen of Python', a poem by Tim Peters that consists of python 
proverbs such as "Flat is better than nested." (Others things being 
equal) why? Because it is a restatement of the principle of parsimony, 
of not multiplying entities without necessity.

Suppose we have a unstructured collection of N items. Organizer comes 
along and says 'Let there be structure. Let us organize the items as 
leaf nodes in a hierarchical tree' (which is equivalent to nesting). To 
do so, we can add as many as N-1 new non-leaf nodes and as many as 
(about) 2*N - log2(N) parent child relationships. In other words, nearly 
quadruple the number of entities to learn, discuss, and remember. Well, 
there had better be a good necessity to do so ;-).

And, of course, once new entities *are* conjured up, it is hard to get 
rid of them.

-- 
Terry Jan Reedy





More information about the Python-list mailing list