Pernyataan Anda 100% benar, hanya salah sasaran

Halo, Habr! Saya mempersembahkan kepada Anda terjemahan artikel "Pernyataan Anda 100% benar tetapi melewatkan seluruh poin" .

Bayangkan bahasa pemrograman di suatu tempat di Internet. Salah satu masalah arsitektur yang bisa dibahas adalah pengumpul sampah. Seorang panelis menyebutkan manfaat dari pengumpulan sampah seperti ini:
Pengumpul sampah itu keren dan menghemat banyak energi. Jika aplikasi Anda tidak memiliki persyaratan ketat untuk waktu respons, maka tidak adanya kebutuhan untuk mengurus manajemen memori membebaskan pengembang dan secara signifikan dapat meningkatkan efisiensinya.

Ini adalah pernyataan yang cukup netral yang disetujui sebagian besar orang, bahkan jika mereka mengerjakan kode yang memiliki persyaratan ketat untuk waktu tanggapan. Namun, tak terhindarkan, seseorang akan menghadirkan argumen balasan seperti itu:
Tidak! Jika Anda memiliki pointer menggantung, maka memori tidak akan pernah dibebaskan dan dalam hal apa pun Anda harus memperbaikinya dengan melakukan manajemen memori manual. Pengumpul sampah tidak secara ajaib memperbaiki semua kesalahan.
Jika Anda membaca kalimat-kalimat ini dengan cermat, Anda akan melihat bahwa setiap pernyataan di dalamnya adalah benar. Itulah mengapa sangat tidak menyenangkan untuk membantahnya. Kebanyakan orang dengan gelar teknik pada umumnya bersedia mengakui kesalahan mereka ketika mereka diberikan bukti bahwa pernyataan mereka salah. Ini, tentu saja, tidak berlaku untuk semua orang, karena beberapa orang dengan sengaja tidak setuju dengan fakta yang bertentangan dengan prasangka mereka. Kami akan mengabaikan orang-orang seperti itu di artikel ini.

Benar, pernyataan ini mengabaikan konteks pertanyaan yang lebih luas, yang berisi poin-poin berikut:

  • — ( , 1 10 ?), , , , . . — (100-1000 );
  • , , ;
  • , ;
  • , , , , , .

Singkatnya, argumen itu sebenarnya benar, tetapi mereka kehilangan seluruh inti dari komentar yang mereka balas. Sayangnya, ini sering ditemukan dalam diskusi di Internet. Mari kita lihat beberapa contoh.

Keamanan komputer


Pernyataan ini:
Menggunakan HTTPS untuk semua lalu lintas baik untuk keamanan dan anonimitas.

Anda dapat membantah, misalnya, seperti ini:

Ini tidak memberikan keamanan nyata. Jika NSA ingin menerima data Anda, itu akan masuk ke apartemen Anda dan menerimanya.

Sekali lagi, pernyataan ini benar sekali. Di sisi lain, jika Anda bukan pemimpin negara atau tidak berurusan dengan kartel narkoba internasional, Anda tidak mungkin menjadi target langsung NSA.

Jika Anda pikir ini adalah argumen balasan bodoh yang tidak akan pernah dilakukan oleh siapa pun, maka saya sepenuhnya setuju dengan Anda. Saya juga melihat bagaimana itu digunakan di dunia nyata. Saya berharap saya tidak melihatnya.

Kesalahan disebabkan oleh ketidakmampuan


Bahasa pemrograman tingkat tinggi mudah digunakan:
Bahasa pemrograman buffer overflow bagus untuk pengembangan dalam hal keamanan dan kesederhanaan.

Tapi tidak untuk semua orang:
Anda dapat mencapai hal yang sama dalam C, hati-hati saja.

Lagi-lagi ini benar. Jika setiap pengembang yang bekerja pada basis kode akan 100% terkonsentrasi dan 100% berhati-hati 100% dari waktu, maka penulisan kode bebas kesalahan dimungkinkan. Kenyataan berulang-ulang menunjukkan bahwa ini tidak mungkin, seseorang sama sekali tidak dapat bekerja dengan sempurna untuk waktu yang lama.

YAGNI ? Apa lagi YAGNI?


Semuanya sederhana:
Memproses file teks dengan Python sangat keren dan mudah.

Dan tidak sesederhana itu:

Python adalah omong kosong, itu tidak akan mengatasi tugas ketika Anda perlu memproses sepuluh juta file per detik pada mikrokontroler bawaan, menggunakan maksimum 2 KB RAM.

Iya. Ya itu. Dalam hal itu, itu akan menjadi pilihan yang salah. Anda benar sekali. Terima kasih atas wawasan Anda, tuan, inilah medali emas cemerlang untuk mengenang kontribusi penting Anda dalam diskusi ini.

Apa yang bisa menjadi alasan untuk ini?


Satu-satunya hal yang sekolah persiapkan bagi Anda adalah penting untuk menjadi benar. Jika Anda memberikan jawaban yang benar dalam ujian, Anda akan mendapat nilai bagus. Dan jika Anda tidak memberi, itu buruk. Mungkin pemikiran ini "melekat" setelah Anda selesai sekolah, terutama mengingat bahwa sebagian besar orang yang memposting komentar semacam ini tampaknya berada di ujung spektrum yang "lebih pintar" (pendapat pribadi yang tidak didasarkan pada penelitian aktual). Di dunia nyata, menjadi benar itu sendiri bukanlah suatu kebajikan. Tentu saja, dalam setiap diskusi itu penting untuk menjadi benar, tetapi fitur yang jauh lebih penting adalah yang tepat. Ini membutuhkan pemahaman tentang konteks yang lebih luas dan, mungkin, pengakuan bahwa apa yang paling penting di dunia bagi Anda secara pribadi dapat sama sekali tidak relevan untuk masalah yang sedang dipertimbangkan.

Menjadi benar itu mudah. Menjadi relevan sangat sulit.

All Articles