The field of Architecture has played a vital role throughout the history of mankind. It has helped build structures that have lasted for centuries; Some of them are so breathtaking that we call them “the wonders of our World”. It has played a key role in battles throughout the history, and it has even triggered revolutions. In some sense every architectural marvel acts as a tribute to its civilization. It’s a way for a civilization to pass on their message to its future civilizations that anything can be accomplished if you believe in yourself.
Being in touch with the “Software World” for over two decades it never struck me how differently we perceive the word “Architecture” when it comes to “Software”. Could an “Architectural Wonder” really exist in the World of “Software”? Would there ever be “that amazing piece of software” that people say two hundred years from now would look at and go spell bound, and really appreciate what our civilization had accomplished with “so little software knowledge” as compared to them? Would there ever be references made to “great architectural work done in software”, that perhaps would help future generations understand the cultural values of our current society?
Today, software is everywhere, and yet it’s nowhere! From the very basic program burnt into the Flash ROM of a quartz watch to sophisticated software programs that coordinate flight plans, run trains and telephones across the globe, we have woven software everywhere into our lives. But it’s not visible at all. Perhaps it is the most “hidden” form of product ever developed by mankind. So how a “Software Architectural Wonder” would look like? How would we “see” it? And moreover, how would future generations look at it? Is a “software program” really capable of reflecting the true cultural values of a society just like other (non-software) works of art are? And if so, how?
Perhaps one could say that the Internet and the TCP/IP standard is the true testament of mankind’s software architectural capability because it is responsible for the “connected World” as we see it today. Or perhaps the UNIX operating system is the true epitome of mankind’s software architectural achievement because it is in a way the genesis of all modern operating systems – the very basic code that brings “life” into a piece of silicon, metal and plastic we call “computer”. If you think in these lines, then perhaps a “Software Architectural Wonder” would be more comparable to an outstanding work in “poetry” or “painting” rather than a “physical structure”. Question then will be – Are current software programming languages rich enough to produce such an outstanding work? In other words, do the basic building blocks of current programming languages allow us to produce a work of art, so “beautiful” and “meaningful”, that it would truly be respected by future civilizations as a “Software Architectural Wonder”? One could argue, yes we do have those building blocks already. Just like a painting masterpiece, such as a sketch art, can be created with only two contrasting colors – black and white, so can a “Software Architectural Wonder”. Only that in the case of software, the fundamental building blocks would be the binary Zero and One.
I believe the question whether or not there will be a “Software Architecture Wonder” in the World can be better answered by understanding the “philosophy of writing software”. Does our society write software to only solve certain problems? Or they are also written to express a thought? Is it “beautiful”? Is it “meaningful”? Is it worth “cherishing”? Perhaps only when software development would mature to a point where its use goes beyond the basic needs of solving problems, only then our society would be ready to create a true “Software Architectural Wonder”.
If you look at it from a different angle, it took mankind literally hundreds of years to reach to the point where spoken and written languages could be used for a purpose beyond basic communication. Perhaps in the same manner it shall take a few centuries before we can see a true “Software Architectural Wonder”. Until then let’s keep learning and perfecting our software development skills.
This is to all the amazing software engineers out there – Some day one of You will be acknowledged as the creator or a “Software Architectural Wonder”!