Satu hal yang terjadi pada saya tempo hari, adalah jenis tertentu masih diperlukan atau warisan yang menahan kita. Yang saya maksud adalah: apakah kita benar-benar membutuhkan pendek, int, panjang, bigint dll.
Saya mengerti alasannya, variabel / objek disimpan dalam memori, memori perlu dialokasikan dan oleh karena itu kita perlu tahu seberapa besar variabel dapat. Tapi sungguh, seharusnya bahasa pemrograman modern tidak dapat menangani "tipe adaptif", yaitu, jika sesuatu hanya pernah dialokasikan dalam rentang shortint, ia menggunakan lebih sedikit byte, dan jika sesuatu tiba-tiba dialokasikan dalam jumlah yang sangat besar memori dialokasikan sesuai dengan contoh khusus itu.
Float, nyata dan ganda agak sulit karena jenisnya tergantung pada presisi yang Anda butuhkan. Namun string harus dapat mengambil lebih sedikit memori upp dalam banyak kasus (dalam. Net) di mana sebagian besar ascii digunakan tetapi string selalu mengambil dua kali lipat memori karena pengkodean unicode.
Satu argumen untuk tipe tertentu mungkin adalah bahwa itu bagian dari spesifikasi, yaitu misalnya variabel tidak boleh lebih besar dari nilai tertentu sehingga kami mengaturnya ke shortint. Tetapi mengapa tidak memiliki batasan tipe saja? Akan jauh lebih fleksibel dan kuat untuk dapat mengatur rentang dan nilai yang diizinkan pada variabel (dan properti).
Saya menyadari masalah besar dalam pembenahan arsitektur tipe karena sangat terintegrasi dengan perangkat keras yang mendasarinya dan hal-hal seperti serialisasi mungkin memang rumit. Tapi dari perspektif pemrograman itu harus hebat bukan?
type hour is range 0 .. 23;