Saya telah menjumpai banyak orang yang secara dogmatis menentang apa pun yang dapat dianggap "optimisasi" dalam arti kata umum dalam bahasa Inggris, dan mereka sering mengutip kata demi kata (sebagian) kutipan "optimasi prematur adalah akar dari semua kejahatan" sebagai pembenaran untuk sikap mereka, menyiratkan bahwa mereka menafsirkan apa pun yang saya bicarakan adalah "optimasi prematur". Namun, pandangan ini kadang-kadang sangat mengakar sehingga mereka mengabaikan hampir semua jenis penyimpangan algoritmik atau struktur data dari implementasi "naif" yang paling murni ... atau setidaknya penyimpangan dari cara mereka melakukan sesuatu sebelumnya.Bagaimana seseorang dapat mendekati orang-orang seperti ini dengan cara membuat mereka "membuka telinga lagi" setelah mereka berhenti dari mendengar tentang "kinerja" atau "optimasi"? Bagaimana saya membahas topik desain / implementasi yang berdampak pada kinerja tanpa membuat orang langsung berpikir: "Orang ini ingin menghabiskan dua minggu pada sepuluh baris kode?"
Sekarang, sikap apakah "semua optimasi adalah prematur dan oleh karena itu jahat" atau tidak telah dibahas di sini serta di sudut-sudut lain dari Web , dan telah dibahas bagaimana mengenali kapan optimasi itu prematur dan karena itu jahat , tetapi sayangnya masih ada orang-orang di dunia nyata yang tidak cukup terbuka untuk tantangan iman mereka dalam Anti-Optimasi.
Upaya sebelumnya
Beberapa kali, saya telah mencoba memberikan penawaran lengkap dari Donald Knuth untuk menjelaskan bahwa "optimasi prematur buruk" ↛ "semua optimasi buruk":
Kita harus melupakan efisiensi kecil, katakanlah sekitar 97% dari waktu: optimasi prematur adalah akar dari semua kejahatan. Namun kita tidak boleh melewatkan peluang kita dalam 3% kritis itu.
Namun, ketika memasok seluruh kutipan, orang-orang ini kadang-kadang menjadi lebih yakin bahwa yang saya lakukan adalah Premature Optimization ™ dan menggali dan menolak untuk mendengarkan. Ini hampir seolah-olah kata "optimasi" membuat mereka takut: Pada beberapa kesempatan, saya dapat mengusulkan perubahan kode peningkatan kinerja yang sebenarnya tanpa mereka diveto dengan hanya menghindari penggunaan kata "optimiz (e | asi)" ( dan "kinerja" juga - kata itu menakutkan juga) dan alih-alih menggunakan beberapa ungkapan seperti "arsitektur alternatif" atau "implementasi yang ditingkatkan". Untuk alasan ini, sepertinya ini benar-benar dogmatisme dan bukan mereka yang sebenarnya mengevaluasi apa yang saya katakan secara kritis dan kemudian menolaknya sebagai tidak perlu dan / atau terlalu mahal.