इस समय आप .NET और Java के बीच अपने प्रोजेक्ट के लिए क्या चुनेंगे? [बन्द है]


13

आप बस एक नई परियोजना शुरू कर रहे हैं और आपके पास जावा और .NET से चुनने के लिए ये दो प्रौद्योगिकियाँ हैं। आप जिस प्रोजेक्ट में काम कर रहे हैं, उसमें ऐसी विशेषताएं शामिल नहीं हैं जो दो तकनीकों के बीच चयन करना आसान बनाती हैं (जैसे .NET में यह है कि मुझे ज़रूरत है और जावा की आवश्यकता नहीं है) और उन दोनों को आपके लिए बस ठीक काम करना चाहिए (हालांकि आप केवल की जरूरत है)। विचार करना:

  • प्रदर्शन
  • उपलब्ध उपकरण (यहां तक ​​कि तृतीय पक्ष उपकरण)
  • क्रॉस प्लेटफॉर्म संगतता
  • पुस्तकालय (विशेषकर तृतीय पक्ष पुस्तकालय)
  • लागत (ओरेकल जावा को आज़माने और मुद्रीकृत करने के लिए लगता है)
  • विकास प्रक्रिया (सबसे आसान / सबसे तेज़)

यह भी ध्यान रखें कि लिनक्स आपका मुख्य मंच नहीं है, लेकिन आप अपनी परियोजना को लिनक्स / मैकओ के रूप में अच्छी तरह से पोर्ट करना चाहेंगे। आपको निश्चित रूप से परेशानी को ध्यान में रखना चाहिए जो कि ओरेकल और जावा समुदाय और साथ ही मोनो और जावा की सीमाओं के आसपास घूम रहा है। यह बहुत सराहा जाएगा अगर दोनों में अनुभव वाले लोग एक अवलोकन और अपने स्वयं के व्यक्तिपरक दृष्टिकोण दे सकते हैं जिसके बारे में वे चुनते हैं और क्यों।

java  .net  mono 

इस प्रश्न का प्रभावी ढंग से उत्तर देने के लिए आवश्यकताओं के बारे में पर्याप्त जानकारी नहीं है।
लाल-गंदगी

3
मोनो एक दर्द है (जैसे समय सिंक)। यहां तक ​​कि एक बुनियादी WinForm डिजाइनर नहीं है।
नौकरी

@Job वास्तव में, MonoDevelop में GTK # के लिए GUI डिज़ाइनर है, क्योंकि WinForms अभी तक खुला स्रोत नहीं है।
महमूद होसाम

हां, लेकिन 3-पार्टी लाइब्रेरी के साथ मोनो कैसे है? क्या वे "सिर्फ काम" करते हैं? और (शायद सबसे महत्वपूर्ण बात) क्या विक्रेता समर्थन प्रदान करते हैं यदि आप उन्हें मोनो के साथ उपयोग करते हैं?
टीएमएन

जवाबों:


26

सबसे महत्वपूर्ण (संपादित करें: तकनीकी) निर्णय है:

  • क्या आप इस समय विंडोज को अपने भविष्य के तैनाती मंच के रूप में उपयोग करने के लिए 100% प्रतिबद्ध होंगे?

यदि नहीं, तो आपको जावा के साथ जाना चाहिए।


मोनो से निष्कर्ष अक्सर "हां, .NET क्रॉस-प्लेटफॉर्म" कहने के लिए उपयोग किया जाता है। वह दावा कितना वैध है? यह था कि मोनो केवल एक विकल्प है IFF आप इसके खिलाफ विकसित करते हैं!

आप अपेक्षा नहीं कर सकते। .NET- एप्लिकेशन बॉक्स से बाहर काम करने के लिए।


