"It is easier to change the specification to fit the program than vice versa"
About this Quote
Alan Perlis, a pioneering computer researcher and very first recipient of the Turing Award, had a flair for pithy, insightful observations about the nature of shows and software application development. The quote, "It is easier to change the specification to fit the program than vice versa", reflects a number of underlying facts about the challenges in software advancement and task management.
In essence, Perlis is talking about the propensity for software application developers and teams to align job requirements with what has actually currently been developed, instead of adapting the existing code to fulfill the initially created requirements. This phenomenon occurs from several aspects intrinsic in the software application development procedure.
To start with, when a program is composed, its complexities and unexpected complexities are exposed. Developers typically discover that certain functions, while theoretically simple, end up being troublesome when equated into code. What appeared practical in the abstract requirements may turn out to be impractical, provided time restrictions, resource restrictions, or unforeseen technical difficulties.
Furthermore, as software progresses, designers gain insights that weren't apparent at the job's beginning. These insights frequently highlight flaws or oversights in the initial specs. By this point, some existing solutions might already efficiently deal with emerging requirements without altering them significantly. In such cases, customizing the specs can seem more pragmatic and economical than re-engineering existing code, which could present brand-new bugs or hold-ups.
Perlis's observation also tacitly critiques a typical issue in software projects: the absence of extensive, adaptable initial preparation. Over time, this may result in a scenario where the "course of least resistance" is to alter the requirements, steering the job adrift from its preliminary vision. Consequently, the software ends up being a reflection of its advancement journey, blending the usefulness of real-world execution with initial ideals.
In summary, Perlis's quote shows a vibrant stress in software application advancement in between theoretical design and practical application, highlighting the necessity for flexibility, continuous reassessment, and communication to fix up these frequently contending demands.
About the Author