Ich kann dem nicht ganz zustimmen, weil Sie sich darum kümmern müssen. Und eines der Dinge, die ich an der Programmierung liebe, sind die Wechsel zwischen verschiedenen Abstraktionsebenen und Größen, die sich schnell vom Nachdenken über Nanosekunden zum Nachdenken über Monate und wieder zurück bewegen.
Die höheren Dinge sind jedoch wichtiger.
Wenn ich einen Fehler in einigen Problembereichen habe, der zu falschem Verhalten führt, ist es wahrscheinlich nicht allzu schwer, ihn zu beheben. Wenn es zu einer Unterperformance führt, spielt es wahrscheinlich keine Rolle.
Wenn ich einen Fehler bei der Auswahl der Datenstruktur in einem Subsystem habe, der zu falschem Verhalten führt, ist das Problem viel größer und schwerer zu beheben. Wenn es dazu führt, dass es unterdurchschnittlich abschneidet, kann es sehr ernst sein oder, wenn es erträglich ist, ist es immer noch merklich weniger gut als ein konkurrierender Ansatz.
Wenn ich einen Fehler in der Beziehung zwischen den wichtigsten Datenstrukturen in einer Anwendung habe, der zu falschem Verhalten führt, liegt eine massive Umgestaltung vor mir. Wenn es zu einer Underperformance führt, könnte es so schlimm sein, dass es fast besser wäre, wenn es sich falsch verhält.
Und genau das macht es schwierig, diese Probleme auf niedrigerer Ebene zu finden (das Beheben von Fehlern auf niedriger Ebene ist normalerweise einfach, es ist schwierig, sie zu finden).
Das Low-Level-Zeug ist wichtig, und seine verbleibende Bedeutung wird oft ernsthaft unterschätzt, aber es ist blass im Vergleich zu den großen Sachen.