@ बासिक ने कहा कि यह एक उत्तर की तुलना में अधिक टिप्पणी थी। सटीक होने के लिए, मैं इसे सूची के शीर्ष पर जाने के लिए एक प्रश्न मानता हूं , क्योंकि यह शायद सबसे महत्वपूर्ण तकनीकी निर्णय है जो आपको .NET से निपटने के दौरान करना होगा। जैसा कि बेसिक का कहना है कि वह मोनो के खिलाफ परीक्षण करेगा, फिर वह रास्ते से बाहर हो जाएगा, और मैं जावा और .NET को समान रूप से अच्छी तरह से अनुकूल होने पर विचार करूंगा। मुझे .NET के साथ बहुत कम अनुभव है, लेकिन जावा में काफी कम है।

  • प्रदर्शन - जावा बहुत अच्छी तरह से चलता है, लेकिन अभी भी स्टार्टअप का काफी समय है। ऐसा इसलिए है क्योंकि एक जेवीएम को आरंभीकृत होने के दौरान खरोंच से शुरू होता है, और रनटाइम लाइब्रेरी जार फ़ाइल की यादृच्छिक पहुंच डिस्क से पढ़ने की आवश्यकता होने पर धीमी होती है। हाल ही में जावा 6 की पृष्ठभूमि की प्रक्रिया है कि डिस्क कैश में रनटाइम लाइब्रेरी जार फाइलों को रखने की कोशिश की जाए ताकि जरूरत पड़ने पर पहुंच तेज हो।

  • उपकरण उपलब्ध हैं। बहुत सारे उपकरण मौजूद हैं, और उच्च गुणवत्ता वाले ओपन सोर्स के रूप में बहुत कुछ उपलब्ध है। आईबीएम के पास कुछ बहुत ही उन्नत टूलिंग उपलब्ध हैं, लेकिन वे उनके लिए काफी पैसा भी लेते हैं। आप MyEclipse पर एक नज़र डालना चाह सकते हैं जो जावा दुनिया के सबसे अच्छे हिस्सों को एक साथ रखने से जीवनयापन करते हैं और उन्हें उपलब्ध कम लागत के लिए सुलभ बनाते हैं, यह देखने के लिए कि क्या उपलब्ध है। Netbeans में बहुत अच्छा GUI संपादक है। JDeveloper में एक अच्छा स्विंग डिबगर है। Sun 6 JDK में विजुअलवीएम है जो एक अच्छा एंट्री लेवल प्रोफाइलर है जो पहले से चल रहे प्रोग्राम्स (जो कि एक किलर फीचर है) का विश्लेषण कर सकता है।

  • क्रॉस प्लेटफॉर्म संगतता। बहुत अच्छा, उत्कृष्ट के लिए रुझान। JVM बहुत, बहुत विश्वसनीय और पूर्वानुमान योग्य है। समस्याएँ केवल तब दिखाई देती हैं जब ऑपरेटिंग सिस्टम के अंतर अलग हो जाते हैं - जैसे फ़ाइल विभाजक, फ़ाइल नाम केस संवेदनशीलता और मेनू व्यवहार।

  • पुस्तकालय। उनमें से कई और कई स्वतंत्र रूप से उपलब्ध हैं और उपयोग करने योग्य हैं, लेकिन मुख्य रूप से जावा में लिखा गया है क्योंकि गैर-जेवीएम भाषाओं में लिखे गए कोड को खींचना मुश्किल है।

  • लागत। जावा मूल रूप से स्वतंत्र रूप से उपलब्ध है। ओरेकल जो संकेत दे रहा है वह यह है कि बिजली उपकरण - जेआरकेट से आने की सबसे अधिक संभावना है - एक लागत पर होगा। यह भी ध्यान दें कि विस्तारित समर्थन ("जावा फॉर बिजनेस") भी एक मूल्य के लिए आता है। गैर- x86 प्लेटफ़ॉर्म एक मरने वाली नस्ल है, लेकिन आईबीएम के पास बहुत कुछ है और आईबीएम उनके लिए एक उत्कृष्ट जावा कार्यान्वयन प्रदान करता है। यह ऑपरेटिंग सिस्टम का एक हिस्सा होने के नाते कीमत है - बेहतर गोद लेने के लिए सबसे अधिक संभावना है।

  • विकास की प्रक्रिया। जावा के साथ ज्यादा समय शोध करने और उपयुक्त तकनीक को चुनने और उसे सीखने में बिताया जाता है, लेकिन जब ऐसा किया जाता है तो मुझे लगता है कि बहुत सारी प्रौद्योगिकियां हैं, जो विकसित करने के लिए काफी तेज हैं। जावा ईई का नवीनतम संस्करण फेसलेट्स का उपयोग करके बहुत शक्तिशाली वेब पेज लिखने के लिए प्रदान करता है जिसे कम से कम PHP पृष्ठों के रूप में तेजी से लोड किया जा सकता है।

