Sunday, July 24

Perfection / Performance Oriented

quite often I brag but being a good programmer (sometimes much more than that) ... n I am gonna do that again :D ... in my sophomore days u could wake me up mid-sleep n give a programming problem and I cud crack it ... well mostly ;) ... n I am in love with C language (and its successors C++ / C#) n all ... in fact it was common in our clique for each person to proclaim a language as standing only next to his mother tounge ... @ Synergy my boss was obsessed with the C language ... me of course I embraced C++ as part of the very 1st project since learning C ... n I became known for my tricky stuff that I get along with in C ... I still bump into more today ... my code in recent project got accolades from colleagues ... I dun claim it to be bug free ... but well designed, modular n intutive for most part ... yet I feet at times that concepts have outlived C language ... certain stuff r still cumbersome ... C was just not designed for that ... yet my love for C proved to be shackles ... enough of beating around the bush

now commin to the point ... I just bumped into a lovely paper by Prof. Richard J. Fateman (check out the Software Engineering section for the paper) ... n the following qualification in the text which really enchanted me ... this is an extract from the same ...

"The people in the category perfection-oriented have a natural intellectual curiosity. They are constantly searching for better ways of doing things, new methods, new tools. They search for perfection, but they take pleasure in the search itself, knowing perfectly well that perfection can not be accomplished. To the people in this category, failure is a normal part of the strive for perfection. In fact, failure gives a deeper understanding of why a particular path was unsuccessful, making it possible to avoid similar paths in the future."

in contra to this ...

"The people in the category performance-oriented on the contrary, do not at all strive for perfection. Instead they have a need to achieve performance immediately. Such performance leaves no time for intellectual curiosity. Instead, techniques already known to them must be applied to solve problems. To these people, failure is a disaster whose sole feature is to harm instant performance. Similarly, learning represents the possibility of failure and must thus be avoided if possible. To the people in this category, knowledge in other people also represents a threat. As long as everybody around them use tools, techniques, and methods that they themselves know, they can count on outperforming these other people. But when the people around them start learning different, perhaps better, ways, they must defend themselves. Other people having other knowledge might require learning to keep up with performance, and learning, as we pointed out, increases the risk of failure. One possibility for these people is to discredit other people’s knowledge. If done well, it would eliminate the need for the extra effort to learn, which would fit very well with their objectives."

and then the disclaimer:

"Of course this is a simplification, and individuals normally contain aspects of each category; as an example, a perfectionist mathematician may be performance-oriented when it comes to computing."

ha ha ... I couldn't agree with the prof any less ... some philosophical rambling in a technical article ... it the delineates where the road goes in the accademia and where it ends in the industry more often than not ... n reminds me of the say "God achieves perfection while man strives for excellence" :)

2 Comments:

At Sunday, July 24, 2005 7:38:00 AM, Blogger Arvind Srinivasan said...

And then there is the middle-ground, where programmers do stuff, they have been doing for years, without bothering to find out whether they are doing anything wrong....coz they are doing it right :-)

 
At Sunday, July 24, 2005 9:33:00 AM, Blogger SamY said...

I think u missed a "they think" in the last say ... or was that deliberate? ...

it is all again a perception ... for every programmer thinks he is right until another one proves he is wrong ...

and in a greater view ...

A Software is a Robust only until it FAILS ...

:))

 

Post a Comment

<< Home