Untitled Document
www.expresscomputeronline.com WEEKLY INSIGHT FOR TECHNOLOGY PROFESSIONALS
18 February 2008  
Untitled Document
Sections

Market
Management
Technology
Technology Life

Columns

Between The Bytes

Events

Technology Senate
Technology Sabha

Specials

HMA Bankbiz
UPS Batteries

Services
Subscribe/Renew
Archives
Search
Contact Us
Network Sites
CIO Decisions
Exp.Channel Business
Express Hospitality
Express TravelWorld
feBusiness Traveller
Express Pharma
Express Healthcare
Express Textile
Group Sites
ExpressIndia
Indian Express
Financial Express

Untitled Document
 
Home - Technology Life - Article

Humour

The artist as a programmer

T A Balasubramanian on why one should figure out programs while writing them, just like inspired painters and architects

“I do not compromise with my programming because I am artist, and artists never compromise,” says Brooke Bond, loftily, folding his arms and looking down at his audience of two.

You, Papyrus Bytewala, the perpetually troubled CIO of Baffle Corporation, are sitting at the usual large round conference table facing Bond, your intrepid Project Team Leader. Seated next to you is Danny DeVito, your biped humanoid CTO.

With an inward groan, you trace the developments leading up to the present face-off in a quick flashback. In his considered wisdom, Biswajeet Baffle, your CEO at Baffle, has saddled you with a humanoid CTO possibly because he thinks you cannot keep pace with the dizzying advances of technology without an artificial aid. As it turns out, DeVito seems to need updating himself, given the requirements of becoming adapted to Baffle’s quirky corporate life. So here you, educating DeVito on the art of surviving the slings and arrows of the IT battlefield. This session with Bond is intended to get DeVito up to speed on the murky inside workings of the computer programmer’s brain. Or at least what Bond interprets it to be in his own irrepressible fashion.

“That’s interesting,” says DeVito, “An artist, eh? Like a man with a brush and paint?”

“Something like that, yes,” says Brooke. “I like to start off like a painter, with an empty canvas, and fill it up with my imagination.”

“You would, of course,” you say, with a sigh. “Most of us from the conventional school have been taught to figure out a program completely on paper before even going near a computer. It is more of a science, Danny. If I recollect my early days, it was all about getting your program logic impeccable, clean and error-free. Debugging, I was taught, is a final acid test where you caught typos and oversights. It polishes your code, making sure that it works.”

“This is too disgraceful,” says Brooke, shaking his head. “The way you put it, it seems that the high point of programming consists of debugging, Papyrus. I do not program this way. I like to program sitting in front of a computer, not scratching on a piece of paper. What’s more, I detest doggedly writing out a complete program and picking the bugs out of it to assure myself that it is correct. That makes me feel like a nit-picking mechanical monkey—a humanoid.”

“Hey, watch your analogies, pal,” says DeVito, smouldering. “I have feelings here in this tender nit-picking heart, you know.”

“What I like to do is to just churn out code as it comes into my head, even if it is hopelessly messy, and gradually beat it into shape,” says Brooke, unapologetic as ever. “Now if you closely observe other creative geniuses at work, the painters or the architects, you will realize that there is a name for what I do—it is called sketching. As far as I can tell, the way they teach programming conventionally is disgraceful. You should figure out programs as you are writing them, just as painters and architects do. Mess around, experiment, do things that you cannot imagine beforehand.”

“Well, that sounds exciting,” says DeVito, “That is what actors are encouraged to do.”

“Yes, but actors have a script to follow, Danny,” you say. “You can mess around and experiment, but only to the extent that the script allows you to. So let me put it differently. I believe that computer programming ought to be more like brick-and-mortar architecture,” you say, before Brooke can respond. “The vast majority of buildings are just functional buildings. But every once in a while, a building comes up as a work of art. It dazzles you and makes you want to know who created it.” “Ah, now we are talking of the true artist,” says Brooke. “The buildings that dazzle, those are the only kind that ought to be allowed on the face of the earth, because they are crafted by artistic geniuses,” says Bond, snapping his fingers for emphasis.

“Hear me out, Brooke,” you resume, patiently. “One of the things I like about architecture—and, by analogy, about computer programming—is that a building always serves a purpose. It does not arise out of a blank canvas in a riot of colour to express a purely abstract thought. It is grown quite intentionally from the need to create something useful. But you cannot delude yourself by thinking that you are an artist just because you are a computer programmer. The vast majority of buildings are ordinary cinder-blocks, minimum-cost affairs, and the same is true for program code.”

“You accept too much of the ordinary, and what do you get?” fumes Bond. “You get drab cities full of identical brick structures. I say programming should be treated the same way as great architecture. Maybe it is drab and functional by nature, but you must turn it into an art.” “Maybe he has a point, Papyrus,” says DeVito, grinning. “You tend to be too much of a monotonous brick yourself.” “I will ignore that remark, Danny,” you say, gruffly. “But I must remind you that one can make just about anything into an art with enough creativity. I can see how you might think programming could be an art without doing anything special, but you have to have your feet on the ground.”

“Even in the art world, you do have two poles—the humble craftsman and the genius,” says Brooke, raising a stiff finger. “On the one hand, you have Happy the Housepainter, and on the other hand you have Michelangelo the Maestro. They both apply paint to surfaces, and even though Happy may be en exceptionally good housepainter, he will never be an artist of the calibre of Michelangelo. He will be a mere craftsman. And since there are a lot more housepainters than artists, it is easier for one to be the former. So, too, there is a great divide between the personas of the pedestrian coder who likes to debug his undistinguished programs, to the great rare artist like me, who likes to dream of perfection.” You wonder if this outrageous puffery will be a bad influence on DeVito. But you soon realize that your humanoid CTO has more skills in navigating through the murkiness of human character than you had imagined. “Of course, Maestro,” says DeVito, winking so that only you can notice. “So what does perfection look like in code?”

“Like beauty, it is in the eye of the beholder,” says Brooke. “Designing a complex system looks to an outsider like merely writing one line of code after another. It is only when you step back and see how the lines of code merge into a subroutine, and subroutines merge into magnificent modules, and these modules get woven together to become a useful system that you can see the work of art. One square blob of yellow paint is not art, and yet that square in the middle of one piece in a series of paintings on a theme becomes a masterpiece.”

“Well, Brooke, your devotion to artistry is unquestionable,” you say, in a mollifying tone. After all, it would do no harm too keep an artist in his own cloud. “I can see how elegant a system program that you code can be, especially when compared with the heavy-handed coding found in some others—the brick buildings. Some of your programs are elegant, some are exquisite, some are even sparkling, I admit.” “Hey, thanks Papyrus,” says Brooke, taken aback. “I had no idea that you noticed them.” “You have this glowing halo of hubris over your head, Maestro,” says DeVito. “How could anyone miss it?”

 


Untitled Document

UNSUBSCRIBE HERE
Untitled Document
© Copyright 2001: Indian Express Newspapers (Mumbai) Limited (Mumbai, India). All rights reserved throughout the world. This entire site is compiled in Mumbai by the Business Publications Division (BPD) of the Indian Express Newspapers (Mumbai) Limited. Site managed by BPD.