मुझे लगता है कि जब तक आप जावा या .NET में कुशल नहीं होते हैं, तब तक आप और आपके संगठन से परिचित तकनीक का चयन करके समय और धन की बचत करेंगे


14
कौन गारंटी देता है कि विंडोज पर आपके द्वारा लिखा गया जावा प्रोग्राम कहीं और चलेगा? यह केवल उस गारंटी को तोड़ने के लिए एक एकल जेएनआई कॉल लेता है। यही मुद्दा सीएलआई के साथ है - यदि आप एक गैर-क्रॉस प्लैफ़ॉर्म एपीआई का उपयोग करते हैं, तो आप पोर्टेबिलिटी खो देते हैं। इस प्रकार, पोर्टेबिलिटी की गारंटी देने वाला एकमात्र व्यक्ति स्वयं है - प्रोग्रामर, चाहे आप किस फ्रेमवर्क का उपयोग कर रहे हों।
मार्क एच

3
@ Thorbjørn, क्या आप वर्तमान जलवायु में ओरेकल पर भरोसा करेंगे?
16:20 पर radekg

12
+1 क्योंकि थोरबजर्न ने कहा कि यदि आप विंडोज के लिए 100% प्रतिबद्ध नहीं हैं, तो आपको जावा के साथ जाना चाहिए , न कि यह कि आपको जावा के साथ जाना चाहिए । और मैं सहमत हूं - हां, मोनो एक कमबैक के रूप में है, लेकिन अगर आपकी वर्तमान योजनाएं विंडोज के लिए प्रतिबद्ध नहीं हैं, तो अपने आप को दर्द से बचाएं और उस तकनीक के साथ जाएं जो अन्य प्लेटफार्मों पर चलाने का इरादा था। और मैं इसे .NET डेवलपर और .NET उत्साही के रूप में कहता हूं।
कार्सन63000

4
मैं सोच रहा था कि क्या कोई "मोनो-अस्तित्व-पर-अन्य" -advoters है, जिन्होंने वास्तव में इसे करने की कोशिश की है ...

4
"जावा मूल रूप से स्वतंत्र रूप से उपलब्ध है (...) बिजली उपकरण एक लागत (...) पर होगा समर्थन भी एक कीमत के लिए आता है" । बिल्कुल वही। नेट, सही?
कोनामिमन

19

ठीक है, इसे नीचे तोड़ने की कोशिश करता है:

विचार करना:

प्रदर्शन उपकरण उपलब्ध (यहां तक ​​कि तृतीय पक्ष उपकरण)

जावा और .NET दोनों प्लेटफार्मों में बहुत सारे अच्छे प्रदर्शन परीक्षण उपकरण उपलब्ध हैं, मुझे पता है कि जावा स्पेस में बहुत सारे मुफ्त ओपन सोर्स टूल हैं जो अधिकांश परिदृश्यों के लिए पर्याप्त हैं। मैं .NET पक्ष के लिए नहीं बोल सकता।

क्रॉस प्लेटफॉर्म संगतता

जावा का यहाँ एक फायदा है - कुछ प्लेटफार्मों पर .NET रनिंग प्राप्त करने के लिए प्रोजेक्ट मोनो (या समान) की आवश्यकता है। मुझे यकीन नहीं है कि मोनो 100% बुलेट-प्रूफ और परफ़ॉर्मेंट है, कुछ उम्मीद है कि कोई और इसमें झंकार कर सकता है।

