2001? वाह, समय बदल गया है। वह क्या था? जावा 1.3?
सबसे पहले, भाषा विशेषताएं:
- जेनेरिक्स: जावा जेनरिक 5.0 रिलीज में 2004 में मूल रूप से वाक्यात्मक चीनी के रूप में आप संग्रह में से बाहर वस्तुओं से उन सभी डाले करना बंद करने के लिए कहा,;
- एनोटेशन: जावा में भी 5. दृढ़ता ढांचे, वसंत और अन्यत्र में बड़े पैमाने पर उपयोग किया जाता है;
- टाइपएफ़ एनम्स: जावा 5 ने एक एनम प्रकार जोड़ा, जो मूल रूप से एक वर्ग (प्रकार) है;
- समवर्ती: जावा 5 में व्यापक समवर्ती उपयोगिताएं शामिल हैं, इसलिए बहुसंख्यक बहुत बदल गया है; और
- आवेषण: जावा 1.4 में एक अत्यधिक अंतर्निहित भाषा सुविधा जोड़ा गया। यदि आप अपना प्रोग्राम चलाते हैं तो सक्षम होने पर, संपत्ति विभिन्न स्थितियों की जांच कर सकती है और यदि वे सत्य नहीं हैं तो बम आउट कर सकते हैं। तथ्य यह है कि जब आप अपना प्रोग्राम चलाते हैं तो आप उन्हें चालू या बंद कर सकते हैं डायग्नोस्टिक्स के लिए बहुत अच्छा है।
हालाँकि, उपरोक्त भी बड़े बदलाव नहीं हैं। इस दशक के शुरुआती हिस्से में, जावा ने कट्टरपंथी वास्तुशिल्प और दार्शनिक परिवर्तन किए थे।
2001 में बड़ी चीजें ईजेबी, स्विंग और सर्वलेट/जेएसपी थीं। उनमें से कोई भी वास्तव में अब नहीं है (कम से कम सीधे नहीं)।
जावा में होने वाली सबसे बड़ी बात (इसकी शुरुआत के बाद से) वसंत और वसंत वास्तव में 5 साल पहले बड़ी हो गई थी। वसंत एक हल्का कंटेनर है जो विभिन्न प्रदाताओं और एपीआई के बीच कार्यान्वयन अंतर को छिपाने की भी कोशिश करता है। वसंत के बारे में सबसे बड़ी बात हालांकि "नियंत्रण में उलटा" या "निर्भरता इंजेक्शन" का सिद्धांत है। विचार यह है कि कक्षाएं ("बीन्स") बाहरी कॉन्फ़िगरेशन ("एप्लिकेशन संदर्भ") से एकत्र की जाती हैं।
पहले जे 2 ईई दिनों में एक सामान्य पैटर्न सेवा लोकेटर था। अब इसे बड़े पैमाने पर एक विरोधी पैटर्न के रूप में देखा जाता है। आप दृष्टिकोण की इस तरह की वकालत इन दिनों आप एक का इतिहास, एक रैंक शौकिया, एक बेवकूफ या तीनों का कोई संयोजन के रूप में देखा जाएगा चारों ओर जाना तो
public MyClass() {
this.dataMember = ServiceLocator.locate("some service");
}
: मूल रूप से आप इस तरह कोड देखना चाहते हैं।
निर्भरता इंजेक्शन, अपने सबसे सरल रूप में, वास्तविक कार्यान्वयन के संबंध में कक्षाओं में आवश्यक व्यवहार को इंजेक्ट करेगा। इस प्रकार का अलगाव भ्रामक रूप से शक्तिशाली और गहरा बदलाव है कि सूर्य (अभी भी) वास्तव में टप नहीं कर रहा है। यह इकाई परीक्षण को भी काफी बढ़ाता है।
स्विंग अभी भी आसपास है लेकिन अब इतना बड़ा नहीं है। सूर्य ने हाल के महीनों में फ्लैश प्रतियोगी और एप्लेट प्रतिस्थापन के रूप में जावाएफएक्स जारी किया। मैं व्यक्तिगत रूप से नहीं सोचता कि इसमें भविष्य का अधिक हिस्सा है (जैसा कि जोएल ने इसे अपने हालिया पॉडकास्ट में रखा है, डेस्कटॉप पर जावा मूल रूप से मर चुका है) लेकिन अन्य असहमत होंगे।
ईजेबी 2001 में बड़ा था। अब इतना नहीं है। यह एक्सएमएल कॉन्फ़िगरेशन के दुःस्वप्न के रूप में देखा गया था (सही ढंग से), अनुप्रयोग सर्वरों में अंतर जो उन्हें बड़े पैमाने पर गैर पोर्टेबल (या यदि आप पसंद करते हैं तो गैर-मामूली पोर्टेबल) बनाते हैं और वे ऐसे हेवीवेट समाधान (प्री-3.0) हैं जो वे करते हैं वास्तव में बहुत से अनुप्रयोग नहीं हैं।
ईजेबी 3.0 ने निर्भरता इंजेक्शन (सॉर्ट) और पीओजेओ (सादे पुरानी जावा ऑब्जेक्ट्स) की एनोटेशन की अधिक वसंत-जैसी दृष्टिकोण ली है।
2001 में सर्वलेट्स और जेएसपी बड़े थे। स्ट्रेट्स तब शुरू हुए या उसके तुरंत बाद और कुछ साल पहले तक बड़े थे। अब यह अन्य आधुनिक वेब ढांचे (जैसे स्ट्रूट्स 2 - नाम के बावजूद स्ट्रैट्स 1 के साथ वास्तविक संबंध नहीं है) - वसंत एमवीसी, सीम और इसी तरह से) से परे है।
इन दिनों बड़ी बात - जावा में नहीं - वेब और आरआईए को दूषित करने का है। फ्लैश/फ्लेक्स और जावास्क्रिप्ट/एचटीएमएल/सीएसएस (प्लस फ्रेमवर्क) इन दिनों यहां रोस्ट पर शासन करते हैं (और हाँ जीडब्ल्यूटी है लेकिन इसका एक छोटा सा अनुसरण है)।
वेबलॉगिक और वेबस्पेयर 2001 में जितना बड़ा नहीं था। जेबॉस में अभी भी बहुत गति है लेकिन इन दिनों मेरी पसंद के ऐपर्सवर सूर्य का ग्लासफ़िश v2 या v3 प्रीलूड है।
आईडीई भी बदल गए हैं। 2001 में जेबिल्डर बड़ा था। अब केवल तीन ही हैं: ग्रहण, नेटबीन्स और इंटेलिजे (लोकप्रियता के उस क्रम में probalby लेकिन मेरी प्राथमिकता IntelliJ है, जो गुच्छा का एकमात्र वाणिज्यिक भी है)।
मैं एक स्विंग डेवलपर हूं और आपकी पोस्ट ने मुझे रोया – willcodejavaforfood
निश्चित रूप से यह तथ्य नहीं था कि आप स्विंग डेवलपर जिसने आपको रोया? :) – cletus
jsp अब बड़ा नहीं है ?? जेएसएफ ने इसे अभी तक नहीं बदला है – tehvan