Note: This articleArticleAlthough it was written for a long time (in 1996, the word "long" should be said for the IT industry It is quite suitable), but after reading it, it is still dumped by the author's talents. This is a rare article. Researchers from Carnegie Mellon Institute of software development and other schools have spent all their life defining a theoretical discipline. (That is, software development theory), and later found that there are still many vague things, they do not hide this. Software Development, since its birth, it has conquered many talented people with charming elegance, some professors and experts People and business managers cannot help but raise the question: Why can't software become so popular? Define it, explain it, and have a deep understanding of it? Why can't some talented scientists put this in their whole life? Which of the following puzzles can be summarized into a scientific engineering discipline or industry standard? Most of us, especially businessmen, engineers, and academic institution researchers, regard computers and software They communicate with computers in various absurd ways. Computer threats to users and Condemned. Software is everywhere, but software often shows failures, strikes, and exceptions. Two reasons: firstProgramFailure will lead to inaccurate file definitions, and the final performance of the software is strike, abnormal Second, some software development directors conduct random command and force the software application to use some flashy techniques to make the supervisors fail Practical thoughts and wonderful dreams. Slow software development and Internet access occupy most of the time. It is easy to get addicted. Once addictive, normal people will also become slaves to file processing, file upload and download. In most cases, software management has some disadvantages. At this time, we have to be confused: we can We can even understand quantum mechanics and sub-atoms, Why can't we develop high-quality software? [The truth behind the mystery] The essence of software development is a mental activity based on human thinking. computers and software running on them are human beings. As a mirror of brain activity, software development also faces some inherent problems in psychology and spirituality. Public All the purposes of psychology are nothing more than understanding the elusive human soul. Some medical professionals study In this regard. Compared with software development, the situation may be worse, because software development is only a human intellectual activity after all. A model that comes from human intellectual thinking. Whether you admit it or not, intellectual activity is only one of the soul actions. . From a considerable perspective, the relationship between software and psychology is more than that between Engineering, Technology, and mathematics and psychology. This is because software directly comes from the thinking of the human soul, and the superior software often needs to rely on the soul. Creativity. Compared with art, software lacks the beauty of art; compared with natural science, it lacks a little formality. This In addition, software can only be a psychological imitation of software developers. Software reflects the psychological activities of software developers. Many factors will take effect for such activities as: developers themselves, Development Environment and system. The developer himself means that the developer himself has some psychological activities during the development of the software; Development Environment refers to the process of all computer hardware, computer software and software development; the system includes all, all Department development environment, parts, organizational relationships, and other things that help achieve the goal. Software is as flexible as a human being. It is influenced by intelligence, imagination, fear, hope, and many other emotions. It refers Developers' opinions, understanding of goals, feelings for customers and concepts, profound ideas, and authoritative Dear. If you want to use a computer to make a better product, software development is the core, and it represents the entire The essence of the system. What gives software products a unique style and feeling? According to the human point of view : Personality. [No angry personality] Does software have personality? If you ask me this question, I will blurt out: Of course. Because when software development is complete It will form a set of vocabulary for communication, internal analysis logic, audio and video support, and memory. From contemporary technology From the point of view, these resources are theoretically unlimited. Where is the problem? The problem is caused The messy regulations set by its developers. Software developers are not affected at the beginning. The expansion of the scale has joined a number of foreign computer experts, as well as a director of the command department. Messy developer work. First of all, we should point out that words are necessary. Whether used for external communication or internal communication, words constitute As the cornerstone of the thinking module, if a person has no words, he will not be able to think. Communication also lies in the existence of words. Computers can easily be taught to respond to certain words without the ability Limited. But what's wrong? First, although computers have the potential to understand unlimited vocabulary The human master is usually restricted, so humans think that everything should be as simple as possible and as short as possible. Computers with high performance must also look at humans with low capabilities. In addition, if the software has If you have a large vocabulary, it will certainly become very large, complex, and difficult to understand, develop, and maintain. Therefore They have unlimited capabilities, but they also need to put the golden mantra that developers have prepared for them. [Creators and creativity] The pottery can is the owner of the pottery can, And the pottery can never exceed the ability of the pottery. This fact also applies to computers and software. In terms of developers' relationships, programmers will never be able to let computers do anything beyond their imagination. Of course. It does not mean that programmers cannot do anything that is more than human computers can do. It means that if they cannot imagine So far, he cannot let the computer do it. Of course, the same principle applies to errors. (Note: programmers generally do not think of where the error exists. If they recognize it, they will correct it, The error is gone. That is to say, the error is beyond the imagination of programmers. Class cannot be understood. System-level programmers are facing great challenges. With the help of computers, they are no different from the gods. He can make what he can think The computer listens to his commands in any way. He can take him as he wants The genius, his thoughts not known to most people, and the spirit roaming in the virtual world are expressed through his creativity. . At a certain time point, his human nature will be broken through again to reach a new realm and height. Although a programmer is very powerful and his technology gradually surpasses his intelligence, he will soon find that he must Find a job to support yourself. He could not fabricate his daily necessities out of thin air. He had to provide them to him. People looking for clothes, food, shelter, and travel bow their heads, and the bowl of the end-to-end persons must belong to the person-in-charge, so they have to obey the needs of others and the face they choose. Color, others' ideas, all he can do is to ship the goods on time according to others' requirements. Although programmers have the skills His life will soon be buried in the daily routines of physical workers. An outstanding genius succumb to being born The pressure of living, give his creativity to a boss or a capricious customer, and bend to do some maintenance. Or, as a configuration control slave, why? Why do programmers allow others to control him? Life? [Business cycle] After the company decides to do some software, the programmer's job is to let the software jump up and sing, what the tester does The job is to try to identify software errors, and then the customer will buy the software, especially the software that the Customer prefers to buy. However Who told the customer what to buy? The customer's purchase behavior is driven by the capricious mood, he buys what he wants Something he needs or needs. No one knows what drives it all? However The commercial cycle is like a gyro where it keeps turning: Development → test → delivery and use → Elimination Software seems to have the greatest flexibility among all products in the real world. It can be used with the good and evil of programmers Household requirements, boss instructions, and the impact or duration of bugs; it can be expanded, upgraded, or even formed a cycle It may take several years or be short for a moment. The software development cycle is in the hands of designers. , Can be long, short, large, and wide, it can also add features, be upgraded, or even spiral rise. Why is it so messy? ? The main reason is that flexibility leads to such confusion. You think there are so many variables and so many judgment points in the software. And unlimited options. Like human thinking, software must also have an operating system to support and operate. The system is always running and cannot stop at all times. It is busy with storage, logical operations, audio and video processing, and other components. And some tasks can be completed in an instant, but the operating system also needs to ask, and soon the system is very messy Brittle strike. You need to know that computers do not like clutter like humans. In fact, the more you think about computers, the more you will find that computers are a mirror of humans. In a computer, You will find some mental activities of our human beings: our flash of light, our stupid mistakes, but it is wonderful. He imitates our human activities and transforms our human thoughts into mechanical devices and electronic transmissions. Devices, actually identifiable devices, and then give us the feedback we need. Of course, sometimes it may show It is not so perfect, the call is executed, or it is wrong at all. Once the software has been written, its personality gradually becomes apparent. Programming for dull monsters will inevitably Give a dull soul. Is it a robotic soul or a talented soul? Both of them may exist, but the most It is possible to be an efficient helper with a strange feature and a ridiculous disorder. Why are these problems? You need to know what we need. Why is it so messy? Face up to the following facts: Master Create a monster, and we are the master. Computers should be more stable than we humans, because they have no feelings, and they have always been objective, logical, and correct. At the same time, it will not argue because it has no feelings; it can be rationalized but it cannot argue. Although it does not Feeling, but sometimes it's irritating to us. Sometimes people get angry and lead to confusion. It's as deaf and dumb as a dead person. Generally, you yell at something that is imperceptible. It is not human, it is completely reasonable. There is one thing, it does not Maybe there will be in the future, that is, love. It has no life, so it does not love; it does not hate, of course, it does not love It has no idea, but it is objective, logical, fast, and efficient, but it is also dumb. Computer humor] Many comments that apply to humans are also commonly used on computers, which is a bit ridiculous. Why are there so many interceptions? However, the opposite comments exist: smart and stupid, outstanding and absurd, rational and unreasonable, rapid disappearance and wrong re-emergence And so on. This is the computer's humor. It has the ability to make errors and make them look perfect, even Accurate to the tenth digit after the decimal point. Surprised? A common computer is mature between a dog and a three-year-old child. It sounds hard for computer users to make sounds like "wow", "wow", "Oh", "no-no", etc. Is the voice of a genius or an adult? The words caused by these dull partners are so childish. How should we comment on its creators, programmers, and users? Is it just a child's toy? Are we New? Back to the children's age? This may be a question of psychology. Maybe we are going to consult a psychiatrist. This ridiculous situation is everywhere: some well-experienced experts talk about it mostly with single-tone words, such as" Haha, oh, yes, and so on. Humans have always been knowledgeable and have always wanted to learn something. You want to know something. But do we humans make progress or even worse? If this is human pursuit of simplicity The singularity may be justified, but is it a simple or naive performance? I want a computer answer It must be "Naive ". If a computer can speak, it will definitely say that humans are childish, stupid, and dementia, and it will certainly In this way, "You stupid guy, why do you program to me without my consent? You need to know that I have my thoughts. "Or" you omit a comma. How do you ask me to do things for you and read your thoughts ?" And so on. Full. Interesting, right? Computers are similar to humans, and they can also say something like humans. Why? So? Is computer or human? There is sufficient evidence that both are correct, and both are stupid. Because computer is a mirror of mankind, it should and indeed reflect the talents of its creators. Stupid Can someone call a stupid person as a stupid person? Of course we can. We can also learn from other aspects we know. Solve ourselves. [Causes of mental disorder] There are many factors that can affect our lives, but fortunately we humans have our own will and can do everything. Make your own decisions. No matter how much pressure the outside world puts on him, he can decide his own. But the computer has no will , It only followsCodeWhether the code is simple or complex, insignificant or very important, long or short And the computer will execute them step by step. A slave who completely follows the master should not take responsibility. It is the master. Who is the master of the computer? Is it a programmer, a supervisor, a CTO, or a CEO? Or Are customers who can decide the market with capricious thoughts? There are also many factors that can ultimately determine the personality of computer products. For example, when the robot industry becomes increasingly mature Getting out of control is becoming increasingly apparent. But in any case, a programmer has the will, and he should be negative for his creative products. Full responsibility. Supervisors are responsible for development efficiency, CIOs are responsible for flexibility, CEOs are responsible for making profits, and their status is relatively low. A programmer can only be mentioned when a program error occurs. However, a developer must be responsible for the product. A mirror of his psychological behavior. Now we have switched to the whole circle. We started with programmers, and now we are back to the programmer's psychology concentrated in the code. Factors. Of course, with the improvement of ultra-large scale production capacity, the personalized nature of such listening can be unlimited. Copy the file to your desktop. However, the psychological components of programmers are intelligence, vocabulary storage, Memory and other aspects play a definite role. What computers lack is feelings, conscience, Will, and love. Will Not included because there are many choices, but sometimes there is no freedom to choose. When the computer becomes a code The will cannot be talked about when the slaves are slaves. [Computer products are a kind of mental disorder and an image of imperfect creators] Solomon once said, "There is no new thing in the sun." Is computer a new thing? Obviously not. It It just gives us what we give it. It accepts our instructions and turns it into something that can help or please us. Things. It took us a few hours, and then it gave us a result at lightning speed. Hours The results of thinking and processing only get instant feedback, and it is not perfect. We injected logic into the computer.AlgorithmWill activities and insights, and what we get is just an instant The results are no better than our assumptions, logical reasoning, and academic skills. We do not Our products, whether automatic or manual, reflect this point. After two generations of Computing The effort of Machine Research was originally intended to define a set of words for computer science, and now it seems that there is no connectivity. Actually Our products are ourselves. [Conclusion] Computers, software, and computer products will not be classified soon. Psychological aspects. As for the spirit, inspiration, and psychology, there are still some profound questions that have not been solved. Understanding creativity and human beings and so on are far beyond our capabilities. Computer technology is sometimes beneficial, sometimes harmful, sometimes successful, sometimes failed, and sometimes stopped. Everything is the same. Even good Computers won't replicate human capabilities, and will never. Think about it. There is no basic vocabulary for computers, and then they learn to think, associate, debate, and love; Work for life; save Store all the details of life and so on! A formalist who feels good about himself thinks that he can define a software development process, and now he seems to have made a big mistake. They That is, you do not know the beginning of it or the consequences of it. Some academic institutions have temporarily tried to give up; Business Groups never attack code. Software giants put a lot of effort into coding and pretend to do some sacred things. Human Services. In fact, it's all about humans watching themselves in the mirror. Computers are laughing at us! |