पुस्तकालय (विशेषकर तृतीय पक्ष पुस्तकालय)

दोनों को यहां मजबूत समर्थन हासिल है। प्रारंभ में जावा इको-सिस्टम इस तरीके का नेतृत्व करता है (वहां पर आप जो कुछ भी सोच सकते हैं उसके बारे में शाब्दिक रूप से मुफ्त खुला स्रोत पुस्तकालय है) लेकिन मैं कहूंगा कि .NET निश्चित रूप से पकड़ा है जहां यह मायने रखता है (दृढ़ता के लिए NHiberante, यूनिट परीक्षण के लिए NUnit दो बुनियादी नाम रखने के लिए + मुझे यकीन है कि एक मीट्रिक ट्रक लोड अधिक है)।

लागत (ओरेकल जावा को आज़माने और मुद्रीकृत करने के लिए लगता है)

सभी कंपनियां कुछ हद तक मुद्रीकरण करने की कोशिश करती हैं, लेकिन जावा के मामले में मुझे लगता है कि आपका बयान थोड़ा भ्रामक है। संस्करण 6 (OpenJDK परियोजना) के रूप में जावा को खुला रखा गया था और ओरेकल ने जावा को मुद्रीकृत करने के लिए कोई झुकाव नहीं दिखाया है जो सूर्य क्या कर रहा था। तो हाँ वे जेवीएम (विशेष रूप से प्रबंधन एक्सटेंशन) को ऐप सर्वर और एक्सटेंशन बेचते हैं, लेकिन स्वयं कोर जावा? नहींं और वे कभी नहीं करेंगे (यह सार्वजनिक रूप से बहुत बार कहा गया है)।

मुझे लगता है कि एमएस और ओरेकल दोनों बड़े पैमाने पर अपने रेपसेक्टिव प्लेटफॉर्म के साथ अप्रत्यक्ष राजस्व के कारण लाभान्वित होते हैं।

स्वामित्व की कुल लागत (TCO)? मैं इस बहस में भी नहीं पड़ने वाला क्योंकि इसे साबित करने का कोई तरीका नहीं है (प्रोग्रामिंग एक रचनात्मक मानवीय गतिविधि है)। मुझे व्यक्तिगत रूप से लगता है कि जावा आधारित सिस्टम में कम प्रारंभिक लागत होती है क्योंकि आप ज्यादातर मामलों में ऊपर से नीचे तक एक मुक्त ओपन सोर्स स्टैक का उपयोग कर सकते हैं। हालाँकि, बड़े उद्यम समर्थन अनुबंधों को प्राथमिकता देते हैं ताकि उस विशेष लाभ को कम कर सकें।

विकास प्रक्रिया (सबसे आसान / सबसे तेज़)

निर्भर करता है कि आप क्या बनाने की कोशिश कर रहे हैं! मैं व्यक्तिगत रूप से तर्क दूंगा कि वे बहुत अधिक हैं, हालांकि C # में जावा पर मूल भाषा में कुछ अतिरिक्त विशेषताएं हैं। हालाँकि, JVM (Groovy, Scala, Clojure आदि) पर जावा के साथ (कई इंटर-ऑपरेटेबल) भाषाओं में आप चाहते हैं कि सभी लैंगगॉच सुविधाएँ हो सकती हैं।

.NET में थोड़ी देर के लिए वेब फ्रंट एंड 'सामान' बनाने के लिए एक अलग फायदा था (यदि आप चाहें तो रैपिड एप्लीकेशन डेवलपमेंट कर सकते हैं), लेकिन मुझे लगता है कि JEE6 और / या स्प्रिंग और अन्य वेब / ऐप फ्रेमवर्क में बहुत अंतर है।

