Pertanyaan yang diberi tag type-systems

sistem tipe adalah kumpulan aturan yang menetapkan properti yang disebut tipe untuk berbagai konstruksi — seperti variabel, ekspresi, fungsi, atau modul — yang terdiri dari program komputer.

141
Haruskah kita mendefinisikan tipe untuk semuanya?

Baru-baru ini saya mendapat masalah dengan keterbacaan kode saya. Saya memiliki fungsi yang melakukan operasi dan mengembalikan sebuah string yang mewakili ID operasi ini untuk referensi di masa mendatang (sedikit seperti OpenFile di Windows yang mengembalikan pegangan). Pengguna akan menggunakan...

57
Bagaimana saya harus menyimpan nilai "tidak diketahui" dan "hilang" dalam sebuah variabel, sementara masih mempertahankan perbedaan antara "tidak diketahui" dan "hilang"?

Anggap ini pertanyaan "akademis". Saya telah bertanya-tanya tentang menghindari NULL dari waktu ke waktu dan ini adalah contoh di mana saya tidak dapat menemukan solusi yang memuaskan. Mari kita asumsikan saya menyimpan pengukuran di mana kadang-kadang pengukuran diketahui tidak mungkin (atau...

53
Kapan tipe pengujian OK?

Dengan asumsi sebuah bahasa dengan keamanan tipe bawaan (mis., Bukan JavaScript): Diberikan metode yang menerima a SuperType, kita tahu bahwa dalam kebanyakan kasus di mana kita mungkin tergoda untuk melakukan pengujian tipe untuk mengambil tindakan: public void DoSomethingTo(SuperType o) { if...

47
Apa manfaat keamanan dari sistem tipe?

Dalam JavaScript: The Good Parts oleh Douglas Crockford, ia menyebutkan dalam bab warisannya, Manfaat lain dari warisan klasik adalah bahwa ia mencakup spesifikasi sistem tipe. Ini sebagian besar membebaskan programmer dari harus menulis operasi casting eksplisit, yang merupakan hal yang sangat...

37
Mengapa inferensi jenis bermanfaat?

Saya membaca kode jauh lebih sering daripada saya menulis kode, dan saya berasumsi bahwa sebagian besar programmer yang mengerjakan perangkat lunak industri melakukan ini. Keuntungan dari inferensi tipe yang saya asumsikan adalah kurang verbositas dan kode yang kurang tertulis. Tetapi di sisi lain,...

30
Ketik inferensi di Java 8

Apakah pengenalan notasi lambda baru (lihat misalnya artikel ini ) di Java 8 akan memerlukan beberapa jenis inferensi? Jika demikian, bagaimana sistem tipe baru akan berdampak pada bahasa Java secara