personality of software

The title sounds strange, isn't it? Few days back I read an article about it. the author was of the view that like any creation a software also represents personality of the creator. To me,it sounds a bit hard to digest.A software, after all is a piece of logic which satisfies any particular requirement in the best possible way. once the requirement is fixed, the 'best' logic of fulfilling it is obviously fixed. that piece of logic can represent its thinker does not fit in.
But when I pondered over the matter I began to realize the concept. first of all the key factor is requirement. working in a typical Indian software company, I'm used to get requirements like a ready meal. but if you are going to develop a software as a product, understanding requirement is the toughest part. you must fit yourself in the shoes of end user, which is not a cake walk. you should understand their lingo, their concepts, their average intelligence, and above all their style of working. A software as a product must assist user in whatever (s)he does without it. it should not change the working style in any significant manner. at the same time the software provides its user with a new lingo. before the invention of orkut, scrap was a synonym to junk.
the best example of this representation can be the MAC OS. Steve jobs, the founder of MAC said he gave all the beautiful looks to MAC because he learned calligraphy in his college days.apart from such clear ways like looks etc. there are other even subtle factors in software which represent the creator. e.g. a strongly logical person may build a software which works fine but does not have a good look and feel. another might build an average software which is balanced on all factors but extra- ordinary in none. even the variable names given can throw some light on the creator's nature.
but once we accept this,we can instantly say that we give quite a lot of unnecessary importance to software. a software, for example can perform billion-trillion operations in no time but it can not invent a new operation. it can calculate distance of all galaxies, if provided with required inputs but it can't infer anything from it. in short a software can imitate humans, but can not replace them.

No comments: