In the practical world of computing, it is rather uncommon that a
In the practical world of computing, it is rather uncommon that a program, once it performs correctly and satisfactorily, remains unchanged forever.
In the ancient world, when the great architects and builders of civilization set forth to create monumental structures, they were guided by a principle that would come to shape the course of history: change is inevitable. Whether it was the towering pyramids of Egypt, the majestic temples of Greece, or the enduring roads of Rome, the foundations of these works were built with the understanding that, over time, they would face the forces of nature, wear, and evolution. The stone would crumble, the walls would shift, and new ideas would emerge that would challenge the structures built by the hands of their ancestors. So it is, too, in the world of computing, as Niklaus Wirth reflects: "In the practical world of computing, it is rather uncommon that a program, once it performs correctly and satisfactorily, remains unchanged forever."
Wirth’s words resonate deeply within the nature of creation itself. To create something that is perfect in the moment is one of the greatest achievements of any maker, whether in the arts, the sciences, or technology. Yet, to believe that any creation—no matter how flawless it may appear—is immune to the passage of time is to deny the very principle of change that governs the world. Just as the ancient builders did not expect their structures to remain static but understood the need for constant repair and reinvention, so too must we, in the world of computing, recognize that no program, no system, will remain unchanged as time passes.
Consider the story of Leonardo da Vinci, who, while creating his famous inventions and sketches, often returned to his works to refine them, to add new insights, and to make adjustments in light of new discoveries. Da Vinci’s genius lay not in creating static, unchanging inventions, but in his constant pursuit of improvement and innovation. Much like the ancient architects, he recognized that every creation, no matter how revolutionary, would evolve, adapt, and grow with time. The very nature of his craft was to seek new ways of improving upon what had already been done, a truth that remains vital in today’s world of computing.
In the realm of computing, the same principles apply. A program, once written to solve a specific problem or perform a certain function, may seem complete and perfect in its execution. Yet, as technology advances, as needs evolve, and as new challenges emerge, that program will inevitably require adjustments, refinements, and even complete overhauls. This is the cycle of progress—an eternal dance between creation and transformation. Just as the great Greek philosophers sought to understand the nature of change through their teachings, so too must we understand that perfection in computing is not a static endpoint, but a moving target, ever subject to the tides of innovation and the demands of the future.
Take, for example, the development of the Internet. What began as a simple network to connect academic researchers has evolved into a vast, ever-expanding web that touches every part of human life. The original programs that powered the early days of the Internet were primitive compared to the systems we use today, and they were constantly reworked, refined, and enhanced. This is the nature of progress—it demands that we not rest on our laurels but continue to challenge and adapt our creations in response to the changing world around us. In this sense, Wirth’s reflection on the uncommon permanence of a program is a call to embrace the fluidity of technology and to accept that no creation—no matter how well-designed—is beyond the need for evolution.
The lesson that we can take from Wirth’s words is one of humility and adaptability. Just as the great works of the ancients were built with the understanding that they would require constant attention and revision, so too must we approach our creations with the awareness that change is inevitable. We must not become complacent in our achievements, but instead embrace the fluidity of progress, understanding that to remain relevant and effective, our creations—whether in the realm of computing, art, or society—must evolve with time. The great works of humanity are those that adapt, that grow, and that embrace change rather than resist it.
Thus, the practical actions we must take are clear. In the realm of computing, we must constantly revisit our programs, our systems, and our technologies to ensure they continue to serve the needs of the present. We must embrace change, not as a threat, but as an opportunity to improve, refine, and innovate. Just as the ancient builders did not abandon their structures but worked tirelessly to repair and adapt them, so too must we work to adapt our creations to the ever-evolving demands of the world. In doing so, we ensure that our works—like the great monuments of the past—remain relevant and enduring in a world that is always changing.
AAdministratorAdministrator
Welcome, honored guests. Please leave a comment, we will respond soon