Java संस्करण 1.X को Java X क्यों कहा जाता है?


58

मैंने देखा कि Java 1.2 को Java 2. Do "Java 1.x" और "Java x" के रूप में भी जाना जाता है (उदाहरण के लिए "Java 1.6" और "Java 6") जावा के एक ही संस्करण को देखें?

और यदि हाँ, तो इस द्वंद्व की आवश्यकता क्यों है?


7
विपणन कारण?

14
अभी भी मोज़िला फ़ायरफ़ॉक्स से बेहतर है। दो साल से कम समय में 10+ प्रमुख संस्करण।
आंद्रेज बोबाक

2
हाँ, विपणन कारण। यह SO प्रश्न उसी विषय के बारे में है।
जोआचिम सोउर

2
कोई इसे अलग तरह से वाक्यांश दे सकता है: सन (और अब ओरेकल) ने प्रमुख अपडेट (जावा 5, 6, 7 और जल्द ही 8) बिंदु रिलीज (1.5, 1.6, 1.7 और जल्द ही 1.8) के रूप में क्यों जारी किया?
जोआचिम सॉउर

3
@Andrzejbusak Google Chrome बदतर है, यह 2 वर्षों में 20 संस्करणों के निकट आ रहा है
इज़काता

जवाबों:


64

सन माइक्रोसिस्टम्स की तब वापसी हुई थी जब इसके उत्पादों के लिए कई नामकरण परिवर्तनों से गुज़रने की एक बुरी आदत थी, और पहली जगह से शुरू करने के लिए भ्रामक नाम का उपयोग करना था।

नाम में क्या है, या "जावा" का क्या मतलब है?

मूल रूप से "जावा" शब्द का इस्तेमाल अंधाधुंध वर्णन करने के लिए किया जा रहा था:

  • भाषा ,
  • मंच ,
  • और कुछ अन्य लोगों ने जेवीएम और जावा क्लास लिब को सिर्फ जावा के रूप में संदर्भित किया।

आंतरिक और बाहरी संख्या

संस्करण संख्याओं के संबंध में, जैसा कि अन्य ने बताया कि यह आंशिक रूप से विपणन के कारण था, और आंशिक रूप से क्योंकि उन्हें बस ऐसा लगता था कि जावा ने ऐसी प्रगति की थी एक बड़ा संस्करण उन्नयन बेहतर था (जावा 1.2 / जावा 2 के लिए, और जब जावा 1.5 / जावा 5)।

तो, जिसे हम जावा 2 कहते हैं, वह वास्तव में जावा 1.2 से 1.4 था। जावा 3 और जावा 4 कभी भी अस्तित्व में नहीं थे, और हम सीधे जावा 5 पर पहुंच गए, क्योंकि उन्होंने यहाँ समझाने की कोशिश की ( नामकरण और संस्करण पर इस पृष्ठ से )।

मैं शायद उनके ट्रैकिंग और विकास प्रणालियों में उपयोग की जाने वाली आंतरिक संख्या के साथ खिलवाड़ न करने के लिए भी थोड़ा बहुत था। मैं इसे 1.x = भाषा संस्करण और X = भाषा और उत्पाद संस्करण मानता हूं। यह समझ में आता है, क्योंकि सामान्य उपयोगकर्ताओं को मामूली वेतन वृद्धि और अद्यतनों के बारे में चिंता करने की आवश्यकता नहीं है, क्योंकि वे स्वचालित अपडेट को प्रोत्साहित करते हैं, और ये भाषा या बायोटेक में किसी भी परिवर्तन को प्रस्तुत नहीं करना चाहिए।

ध्यान दें कि जब आप मामूली संस्करणों और अपडेट नंबरों को देखते हैं तो यह अजीब हो जाता है। उदाहरण के लिए, हमारे पास जावा 1.3.1 और बाद में जावा 1.4.1 और 1.4.2 था।

अपडेट

