Pertanyaan yang diberi tag language-design

Tag untuk pertanyaan yang terkait dengan desain aspek bahasa pemrograman.

346
Mengapa kita harus mendefinisikan == dan! = Dalam C #?

Compiler C # mensyaratkan bahwa kapan pun tipe kustom mendefinisikan operator ==, ia juga harus mendefinisikan !=(lihat di sini ). Mengapa? Saya ingin tahu mengapa para perancang menganggap itu perlu dan mengapa kompiler tidak dapat melakukan default untuk implementasi yang masuk akal bagi salah...

241
Mengapa Python tidak memiliki fungsi tanda?

Saya tidak mengerti mengapa Python tidak memiliki signfungsi. Itu memilikiabs builtin (yang saya anggap signsaudara perempuan), tetapi tidaksign . Dalam python 2.6 bahkan ada copysignfungsi (dalam matematika ), tetapi tidak ada tanda. Mengapa repot - repot menulis copysign(x,y)ketika Anda hanya...

186
Mengapa array tidak dapat ditugaskan ke Iterable?

dengan Java5 kita dapat menulis: Foo[] foos = ... for (Foo foo : foos) atau hanya menggunakan Iterable di for loop. Ini sangat berguna. Namun Anda tidak dapat menulis metode generik untuk iterable seperti ini: public void bar(Iterable<Foo> foos) { .. } dan menyebutnya dengan array...

150
Mengapa C ++ membutuhkan file header terpisah?

Saya tidak pernah benar-benar mengerti mengapa C ++ membutuhkan file header terpisah dengan fungsi yang sama seperti pada file .cpp. Itu membuat pembuatan kelas dan pemfaktoran ulang mereka sangat sulit, dan itu menambahkan file yang tidak perlu ke proyek. Dan kemudian ada masalah dengan harus...