Jawa memiliki
int
danInteger
boolean
danBoolean
Ini sepertinya agak tidak konsisten, mengapa juga tidak
bool
vsBoolean
menggunakan nama pendek yang dibuat untuk tipe primitif?
atau
integer
vsInteger
agar nama jenis tetap konsisten?
Saya pikir C + + telah memutuskan untuk menggunakan bool
sedikit lebih awal daripada Java memutuskan untuk menggunakan boolean
, dan mungkin juga beberapa (non-standar pada saat itu?) Ekstensi C juga, jadi akan ada presedensi historis untuk bool
. Saya telah memperhatikan bahwa saya sering secara naluriah mencoba menggunakan bool
pada awalnya (hal yang baik editor modern segera melihat ini tanpa putaran kompilasi tambahan), jadi akan menyenangkan untuk mengetahui alasan di balik keadaan saat ini.
Jika seseorang mengingat (bagian dari) cerita itu, atau bahkan dapat menemukan dan menautkannya dengan diskusi sejarah yang relevan di internet, itu akan bagus.
boolean
jelas lebih eksplisit daripadabool
. Saya lebih suka bertanya mengapaint
tidak dipanggilinteger
. Dugaan saya:int
dan dichar
mana terlalu tertanam untuk diubah keinteger
dancharacter
, tetapibool
belum sepenuhnya mapan.bool
jenis ini diperkenalkan ke C ++ pada tahun 1993. Java termasukboolean
dalam rilis pertamanya pada tahun 1995, tetapi proyek Java sendiri dimulai pada tahun 1991. Tanpa menemukan sumber lebih lanjut dari informasi, tidak jelas bagi saya yang datang pertama, atau apa (jika ada) pengaruh mereka terhadap satu sama lain.boolean
jenis. (Oak kemudian berganti nama menjadi Java). Itu mendorong tanggal semakin dekat, meskipun saya masih melihat tidak ada bukti yang pasti untuk menunjukkan prioritas, atau pengaruh, di kedua arah.double
danDouble
juga.Jawaban:
Tanpa berhubungan dengan orang-orang yang benar-benar terlibat dalam keputusan desain ini, saya pikir kita tidak mungkin menemukan jawaban yang pasti. Namun, berdasarkan jadwal pengembangan Java dan C ++, saya akan menduga bahwa Java
boolean
telah dipilih sebelumnya, atau bersamaan dengan, pengenalanbool
ke C ++, dan tentunya sebelumbool
digunakan secara luas. Mungkin sajaboolean
dipilih karena sejarah penggunaannya yang lebih lama (seperti dalam Aljabar Boolean), atau untuk mencocokkan bahasa lain (seperti Pascal) yang sudah memilikiboolean
jenis.Konteks sejarah
Menurut Evolving sebuah bahasa di dan untuk dunia nyata: C ++ 1991-2006 ,
bool
jenis ini diperkenalkan ke C ++ pada tahun 1993.Java termasuk
boolean
dalam rilis pertamanya pada tahun 1995 ( Spesifikasi Bahasa Java 1.0 ). Spesifikasi bahasa yang paling awal yang dapat saya temukan adalah spesifikasi Oak 0.2 ( Oak kemudian diubah namanya menjadi Java ). Spesifikasi Oak itu ditandai "Hak Cipta 1994", tetapi proyek itu sendiri dimulai pada tahun 1991, dan tampaknya memiliki demo kerja pada musim panas 1992 .sumber
Sebenarnya, Jawa lebih akurat untuk sejarah di sini. Teori nilai-nilai benar dan salah ditemukan oleh George Boole dan umumnya disebut sebagai Aljabar Boolean untuk menghormatinya.
bool
benar-benar hanya jalan pintas untuk menghindari nama yang lebih panjang, namun, mengingat dukungan penyelesaian otomatis dari IDE modern, ini bukan lagi alasan yang sah (dan bahkan tidak kembali pada hari-hari ketika Jawa memutuskan untuk menggunakanboolean
).Saya belum menjadi bagian dari proses pengambilan keputusan untuk Jawa, tetapi jika seseorang peduli pada sejarah, maka "aljabar Boolean" adalah prioritas sejarah yang relevan, dan orang mungkin juga mempertanyakan keputusan C / C ++ tentang mengapa mereka memutilasi nama Boole dengan memotong itu
e
.sumber
creat()
.int
seharusnyainteger
?Boolean
adalah jenis buruk, mengingat itu dapat memiliki 3 nilai (Boolean.FALSE
,Boolean.TRUE
,null
) ... Point ini, pemrograman simbol bahasa dan kata-kata reserved selalu kompromi dari beberapa faktor, dan akurasi sejarah adalah mungkin cukup rendah dalam daftar itu.null
.Saya tidak bisa mengatasi masalah konsistensi, tetapi ada sejarah panjang di sini.
Seingat saya, Algol 60 adalah bahasa pertama yang menyebut tipe logisnya sebagai 'Boolean'. Algol 60 juga memiliki tipe seperti 'integer', 'procedure', dll.
Tiba-tiba datang Algol 68, dan singkatan-singkatan tampaknya sedang populer: 'bool', 'int', 'proc', dll.
Jadi, perancang bahasa dapat memilih gaya mana yang mereka suka, dan ada preseden untuk itu.
sumber