यह भी ध्यान रखें कि लिनक्स आपका मुख्य मंच नहीं है, लेकिन आप अपनी परियोजना को लिनक्स / मैकओ के रूप में अच्छी तरह से पोर्ट करना चाहेंगे। आपको निश्चित रूप से परेशानी को ध्यान में रखना चाहिए जो कि ओरेकल और जावा समुदाय और साथ ही मोनो और जावा की सीमाओं के आसपास घूम रहा है। यह बहुत सराहा जाएगा अगर दोनों में अनुभव वाले लोग एक अवलोकन और अपने स्वयं के व्यक्तिपरक दृष्टिकोण दे सकते हैं जिसके बारे में वे चुनते हैं और क्यों।

यदि आप लिनक्स, यूनिक्स और विशेष रूप से मैक ओएस में पोर्ट करना चाहते हैं तो जैसा कि ऊपर बताया गया है कि जावा में बढ़त है।

उम्मीद है की वो मदद करदे!


4

आपके अंकों की सूची को ध्यान में रखते हुए, मैं विभाजित हो जाऊंगा और यह वास्तव में इस बात पर निर्भर करेगा कि मुझे क्या बनाने की आवश्यकता है।

.Net इन पहलुओं के लिए जीतता है:

  • प्रदर्शन
  • विकास प्रक्रिया (सबसे आसान / सबसे तेज़)

जावा इन पहलुओं के लिए जीतता है:

  • क्रॉस प्लेटफॉर्म संगतता
  • पुस्तकालय (विशेषकर तृतीय पक्ष पुस्तकालय)

यह इन पहलुओं के लिए एक ड्रा है:

  • लागत (ओरेकल जावा को आज़माने और मुद्रीकृत करने के लिए लगता है)
  • उपलब्ध उपकरण (यहां तक ​​कि तृतीय पक्ष उपकरण)

.Net सभी इरादों और उद्देश्यों के लिए, एक एकल प्लेटफ़ॉर्म टेक्नोलॉजी स्टैक है। हाँ, वहाँ मोनो है, लेकिन जब तक मोनो विंडोज कार्यान्वयन के साथ 100% संगत है, यह एक सच्चे क्रॉस प्लेटफॉर्म अनुभव प्रदान नहीं करता है। क्रॉस प्लेटफॉर्म सपोर्ट के लिए केवल वही सबसेट जो आप गिन सकते हैं, जो सिल्वरलाइट में फिट होगी।

उस ने कहा,। नेट का बेहतर प्रदर्शन (वास्तविक माप टीबीडी) है। उपयोगकर्ता की नजर में, कथित प्रदर्शन ही एक चीज है जो मायने रखता है। पिछले 12+ वर्षों से जावा में विकसित होने के बाद, और हाल ही में कर रहे हैं। नेट, मैं मंच की शक्ति की सराहना कर सकता हूं।

दूसरी ओर जावा के पास चुनने के लिए बहुत अधिक समृद्ध IDE सेट है, और इन बेहतर IDE की लागत .Net भिन्नता की लागत से बहुत कम है। दूसरी ओर, पेशेवर J2EE इंजन की लागत आसानी से विकास के पर्यावरण की लागत को बौना कर देती है। .Net में मुझे निकेल-एंड-डीम्ड टू डेथ होने की धारणा है। जावा में बड़ी लागतों के लिए वर्कअराउंड हैं - जिन्हें आसानी से डेवलपर समय के साथ स्थापित करने के लिए बनाया जा सकता है। आईडीई के बाहर, उन उपकरणों के लिए जो मामले (प्रोफाइल, कवरेज, आदि) के लिए लागत बराबर हैं।

