Someone told me that the hardware is more reliable than the software, and I will prove it below. If the hardware is reliable, our program logic is also correct, the logical correct program running over a reliable hardware, there is no reason to explain that it is more reliable than the underlying hardware, then there is no reason It can be explained that the hardware is more reliable than the software.
However, change the angle, why many people will have such awareness, and most of them have experience in developing software on the basis of hardware. This sentence is wrong, but it is not a hole in the wind, but is based on the actual experience. Where is it the inevitability it produced?
Let's give a few points below: 1. The logic to be implemented is more complex than the hardware 2. When the demand changes, the impact of the software is larger than the hardware.
They are all the roots of "hardware than software reliability", and I will discuss the basis of these views in detail. 1. The logic to be implemented is more complicated than hardware. If you can't understand this sentence, a logic that a CPU to implement is not doubtful than these weeks of our own weeks, our busy software projects are more complex. It is even more complex logic than the most famous software products we usually have, but the most critical point, when we purchase these hardware devices in the electronic market, their complex hardware logic is already After the package is defined, there is no need to worry about it, and their reliability is guaranteed by the company's large companies that produce their companies. Our most common applications are nothing more than a chip that implements different functions. Together, this is usually very easy - than the complex logic of the package in the chip. In other words, the "code multiplex" in the hardware industry is much higher than that in the software industry, even in embedding communities, the object-oriented thinking has not yet obtained the most basic popularity, many companies, project selection development languages are C instead of C (this is a very big relationship with the C compiler in the field of embedded development), which further limits the possibility of large-scale multiplexing of code. The more code we write, the greater the error.
2. When the demand changes, the impact of software is more than the hardware needs to change the usage of a function, or when adding a new feature, it is often software, or more modified hardware. More preferred to modify the software (why the cost is changed, and the modification is often inevitably (at least very possible) will introduce new logical defects, and the hardware facilities at the bottom level gradually improved, our procedures are It is possible to slow down because of the time rush to consider the change in time. This is also a basis for many people "hardware than software reliable".