हालाँकि, तब से कोई 1.xy नहीं था, यह हमेशा 1.x.0_UPDATE रहा है:

ध्यान दें कि आप इन नामकरण सम्मेलनों में से किसी के साथ संदर्भित अपडेट भी देखेंगे:

  • 1.5.0_22 या 1.7.0_04 की तरह (अपडेट वर्जन पर पैडिंग 0 एस पर ध्यान दें, 2 अंकों पर संरेखित करें),
  • लेकिन यह भी 1.5.0u22 या 1.7.0u4 (ध्यान दें कि पेड 0 एस चले गए हैं, याय!)।

और अतिरिक्त भ्रम के लिए और सन माइक्रोसिस्टम्स की परंपरा को बनाए रखने के लिए, ओरेकल अब इस तरह की घोषणाओं को छोड़ देता है।

उत्पाद का नाम

यह भी ध्यान दें कि न केवल उन्हें नंबर बदलने की आदत है, बल्कि उत्पाद प्रसाद के नाम भी हैं। तो, Java 2 में J2SE (Java 2 Standard Edition), J2EE (Java 2 Enterprise Edition) और J2ME (जावा 2 मोबाइल संस्करण) हैं। जावा 5 की शुरुआत के बाद से, इन सम्मेलनों और समरूपों को हटा दिया गया है (हालांकि कुछ में अविश्वसनीय रूप से लंबी लचीलापन है, ज्यादातर गूंगा भर्ती एजेंसियों के लिए धन्यवाद, जिनके पास कोई सुराग नहीं है कि वे जावा एसई, जावा ईई और जावा एमई के पक्ष में क्या कहते हैं) , जो कभी-कभी संक्षिप्त होते हैं - लेकिन आधिकारिक तौर पर JSE, JEE (काफी सामान्य) और JME को नहीं होना चाहिए।

आपने वर्तमान संस्करण के बारे में अधिक जानकारी के लिए इस पृष्ठ को Sun Microsystems और अब Oracle के बाद जावा 1.3.1 से Oracle के लिए पढ़ा है ।

(बोनस अंक के लिए, अब नेटबीन्स के इतिहास को देखने की कोशिश करें कि यह कुछ समय के लिए बदला गया था)।

वे खुद को नहीं जानते

वे यह भी तय करने के लिए संघर्ष कर रहे हैं कि उन्हें मौजूदा संदर्भों को वापस अपडेट करना चाहिए या नहीं। उदाहरण के लिए, पुराने रिलीज़ के बारे में यह पृष्ठ पुरानी रिलीज़ के लिए पुराने नंबरिंग सिस्टम का उपयोग करता है, लेकिन नए उत्पाद नाम (जावा SE 1.1, 1.2, 1.3 और 1.4 इस नामकरण सम्मेलन के साथ जारी नहीं किए गए थे)।

शायद वे मज़े के लिए हमारे साथ पंगा ले रहे हैं। कौन जाने?

JVMS और JLS के बारे में क्या?

वे निश्चित रूप से नामकरण और संख्या के साथ मज़े करते थे।

जावा भाषा विशिष्टता उत्पाद संख्या के बाद एक किताब "संस्करण" वर्ज़निंग syste के साथ रिलीज होने के लिए इस्तेमाल किया ,,। इसलिए:

  • जावा 1 की अपनी "जावा लैंग्वेज स्पेसिफिकेशन" थी,
  • जावा 2 का अपना "जावा लैंग्वेज स्पेसिफिकेशन, दूसरा संस्करण" था।

अब तक सब ठीक है।

"जावा लैंग्वेज स्पेसिफिकेशन" को छोड़कर बाद में जावा 5 में भाषा परिवर्तन पेश किए जाने के बाद केवल फिर से संपादित किया गया (जो कि किसी भी तरह का अर्थ है, आप नए पुस्तक संस्करणों को केवल मनोरंजन के लिए प्रकाशित नहीं करेंगे)। जैसा कि यह तीसरी बार था जब वे इसे संपादित कर रहे थे, उन्होंने इसे (टाडा!) "जावा लैंग्वेज स्पेसिफिकेशन, तीसरा संस्करण" कहा।

