Study notes (c) ----- "Dreaming in Code"

    Today, I read the "Dreaming in Code", a lot of feelings. From any angle, Chandler at the start of the project is worthy of envy, adequate funding, comfortable environment, exciting vision, experts gathered team, professional wise boss, but like most projects, like, Chandler after many years in duration, still turning back, a version has not really work. Finally failed. This book is the most important word is "software difficult." Why difficult? Difficulties? Drag and pending cases than expected, change course, the stumbling block, a large number of defects to be repaired ......

   In particular, this software is not a simple little software, but a large multi-purpose software collections, the difficulties encountered will be much more than expected, but also much more difficult. Chandler failure is inevitable.  

    Author of the book have been constantly repeating a question: Why can not we make the same as the bridge-building software?       

   In the book, describing a scene of bridge-building, bridge-building activities as well as imagination itself to the writer's. In his view, bridge-building, how much of this activity is perfect, from the start of construction, step by step the foundations, steel frame is good, step by step building blocks, then the achievements of a perfect bridge, everything is precise, controlled, You do not have to repeat the same mistakes. However, the software did not do as bridge-building, as can be established in accordance with drawings, set goals, step by step implementation, although each software do people hope so. However, "things are often unexpected development," the old saying constantly and continually create software in such activities fulfilled. Perhaps because writing software is the most demanding thing, writing code requirement is perfect. Computer language, in fact, is to translate human language to a computer, let the computer understand what people want it to do. Yes, the computer itself does not know how to write code, it does not understand, it is to listen to people say that it will have to react, still very accurate and realistic response. The problem is that everything in the human body, the person is not infallible. A small tab, you can put a piece of software into confusion. The computer can not be the kind of fault-tolerant features, as if to pour cold water on the human complacency, we faced when we created the greatest invention, cowardly found that we can not go manipulate it, it looks like one from the outside Star creatures, communication between us is so difficult.

    So when writing software, we have to get serious and rigorous. Learn teamwork, more communication with the staff, with plans to be implemented, and so on.

    Complex nature of software is that:
    1, the computer logic and strict precision is no contradiction between human sophisticated logic;
    2, communication and collaboration barriers between people;

  Solve these two points, I believe that writing software is not easy to say, but will reduce the number of tedious stuff.

  

Guess you like

Origin www.cnblogs.com/yangxiao-/p/12312295.html