Saya melihat bahwa Java 1.2 juga dikenal sebagai Java 2. Apakah "Java 1.x" dan "Java x" (misalnya "Java 1.6" dan "Java 6") merujuk ke versi Java yang sama?
Dan jika ya, mengapa perlu dualitas ini?
java
history
versioning
product-names
Federico Zancan
sumber
sumber
Jawaban:
Sun Microsystems pada waktu itu memiliki kebiasaan buruk melalui berbagai perubahan penamaan untuk produk-produknya, dan menggunakan nama yang membingungkan untuk memulainya.
Apa yang ada di Nama, atau apa artinya "Java"?
Awalnya istilah "Jawa" digunakan untuk menggambarkan tanpa pandang bulu:
Nomor Internal dan Eksternal
Berkenaan dengan nomor versi, seperti yang lain menunjukkan itu sebagian karena pemasaran, dan sebagian lagi karena mereka merasa seperti Jawa telah melakukan kemajuan seperti itu, upgrade versi utama lebih cocok (untuk Java 1.2 / Java 2, dan ketika Java 1.5 / Java 5).
Jadi, apa yang kita sebut Java 2 sebenarnya adalah Java 1.2 hingga 1.4. Java 3 dan Java 4 tidak pernah ada, dan kami melompat langsung ke Java 5, karena mereka mencoba menjelaskan di sini (dari halaman ini tentang penamaan dan versi ).
Saya juga mungkin sedikit juga tidak mengacaukan penomoran internal yang digunakan dalam sistem pelacakan dan pengembangan mereka. Saya cenderung menganggapnya sebagai 1.x = versi bahasa dan X = bahasa dan versi produk. Masuk akal, karena pengguna normal tidak perlu khawatir tentang peningkatan dan pembaruan kecil, karena mereka mendorong pembaruan otomatis, dan ini seharusnya tidak memperkenalkan perubahan apa pun pada bahasa atau kode kunci.
Perhatikan juga bahwa itu menjadi lebih aneh ketika Anda melihat versi minor dan memperbarui nomor. Misalnya, kami memiliki Java 1.3.1 dan kemudian Java 1.4.1 dan 1.4.2.
Pembaruan
Namun, tidak ada 1.xy sejak saat itu, selalu 1.x.0_UPDATE:
Perhatikan juga bahwa Anda juga akan melihat pembaruan yang dirujuk dengan salah satu dari konvensi penamaan ini:
Dan untuk kebingungan tambahan dan untuk mengikuti tradisi Sun Microsystems, Oracle sekarang menjatuhkan pengumuman seperti ini.
Nama Produk
Perhatikan juga bahwa mereka tidak hanya terbiasa mengubah penomoran, tetapi juga nama-nama penawaran produk. Jadi, Java 2 memiliki J2SE (Java 2 Edisi Standar), J2EE (Java 2 Enterprise Edition) dan J2ME (Java 2 Mobile Edition). Sejak diperkenalkannya Java 5, konvensi dan akronim ini telah dibatalkan (meskipun beberapa memiliki ketahanan yang sangat panjang, sebagian besar terima kasih untuk agen perekrutan bodoh yang tidak tahu apa yang mereka bicarakan) yang mendukung Java SE, Java EE dan Java ME , yang kadang disingkat - tetapi tidak seharusnya secara resmi - untuk JSE, JEE (cukup umum) dan JME.
Anda membaca halaman ini untuk informasi lebih lanjut tentang sistem versi saat ini yang digunakan oleh Sun Microsystems dan sekarang Oracle sejak Java 1.3.1 .
(Untuk poin bonus, cobalah mencari sejarah NetBeans sekarang untuk melihat bahwa itu juga berganti nama beberapa kali).
Mereka Tidak Tahu Diri
Mereka juga berjuang untuk memutuskan apakah mereka harus memperbarui kembali referensi yang ada atau tidak. Misalnya, halaman ini tentang rilis yang lebih lama menggunakan sistem penomoran yang lama untuk rilis yang lama, tetapi nama produk yang lebih baru (Java SE 1.1, 1.2, 1.3 dan 1.4 tidak dirilis dengan konvensi penamaan ini).
Mungkin mereka hanya bersenang-senang dengan kami. Siapa tahu?
Bagaimana dengan JVMS dan JLS?
Mereka bersenang-senang dengan penamaan dan penomoran di sana juga, tentu saja.
The Java Language Specification digunakan akan dirilis dengan buku "edisi" versioning syste ,, berikut nomor produk. Begitu:
Sejauh ini bagus.
Kecuali "Spesifikasi Bahasa Jawa" belakangan diedit ulang ketika perubahan bahasa diperkenalkan di Java 5 (yang masuk akal, Anda tidak akan menerbitkan edisi buku baru hanya untuk bersenang-senang). Karena ini adalah ketiga kalinya mereka mengeditnya, mereka menyebutnya (tada!) "Spesifikasi Java Langauge, edisi ke-3".
Namun yang jelas, orang-orang kemudian mulai bertanya-tanya mengapa 1.3 dan 1.4 tidak memiliki spesifikasi bahasa, atau mengapa Java 5 dicocokkan dengan edisi ketiga dari spesifikasi bahasa.
Jadi, Java 7 sekarang hanya menyebutnya "Spesifikasi Bahasa Jawa, Edisi Java 7 SE", meskipun kita sering menyebutnya sebagai JLS7 untuk singkatan dan untuk menghindari RSI.
Mereka Bukan Satu-Satunya ...
Untuk kesenangan tambahan, lihat kegagalan penamaan Microsoft Windows RT, atau kegilaan penamaan dan penomoran Apple dengan iPhone, iPad atau bahkan iPod.
sumber
Jawaban singkatnya: Pemasaran.
Jawaban yang lebih panjang: Formulir singkat (mis. Java 6) adalah apa yang disebut "versi produk" dan bagaimana Java dipasarkan kepada pengguna dan dalam siaran pers, dll.
Bentuk yang lebih panjang (mis. Java 1.6.0) adalah "versi pengembang". Ini digunakan secara internal, dan juga akan ditemui oleh pengembang Java (mis.
java.version
Properti sistem menggunakan formulir panjang).Lihat halaman ini untuk informasi lebih lanjut:
sumber
Karena buku dengan judul "Pelajari Shiny New Java 3" akan terjual lebih awal dari buku dengan judul "Apa yang baru di Jawa 1.3".
Jadi ya, itu terutama alasan pemasaran. Di sisi lain, saya tidak melihat kejahatan berat di sini. Lagipula, di beberapa produk, seperti Mozilla atau Chrome, angka build besar terus bertambah, dan yang lain tetap menambah angka build minor, meskipun, kadang-kadang, ada perubahan besar pada setiap rilis baru.
Beberapa, seperti Apple, tidak ingin meninggalkan kami, pengguna, dengan nama-nama membosankan seperti "Mac OS 10.6".
Dan Sun dulu baik-baik saja dengan N alias alih-alih memperkenalkan rilis "Java Green Diplodocus".
sumber
TheServerSide menjelaskan perubahan dari "Java 1.x" ke "Java x" sebagai berikut :
Tautan catatan dalam kutipan di atas dibunuh oleh Oracle . Sejauh yang saya tahu, ini tersedia di prnewswire :
Demi kelengkapan, perhatikan bahwa gaya versi 1.X belum sepenuhnya dihapus .
Perhatikan juga bahwa sebagaimana ditunjukkan dalam komentar, istilah "J2SE" yang digunakan di atas kemudian diubah menjadi "Java SE".
sumber