|
|
|
|
|
by countWSS
880 days ago
|
|
Debugging. It takes hours to pinpoint exact cause of anything more
complex than a toy program, especially when the bug
requires a combination of factors to manifest.
In most situations its much harder to debug code
that you didn't write, but it appears as if debugging
is "easy" because people do it on their own code. Bonus(appear easy to do, but are actually hard):
Micro-optimizations that target a specific platform:
a combination of CPU-compiler-OS factors. Porting software: There are tons of subtle unportable things
and assumptions that hide under the surface. Rewriting X in Y:lots of footgun and like inexact
translation in natural languages can cause subtle bugs. Makefiles and shell scripts: they look so simple,
but try debugging a moderately complex makefile
or shell scripts. Bash is especially sinister example. Anything that talks to a closed/blackbox API or close-source library:
the dependence on code that you can't debug in general. Maintaining software in general as it grows in complexity. |
|