Ich habe viele Leute getroffen, die dogmatisch gegen alles sind, was man als "Optimierung" im allgemeinen englischen Sinne des Wortes bezeichnen kann, und sie zitieren sehr oft wörtlich das (teilweise) Zitat "vorzeitige Optimierung ist die Wurzel allen Übels". als Rechtfertigung für ihre Haltung implizieren sie, dass sie alles, wovon ich spreche, als "vorzeitige Optimierung" interpretieren. Diese Ansichten sind jedoch manchmal so lächerlich verwurzelt, dass sie so ziemlich jede Art von algorithmischen oder Datenstrukturabweichungen von der rein "naiven" Implementierung ausschließen ... oder zumindest jegliche Abweichungen von der Art und Weise, wie sie die Dinge zuvor getan haben.Wie kann man sich solchen Menschen nähern, um sie dazu zu bringen, "die Ohren wieder zu öffnen", nachdem sie nicht mehr von "Leistung" oder "Optimierung" gehört haben? Wie diskutiere ich ein Design- / Implementierungsthema, das sich auf die Leistung auswirkt, ohne dass die Leute sofort darüber nachdenken: "Dieser Typ möchte zwei Wochen mit zehn Codezeilen verbringen?"
Die Frage, ob "alle Optimierungen verfrüht und daher böse sind" oder nicht, wurde hier und in anderen Bereichen des Web bereits behandelt, und es wurde bereits diskutiert, wie man erkennt, wann Optimierung verfrüht und daher böse ist , aber Leider gibt es immer noch Menschen in der realen Welt, die nicht ganz so offen für Herausforderungen sind, die ihren Glauben an Anti-Optimierung in Frage stellen.
Bisherige Versuche
Einige Male habe ich versucht, das komplette Zitat von Donald Knuth zu liefern, um zu erklären, dass "vorzeitige Optimierung schlecht ist" - "alle Optimierung ist schlecht":
Wir sollten kleine Wirkungsgrade vergessen, sagen wir in 97% der Fälle: Vorzeitige Optimierung ist die Wurzel allen Übels. Dennoch sollten wir unsere Chancen bei diesen kritischen 3% nicht verpassen.
Wenn ich jedoch das gesamte Zitat vorlege, sind diese Leute manchmal sogar mehr davon überzeugt, dass ich Premature Optimization ™ mache, und greifen ein und lehnen es ab, zuzuhören. Es ist fast so, als ob das Wort "Optimierung" sie erschreckt: Bei einigen Gelegenheiten konnte ich tatsächliche leistungsverbessernde Codeänderungen vorschlagen, ohne dass sie ein Veto einlegten, indem einfach die Verwendung des Wortes "optimiz (e | ation)" vermieden wurde ( und "Leistung" auch - dieses Wort ist auch beängstigend) und verwendet stattdessen einen Ausdruck wie "alternative Architektur" oder "verbesserte Implementierung". Aus diesem Grund scheint es wirklich so, als ob dies wirklich Dogmatismus ist und nicht sie, die das, was ich sage, kritisch bewerten und es dann als nicht notwendig und / oder zu teuer abtun.