Friday, April 10, 2009

Charles Petzold

Charles Petzold is a legendary author about computers, specially programming on windows platform. He is one of my favorite authors and he never seizes to inspire me as a programmer, as a student of technology; and he gives me a strange sense of motivation—He is a true visionary.

I am reading one of his books again and some of his lines are echoing in my head since yesterday. I just wanted to share.

“Late at night, when the day’s work is done but the brain is still buzzing, programmers have sometimes been known to ask themselves this question: Is programming an art or a science?

Surely it seems like a bit of both. As an artist, the programmer starts with a palette of basic tools, spreads open a canvas as wide as available memory, and with a dash of inspiration begins fashioning a unique creation where once existed only random bits. But the canvas can’t be decorated with complete anarchic abandon. The syntactical rules that govern the tools of programming may allow an infinite variety of constructions, but at the same time they are as strict and unrelenting as the laws of nature.

Programmers are the designers and builders, architects and bricklayers, visionaries and engineers of the modern age. The edifices we build become the global cities of the future, an ever-expanding series of links and connections between people, communities, and information, often with a beauty truly admired only by those who share our passion. To nonprogrammers, our creations are rarely respected—unacknowledged when they work correctly, cursed when they fail, and abandoned when they become superseded—even as they become ever more essential to users’ lives.

A computer program is a magnificent machine. Were it to be implemented with whirling gears, levers, and pistons, it would fill our rooms with a music of breathtaking complexity. We’d see logic in motion, algebra in action, a dance of data. A strange vision, yes, but that’s really the perspective the programmer sees, as pieces of a program are fitted together with a precision unmatched by machinery in the corporeal world. Few joys in life come close to the thrill of getting a new program working, seeing it suddenly blink awake and take life before your eyes.

Such joys are never experienced by the vast majority of computer users. Most people who use computers these days aren’t programmers and never will be. They instead simply run applications—word processors, e-mail programs, Web browsers—that other people have programmed, or they use appliances—cell phones, DVD players, bread machines—that have computer programs embedded deep inside.”

No comments: