{'fraction_non_alphanumeric': 0.022602739726027398, 'fraction_numerical': 0.0, 'mean_word_length': 5.379912663755459, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Propagation : A Revolutionary Model for Computation Seedling Proposal

Instructors in introductory programming subjects often draw attention to similarities between programming and recipe writing. Too bad. It helps perpetuate a way of thinking in place since Grace Hopper invented COBOL. True, we have introduced abstraction, the model-view-controller idea, and integrated development environments, but those are all incremental, not revolutionary. Absent a revolution, we continue write programs the way we always have, and those programs are narrow and brittle. Other sorts of engineered and natural systems, in contrast, are often robust and adaptable. The Internet, for example, has adapted from a small system to one of global scale. Our cities evolve organically, to accommodate new business models, life styles, and means of transportation and communication. Indeed, from observation of biological systems we see that it is possible to build systems that can adapt to changes in the environment, both individually and as an evolutionary ensemble. Why not shift the paradigm so that we can design and build computational systems with ideas ready to be borrowed from engineering practice? In particular, we believe the time has come to focus on propagation, a computational model built on the engineering idea that the basic computational elements are autonomous machines interconnected by shared cells through which they communicate, as in the following: