प्रदर्शन - सम
दोनों प्लेटफार्मों लगभग सभी अनुप्रयोगों के लिए बहुत अच्छा प्रदर्शन करते हैं।
वास्तव में उन्हें अलग करने के लिए बहुत कुछ नहीं है, हालांकि मेरा व्यक्तिपरक अनुभव यह है कि जावा में लंबे समय तक चलने वाले अनुप्रयोगों के लिए थोड़ी बढ़त है, जबकि। नेट अनुप्रयोग स्टार्टअप समय के लिए तेज है।
उपलब्ध उपकरण (यहां तक कि 3 पार्टी उपकरण) - डिबेटेबल
इस बात पर निर्भर करता है कि आपको किन औजारों की जरूरत है और आप किन चीजों से परिचित हैं।
.Net निश्चित रूप से Microsoft द्वारा प्रदान किए गए कुछ महान उपकरण हैं। दूसरी ओर, जावा दुनिया में समान रूप से अच्छे उपकरण हैं जैसे कि ग्रहण में, इंटेलीज वातावरण के नेटबीन्स।
क्रॉस प्लेटफॉर्म संगतता - जावा जीत
.Net मौलिक रूप से Microsoft प्लेटफार्मों (विंडोज, एक्सबॉक्स आदि) से बंधा है। पूर्ण कार्यान्वयन किसी भी गैर-Microsoft प्लेटफ़ॉर्म के लिए उपलब्ध नहीं हैं ।
मोनो अच्छा है, लेकिन यह वास्तव में आपको पूर्ण क्रॉस-प्लेटफॉर्म क्षमता नहीं देता है क्योंकि यह सभी .Net पुस्तकालयों का समर्थन नहीं करता है (उदाहरण के लिए आप सभी विंडोज जीयूआई सामान को सही ढंग से काम करने की उम्मीद नहीं कर सकते हैं, इसलिए जब तक आप स्विच नहीं करते हैं एक क्रॉस-प्लेटफ़ॉर्म टूलकिट जैसे GTK # आप विभिन्न प्लेटफार्मों पर अपना ऐप नहीं चला पाएंगे)
जावा वास्तव में पोर्टेबल है। न केवल भाषा, बल्कि इससे भी महत्वपूर्ण बात यह है कि सभी जावा लाइब्रेरी पोर्टेबल हैं। यदि आप शुद्ध जावा पुस्तकालयों (जैसे GUI के लिए स्विंग) से चिपके रहते हैं, तो आपका कोड कहीं भी आपके पास जावा रनटाइम वातावरण होगा।
लाइब्रेरी (विशेषकर 3 पार्टी लाइब्रेरी) - जावा जीत
संभवतः जावा प्लेटफ़ॉर्म की सबसे अच्छी ताकत पुस्तकालयों का विशाल पारिस्थितिकी तंत्र है, विशेष रूप से ओपन सोर्स लाइब्रेरी। कुछ उदाहरण:
- अपाचे पुस्तकालयों और उपकरणों के सभी
- विशाल ग्रहण पारिस्थितिकी तंत्र के सभी पुस्तकालय
- सभी पुस्तकालयों ने Google द्वारा योगदान / रखरखाव किया
- JBoss और Red Hat द्वारा बनाए गए सभी संबंधित उद्यम उपकरण
लागत (Oracle जावा को आज़माने और मुद्रीकृत करने के लिए लगता है) - यदि आप खुले स्रोत पर जाते हैं, तो जावा जीत जाता है, अन्यथा।
आपके पास एक 100% खुला स्रोत जावा स्टैक हो सकता है जो मुफ़्त है और आपको किसी विशेष मालिकाना मंच में नहीं बाँधता है। यह 100% निशुल्क है।
वैकल्पिक रूप से, आप IntelliJ IDEA को खरीद सकते हैं, विंडोज पर जावा चला सकते हैं और एक मालिकाना डेटाबेस का उपयोग कर सकते हैं, जिस स्थिति में यह एक विशिष्ट Microsoft .NET स्टैक के समान ही लागत-वार है।
विकास प्रक्रिया (सबसे आसान / सबसे तेज़) - डिबेटेबल
यह संभवतः प्लेटफॉर्म के विशेष रूप से जिम्मेदार के बजाय प्रत्येक प्लेटफॉर्म के साथ आपके डेवलपर्स के अनुभव पर अधिक निर्भर करता है।
.Net में निश्चित रूप से कुछ बेहतरीन उपकरण हैं जो आपको विंडोज पर सरल GUI ऐप्स के लिए बहुत उत्पादक बना सकते हैं। आश्चर्य की बात नहीं है कि यह .Net विकास के लिए "मीठा स्थान" है।
दूसरी ओर, मैं सर्वर-साइड विकास के लिए जावा स्टैक पसंद करता हूं। मावेन जैसे उपकरणों और सभी निरंतर तैनाती / एकीकरण क्षमताओं के साथ आप मजबूत सर्वर-साइड ऐप्स के लिए एक बहुत प्रभावी विकास प्रक्रिया स्थापित कर सकते हैं।
जावा पर भाषा-वार C # के कुछ उत्पादकता लाभ हैं। लेकिन दूसरी तरफ यदि आप आजकल जावा प्लेटफ़ॉर्म पर विकसित हो रहे हैं, तो प्रवृत्ति केवल जावा का उपयोग करने की नहीं है, बल्कि एक नई जेवीएम भाषा जैसे स्काला, ग्रूवी या क्लोझर का उपयोग करने की है - यदि आप ऐसा करते हैं, तो आप अधिक उपयोगी होंगे या तो C # या Java से।