लेकिन जाहिर है, लोगों को यह आश्चर्य होना शुरू हो गया कि 1.3 और 1.4 में भाषा की कल्पना क्यों नहीं थी, या जावा 5 को भाषा कल्पना के तीसरे संस्करण के साथ क्यों मिलान किया गया था।

तो, जावा 7 अब इसे केवल "जावा लैंग्वेज स्पेसिफिकेशन, जावा एसई 7 एडिशन" कह रहा है, हालांकि हम अक्सर इसे शॉर्ट्स के लिए जेएलएस 7 के रूप में संदर्भित करते हैं और आरएसआई से बचने के लिए।


वे केवल लोग नहीं हैं ...

अतिरिक्त मज़े के लिए, Microsoft Windows RT के नामकरण में असफलता, या Apple के नामकरण और नंबरिंग पागलपन को iPhones, iPads या यहां तक ​​कि iPods के साथ देखें।


"अनुगामी 0s पर ध्यान दें" 0 अनुगामी क्या है?
शमूएल एडविन वार्ड

@SamuelEdwinWard: क्षमा करें, भाषा मिक्स-अप वहाँ। मेरा मतलब है उपसर्ग 0s के बाद _ संस्करण संख्या और अद्यतन संख्या के बीच _ के बाद।
१६

मैं वास्तव में यह नहीं सोचता कि पोर्टे-मंटू या पोर्टमैंटेओ का क्या मतलब है।
ग्रैडी प्लेयर

@GradyPlayer: आप वास्तव में पूरी तरह से सही हैं। यह बात बताने के लिए धन्यवाद। (संपादित करें: हेडर को अपडेट किया, जो वास्तव में बहुत गूंगा था)।
19

5

संक्षिप्त उत्तर: विपणन।

एक लंबा जवाब: संक्षिप्त रूप (उदाहरण के लिए जावा 6) तथाकथित "उत्पाद संस्करण" है और यह है कि जावा उपयोगकर्ताओं और प्रेस विज्ञप्ति में कैसे विपणन किया जाता है, आदि।

लंबा रूप (उदाहरण के लिए जावा 1.6.0) "डेवलपर संस्करण" है। इसका उपयोग आंतरिक रूप से किया जाता है, और जावा डेवलपर्स द्वारा भी इसका सामना किया जाएगा (उदाहरण के लिए java.versionसिस्टम गुण लंबे रूप का उपयोग करता है)।

अधिक जानकारी के लिए ये पृष्ठ देखें:


2

क्योंकि "Learn Shiny New Java 3" शीर्षक वाली पुस्तक को "1.3 Java में नया क्या है" शीर्षक वाली पुस्तक से पहले बेचा जाएगा।

तो हाँ, यह मुख्य रूप से विपणन कारण है। दूसरी ओर, मैं यहाँ एक गंभीर अपराध नहीं देखता। आखिरकार, कुछ उत्पादों में, जैसे मोज़िला या क्रोम, प्रमुख बिल्ड नंबर में लगातार वृद्धि होती है, और अन्य मामूली बिल्ड नंबर को बढ़ाने के लिए चिपके रहते हैं, हालांकि, कभी-कभी, प्रत्येक नए रिलीज के साथ बड़े बदलाव आते हैं।

कुछ, जैसे Apple, हमें "मैक ओएस 10.6" जैसे सुस्त नामों के साथ, उपयोगकर्ताओं को छोड़ना नहीं चाहता है।

और सन "जावा ग्रीन लैंडस्केप्स" को जारी करने के बजाय एन अलियास के साथ ठीक हुआ करता था।


