« Back to blog

Hardware v/s Software: Replacing Faulty Components

1. I stumbled upon an interesting difference between hardware and software today. Hardware errors are percieved to be random. I.e. when a hardware failure takes place, there is an implicit assumption that some component gave way to such an error or failure. And thus a simlpe replacement of that hardware equipment with an identical hardware component does the trick, or so is the assumption. This later assumption is true is most cases.
2. That being said, software works differently. The errors in Software are not due to a random faliure in its workings, simply because software unlike hardware is built on logical elements. Such faulty/error-inducing logic will replicate itself at all places where the software is used. Thus a simple replacement of software with its identical copy is of no use. Rather a specific modification of the logical workings of the software needs to be introduced for the software to function properly. 
3. Personal Obervation: This shows the contrast in the gap between the design and production elements, when it comes to hardware and software. This gap is huge when it comes to hardware: the design rarely has a direct impact on the workings of the hardware. Or rather the workings of the hardware depend on more factors than the design itself. Where as in the case of software, the desgin is so tightly coupled with the product itself that there does not seem to be any other reason for failure, other than design faults. This is assuming that the design was properly translated to the product in both cases. 
REF:(2:55 PM 7/27/2011 Hans Van Vliet SE Principles and Practice)