3 ms·
Very nice, but I'd nitpick memory corruption and expand it to hardware errors, or add that category. Sending digital signals over analog medium (read: always)
by klingonopera 7y ago
Very nice, but I'd nitpick memory corruption and expand it to hardware errors, or add that category.
Sending digital signals over analog medium (read: always) can fail, and may do so regularly depending on hardware itself and environment conditions.
Simple examples: Digital 3.3V signals sent over 10m, high-capacity lines (lose a bit here and then), or an overclocked CPU undervolting just at the right time, etc...
EDIT: I'd also argue that UB is a type of logical_error. Not the fact that UB exists within the language, but in that the logic failed to account for the scenario?
- pjmlp 7y agoExcept that unless we are talking about hardware design languages, no programming language accounts for hardware errors as such. UB is its own kind of error, specially since ISO C documents over 200 use cases, and unless you are using static analysers, most likely won't be able to find out that are failing into such scenarios as no human is able to know all of them by heart, whereas logical errors are relatively easy to track down, even by code review.