4
सिडेनोट: कभी भी जावा 3 नहीं था, यह जावा 2 एसई 1.3 (या जे 2 एसई 1.3) था। केवल जावा 1.5 / 5.0 / 5 के साथ उन्हें विपणन में "1.x" संख्या से छुटकारा मिला। हां, भले ही 'जावा 1.2 (और 1.3 और 1.4!) को "जावा 2" कहा जाता है ... विपणन, याय!
जोआचिम सॉउर

1

TheServerSide निम्नानुसार "Java 1.x" से "Java x" में परिवर्तन की व्याख्या करता है :

सूर्य ने "1." को काट दिया है J2SE 1.5.0 को J2SE 5.0 में बदलने के लिए। बदलाव की वजह? सन का दावा है कि "यह जावा प्लेटफॉर्म और प्रोग्रामिंग लैंग्वेज का सबसे महत्वपूर्ण अपग्रेड है क्योंकि इसकी शुरुआती रिलीज लगभग एक दशक पहले हुई थी" और यह वर्जन योग्य है।

जाहिरा तौर पर "J5SE" का नाम बदलने के लिए बातचीत हुई थी, लेकिन वहाँ सोचा गया था कि J2EE ब्रांड का अर्थ बहुत अधिक बदलना है।

संस्करण संख्या मजेदार नहीं है?

प्रेस विज्ञप्ति पढ़ें: सूर्य 5 वर्षों में सबसे महत्वपूर्ण और उन्नत जावा प्लेटफ़ॉर्म रिलीज़ करता है

उपरोक्त उद्धरण में नोट लिंक ओरेकल द्वारा मारा गया है । जहाँ तक मैं बता सकता हूँ, यह prnewswire पर उपलब्ध है :

सन माइक्रोसिस्टम्स, इंक। (नैस्डैक: SUNW),
जावा (टीएम) प्रौद्योगिकी के निर्माता और प्रमुख अधिवक्ता, ने आज जावा 2 प्लेटफॉर्म
स्टैंडर्ड एडिशन (जे 2 एसई (टीएम)) 5.0 पेश किया, जो जावा
प्लेटफॉर्म और प्रोग्रामिंग भाषा के लिए सबसे महत्वपूर्ण उन्नयन है। लगभग एक दशक
पहले इसकी शुरुआती रिलीज हुई थी। प्रोजेक्ट टाइगर के नाम से जाना जाने वाला, यह अपडेटेड जावा प्लेटफ़ॉर्म नाटकीय रूप
से विकास में आसानी , नए एप्लिकेशन मॉनिटरिंग और मैनेजमेंट फीचर्स,
पीसी डेस्कटॉप के लिए रिच क्लाइंट सपोर्ट पर समर्पित फोकस और रिकॉर्ड-ब्रेकिंग
परफॉर्मेंस ...


पूर्णता के लिए ध्यान दें कि 1.X संस्करण शैली पूरी तरह से नहीं गिराई गई है

डेवलपर्स द्वारा प्रयुक्त "संस्करण 1.5.0"

J2SE संस्करण संख्या 1.5.0 (या 1.5) को कुछ स्थानों पर रखता है जो केवल डेवलपर्स को दिखाई देते हैं, या जहां प्रोग्राम द्वारा संस्करण संख्या को पार्स किया जाता है। जैसा कि उल्लेख किया गया है, 1.5.0 बिल्कुल उसी प्लेटफॉर्म और उत्पादों को संदर्भित करता है जिनकी संख्या 5.0 है ...

यह भी ध्यान दें कि जैसा कि ऊपर वर्णित "J2SE" टिप्पणियों में बताया गया है, बाद में बदलकर "जावा एसई" कर दिया गया है।


4
सौभाग्य से उन्होंने "जावा एसई" और "जावा ईईई" के पक्ष में "J2SE" (और बाद में "J2EE") नामों को छोड़ दिया। "J2SE 5.0" सिर्फ मूर्खतापूर्ण था।
जोकिम सॉउर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.