अंत में यह वास्तव में जरूरत पर निर्भर करता है । अगर मैं वैसे भी विंडोज पर तैनात होने जा रहा हूं, तो .नेट एक ब्रेनर है। मेरे पास क्लाइंट्स हैं जो विंडोज़ केवल दुकानें हैं। अगर मैं यूनिक्स पर तैनात होने के लिए giong हूं या विषम प्रणालियों का समर्थन करने की आवश्यकता है, तो जावा एक ब्रेनर नहीं है। मैं भी कट्टरपंथी हो सकता हूं और एक मिश्रित प्रौद्योगिकी स्टैक का सुझाव दे सकता हूं। सब के बाद, सिर्फ इसलिए कि क्लाइंट को सर्वर की आवश्यकता होती है यूनिक्स होने का मतलब यह नहीं है कि वे अपने डेस्कटॉप पर चलाते हैं। हर एप्लिकेशन को वेब ऐप में सर्वश्रेष्ठ नहीं बनाया जाता है।


4

प्रदर्शन - सम

दोनों प्लेटफार्मों लगभग सभी अनुप्रयोगों के लिए बहुत अच्छा प्रदर्शन करते हैं।

वास्तव में उन्हें अलग करने के लिए बहुत कुछ नहीं है, हालांकि मेरा व्यक्तिपरक अनुभव यह है कि जावा में लंबे समय तक चलने वाले अनुप्रयोगों के लिए थोड़ी बढ़त है, जबकि। नेट अनुप्रयोग स्टार्टअप समय के लिए तेज है।

उपलब्ध उपकरण (यहां तक ​​कि 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 से।


3

नेट

यह व्यक्तिपरक या लौकिक होने के बिना इस प्रश्न का उत्तर देना कठिन है (मुझे लगता है कि मैं नीच जा रहा हूं), लेकिन। नेट अपवर्डिंग पर एक भाषा है और जावा कानूनी मुद्दों से टकराया हुआ लगता है और साथ ही कम लोकप्रिय हो रहा है।

इसके अलावा .net आजकल मल्टीकोर (Parallel.net) और एसिंक्रोनस प्रोग्रामिंग (प्रतिक्रियाशील एक्सटेंशन) के लिए उत्कृष्ट समर्थन के साथ कहीं अधिक सुसंगत और आधुनिक भाषा है, LINQ का उल्लेख नहीं करने के लिए जो मैं बिना नहीं रह सकता था। .Net में कई फ्री टूल भी हैं, लेकिन विजुअल स्टूडियो एक्सप्रेस, एसक्यूएल सर्वर एक्सप्रेस, वेब मैट्रिक्स आदि।

यह सच है कि जावा कुछ गुणक लाभ रखता है। आपके पास .net आदि मोनो के साथ कुछ विकल्प हैं जो पारंपरिक अनुप्रयोगों या बैकएंड घटकों के लिए कर सकते हैं, लेकिन यदि आपको कुछ बहुत ही विशेष काम कर रहे हैं (और चलो डब्ल्यूपीएफ पर चर्चा न करें)।

एक और विकल्प अगर क्रॉसप्लायूमर वास्तव में महत्वपूर्ण है सिल्वरलाइट जाना है, मैं व्यक्तिगत रूप से चांदी के "अनुप्रयोगों" के लिए उत्सुक नहीं हूं लेकिन कम से कम काम करता है।

क्रॉसप्लॉइट दर्द बिंदु है, अपने आप से पूछें कि क्या यह वास्तव में आवश्यक है, कम से कम इस बिंदु पर।


.Net एक खराब चीज नहीं है। मुझे वास्तव में यह काफी पसंद है। यह कोई संदेह नहीं है कि जावा इस समय एक पहचान संकट का सामना कर रहा है, जो शर्म की बात है - मुझे वह मंच भी पसंद है। मुझे खुशी है कि आपने क्रॉस-प्लेटफ़ॉर्म (+1) के लिए जावा के बेहतर ट्रैक रिकॉर्ड को स्वीकार किया। कुछ क्लाइंट को यूनिक्स की तैनाती की आवश्यकता होती है, अन्य को विंडोज परिनियोजन की आवश्यकता होती है। जावा लोग दोनों प्लेटफार्मों की सेवा कर सकते हैं, जबकि .Net वास्तव में विंडोज तक सीमित है। उस ने कहा, वहाँ विंडोज के बहुत से केवल ग्राहक हैं।
बेरिन लोरिट्श

1

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.