Development cycle adds more ambiguity to a system. |
Either you want to clarify the previous ambiguities or add some new features you make the thing more complex.
For example, there is an ambiguous word in a language and you want to make it clear, you have to add some similar words with minor differences. Do you think all people can learn these and use them in proper ways? The idea for language is much more complicated because people play with language. I always think the people who are responsible for updating dictionaries can do nothing to prevent this, people in the street bring many awkward words in the language and make them public and these poor dictionary guys should find out a way to put them in the dictionary or accept them as part of the language.
For expansion, a software is a very good example, any new development you make for an already written software, regardless of how modular, documented, and ... it is, makes the software complex. It gets worst when many people during the software life work on it. Why do you think there are many bugs in OSs today?
Why we can't overcome software ambiguities?
Here are some of the reasons:
- We are human and can not completely express ourselves with speaking/written language, so in our communications, there are always misunderstanding, misinterpretation, and ambiguity.
- Programming languages don't have ambiguity (mostly if you don't consider JavaScript) but expressing the human idea with these simple unambiguous requires human interpretation. and this is nothing but ambiguity itself.
- Software should work together, you run a written software on an OS, the OS to selfs runs on hardware (which has ambiguity too) and ...
- You never can test a software in all possible situation. Sometimes something happens after a long period of fine and correct working (Y2K).
Ambiguity can be good too
To end this part of the discussion I have to add that not all ambiguities are bad. Ambiguity makes people think more, it makes things be unclear and gives stress to you and pushes you out from your comfort zone which makes you productive.
No comments:
Post a Comment