यह सवाल कि क्या सी # या जावा बहस के लिए आगे है, लेकिन एक या दूसरे की भाषा सुविधाओं पर ध्यान केंद्रित करने के बजाय मैं इस बात पर ध्यान केंद्रित करूंगा कि किसी भाषा को विकसित करने में क्या शामिल है । एक तथ्य यह है कि मुझे नहीं लगता कि कोई भी इसके साथ बहस करेगा: जावा सी # से पुराना है।
भाषा कैसे काम करती है, इसे बदलने में समस्याएं:
- यदि आप पीछे की संगतता को तोड़ते हैं तो आप बहुत सारे डेवलपर्स को पेशाब करते हैं
- यदि आप अपने डेवलपर्स को पेशाब करते हैं, तो वे दूसरी भाषा की ओर बढ़ते हैं जो उनका बेहतर समर्थन करता है। इसलिए, भाषा के साथ काम करने का कोई कारण नहीं है।
- जावा ने भाषा को बाजार में लाने के दबाव के साथ कुछ डिजाइन निर्णय जल्दी किए। उम्मीद थी कि वापस जाऊंगा और कुछ खाली स्थानों को भर दूंगा। वे निर्णय अभी भी भाषा को प्लेग करते हैं क्योंकि अनुचर पहले बिंदु का उल्लंघन नहीं करना चाहते हैं।
- जावा ने बहुत सारे नए क्षेत्रों को उड़ा दिया, और एक बार और सभी के लिए साबित कर दिया कि एक कचरा एकत्र की गई भाषा को गंभीरता से लिया जा सकता है - और अधिकांश लोगों के लिए पर्याप्त रूप से अच्छा प्रदर्शन करता है।
- C # बाद में आया और बहुत सारे सबक सीखे जो जावा में ठोकर खाए - इसलिए वे कुछ तकनीकी सीमाओं से बचने में सक्षम थे जो कि जावा के बिंदु 3 के कारण है।
- नई भाषा सुविधाओं को एक वास्तविक समस्या को समझदारी से हल करना होगा। प्रत्येक भाषा सुविधा उस भाषा के संदर्भ में समझ में नहीं आती है जिसे आप इसे जोड़ने की कोशिश कर रहे हैं। यही कारण है कि, उनकी समानता के बावजूद, जावा और सी # अलग-अलग भाषाएं बनी रहेंगी।
तो, क्या C # में जावा की तुलना में अधिक भाषा विशेषताएँ हैं? मुझे ऐसा लगता है। क्या वे उपयोगी हैं? मुझे ऐसा लगता है। इसका मतलब यह है कि सी # जावा की तुलना में बेहतर या अधिक परिपक्व है? कि मैं इससे असहमत हूं। वे अलग, सादे और सरल हैं। Java में कभी भी C # के सभी फीचर्स नहीं होंगे क्योंकि C # में Java के सभी फीचर्स कभी नहीं होंगे।
जावा की सुविधाओं में से एक, विंडोज पर एक कार्यक्रम लिखने और इसे यूनिक्स या मैक पर तैनात करने की क्षमता, माइक्रोसॉफ्ट के समर्थन से सीधे कभी नहीं होगी। तुम क्यों पूछते हो? ऐसा नहीं है क्योंकि Microsoft बुराई है (क्या यह सच है या नहीं, मुझे वास्तव में परवाह नहीं है)। ऐसा इसलिए है क्योंकि उन्होंने एक सबक सीखा है जो सूर्य ने कभी नहीं किया: एक बार लिखें कहीं भी ऑपरेटिंग सिस्टम और हार्डवेयर को कमोडिटाइज़ करता है। यदि आप अपने ऑपरेटिंग सिस्टम की बिक्री से पैसा बनाने के बारे में परवाह करते हैं, तो आप इसे स्वैप करने के लिए तुच्छ नहीं बनाना चाहते हैं और अभी भी एक आवेदन कार्य करना है। यदि आपने ऐसा किया है, तो आप ऑपरेटिंग सिस्टम से कोई लाभ नहीं कमा सकते क्योंकि हमेशा सस्ते विकल्प होते हैं।