The undead wolf-I read The Mythical man-month (4)

Source: Internet
Author: User

<= Previous section =====
4. No silver bullet, or the wolf cannot die
=====This animal is very strange, the flesh is solid or self-healing, so either cut it does not move, or kill it does not die. This kind of animal is like learning (the legend of the story). It is not hard to get into the dark. Like a Golden Bell Hood with a door, the wolf is not immune to silver, so if a silver bullet is made, it can penetrate it and then kill it. So people always say that an elephant is afraid of mice and there is always a way to deal with it. However, if you set a self-circular paradox that has already been said, there will be no solution except that the negation of the paradox itself is meaningless. The same principle is true in the View of "no silver bullet. That is to say, if we discuss "with or without silver bullets", we should first look at the nature of "Wolf. Because the wolf is immune to silver, we can find and kill it. If a wolf cannot be killed at all, do not say that a gold bullet or silver bullet is useless, that is, a nuclear bomb-because it cannot be killed. Let's take a look at what Brooks calls "the fundamental task of software activities ". First, Brooks believes that we do not have enough energy to put above the goal of "fundamental tasks of software activities. His demonstration process is:
  • Goal of the fundamental task: Abstract The complex conceptual structure of software;
  • Secondary task Objective: To express abstract entities and map them into computer execution logic within a certain range;
  • Most of the time we focus on secondary goals, such as writing programs and developing "programs used to write programs;
  • We write a lot of programs and a strong "Write Program" program will not touch the fundamental task.
For further analysis, it is our method of exploring the goal, which disperses the power to achieve the goal. The harder we work on the path to the target, the faster our power is broken down. Secondary goals are necessary to achieve the primary goals, but the more energy the secondary goals spend, the less likely they will be to approach the primary goals. Since it takes a to reach B, and after a, there is no power to reach B. The conclusion is that B cannot be reached (main goal ). This paradox is about tactics. You can, of course, go beyond a certain means. You can infer from the pure theory that, without a, we can turn from C to B. Because there will always be a path from C to * (arbitrary), C ~ B. Because the means cannot be exhausted, Brooks certainly cannot persuade the public from this. As a result, Brooks immediately discussed four specific characteristics of this wolf: complexity, consistency, variability, and invisibility. First, we need to face extreme complexity. Although we can use the module reuse to reduce complexity, the expansion of software entities must be the addition of different element entities. These elements "interact in a non-linear increasing manner, therefore, the complexity of the entire software increases with a larger non-linear series ". Therefore, when you create a new software, you will inevitably face more elements that cannot be reused in the old software (with non-linear progression growth. Therefore, in terms of complexity, the human wolf is self-healing: the more complicated it is, the more complicated it cannot be. The second is to carry the historical burden that cannot be discarded. Because Brooks emphasizes that new software needs to be compatible with old software (a bit like Ms Vista compatible with ms dos), when you create a software, you will create a demand for the next software, all creative activities generate an auto-incrementing set of requirements. Although this "variant is not necessary", it is a historical burden that cannot be discarded. Therefore, to ensure consistency, the wolf is growing. The third is to accept the demand for continuous changes. The software must ensure design consistency before it can succeed. But from the moment the software is designed, you must accept the laws of people, yourself, market, nature, and society from it, and the need for different cultural and ideological habits (which means that everyone's thoughts may be applied to a software entity ). The demand is unmeasurable and uncontrollable, so the wolf itself is deformed. 4. Invisible. You cannot find enough abstract methods to describe different aspects of the software, so you cannot express them as abstract conceptual figures. If you find such a method, the "software" itself is not complex enough, so it is not the "fundamental task" in the original meaning ". Therefore, it is invisible-if you see it, you can either see a lot of complicated aspects, or you can simply see it wrong. In terms of gaming, we have to deal with the ultimate Big Boss of "auto-increment + self-treatment + deformation + stealth", while Brooks also requires: Hi, kiddie, you have to make it concise enough (such as a knife ?) (Independent solutions ?). If a game plans to write such a script, the player will have to die. But Brooks depicts such an "undead Wolf" and happily says, "You have no silver bullet ". However, not only did he not get scolded, but he also received unanimous approval. In addition, the whole engineering field was excited and he joined hands to find out the silver bullet. In this way, it is a bit disrespectful to the predictions of the masters. So is the master so rigorous in his opinion? He said: It must be declared that the data for building independent small programs is not applicable to programming system products. The master means: Because you cannot get the experience/data of a large system by "doing more small programs", whenever you face large-scale engineering, your experience is immediately cleared (or extremely low ). Obviously, (even idiots know) facing the ultimate boss without experience, the result must be a failure. And because all those who face these big boss failures (uncertain), we cannot succeed. Obviously, this is a magic weapon: If you break this logic and get another success, then this success can be immediately attributed to: you are creating a small program. Don't worry, no one can kill Brooks's wolf, or find such a silver bullet. Because Brooks's wolf was never killed, and he even left you with an unexpected opportunity like "Give a knife to the chest of a sleeping wolf. At any time, if you have killed a monster that looks like a wolf, brooks can make it easy to say: Oh, boy, you're wrong. It's not a wolf. Next section ==>>

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.