मोनो का उपयोग क्यों करें?


33

जावा पर मोनो (या किसी अन्य "मुक्त" या लिनक्स-अनुकूल भाषा/रनटाइम) का उपयोग करने के मुख्य लाभ क्या हैं?

मोनो हमेशा .NET ढांचे में नवीनतम विकास के पीछे पीछे हट जाएगा, आप मोनो का उपयोग किसी अन्य पारंपरिक ओपन-सोर्स भाषा/फ्रेमवर्क (जावा) पर क्यों करना चाहते हैं?

संपादित करें: नीचे वर्णित किसी की तरह, मुझे लगता है कि मूल प्रश्न यह है कि आप लिनक्स प्लेटफ़ॉर्म पर .NET का उपयोग क्यों करना चाहते हैं?

+19

क्योंकि मोनो सी # है और सी # जावा नहीं है। 22 feb. 092009-02-22 00:11:56

+1

बस उत्सुक, इस प्रश्न को पहले से ही 2 डाउनवॉट मिले, क्यों? 22 feb. 092009-02-22 00:29:04

  0

व्यक्तिपरक और तर्कवादी? ;) 22 feb. 092009-02-22 00:32:07

+4

मुझे नहीं लगता कि यह व्यक्तिपरक है, मैं सिर्फ लिनक्स पर चलने वाली भाषा का उपयोग करने के बजाय, लिनक्स पर .NET के साथ "संघर्ष" करना चाहता हूं, विशिष्ट कारणों को चाहता हूं।:) 22 feb. 092009-02-22 00:40:18

+2

"मोनो हमेशा .NET ढांचे में नवीनतम विकास के पीछे पीछे हट जाएगा" आपका क्या मतलब है? मोनो कुछ मामलों में एमएस 'आधिकारिक "रनटाइम से पहले से ही तेज है। 22 feb. 092009-02-22 00:40:25

+2

मैं भाषा सुविधाओं, जैसे LINQ, WCF, आदि के बारे में और बात कर रहा हूं। जब एमएस नई सुविधाओं को रिलीज़ करता है, तो मोनो उन्हें समर्थन देने से पहले हमेशा एक अंतराल होगा। 22 feb. 092009-02-22 00:42:03

  0

इसके अलावा, विशिष्ट विशेषताएं हैं (जैसे डब्ल्यूसीएफ में एमएसएमक्यू समर्थन) जो मोनो में कभी भी (साफ-सफाई) समर्थित नहीं हो सकती हैं। 22 feb. 092009-02-22 00:42:58

  0

एंडी व्हाइट, कृपया यहां दिए गए बकवास उत्तरों से क्षमा करें (मेरा शामिल है, शायद): 1) सही लोगों ने अभी तक यह प्रश्न नहीं देखा है और 2) आपका प्रश्न 20x स्पष्ट हो सकता है ताकि लोगों को पता चले कि आप ' पूछ नहीं रहा सौभाग्य। 22 feb. 092009-02-22 05:50:30

  0

नहीं, यह ठीक है, यह एक बहुत ही क्रोधित सवाल था। (तर्कसंगत हो सकता है मुझे लगता है)। मुझे और अधिक विशिष्ट होना चाहिए। 23 feb. 092009-02-23 00:16:10

62

उत्तर बहुत स्पष्ट है: क्योंकि आप लिनक्स पर नेट का उपयोग करना चाहते हैं।

यह निश्चित रूप से सवाल पूछता है (जो मुझे लगता है कि वास्तव में आप क्या प्राप्त कर रहे हैं): आप लिनक्स (जावा पर अधिक) का उपयोग क्यों करना चाहते हैं?

कारणों में से बहुत सारे:

  • अपने सर्वर और, कहते हैं, एक WPF या Winforms अनुप्रयोग के बीच आम कोड;
  • किसी विशेष .Net भाषा का उपयोग करें, जैसे F #;
  • भाषा विशेषताएं जो जावा में नहीं हैं (बंद, ऑपरेटर अधिभार, आंशिक कक्षाएं, रनटाइम जेनरिक, इंडेक्सर्स, प्रतिनिधि, LINQ, var प्रकार, इत्यादि आदि);
  • आपके कौशल या आपकी टीम के लोग पहले ही सी # में हैं;
  • आदि
+2

मेरे पसंदीदा लिनक्स ऐप्स में से एक "जीनोम-डू" (मैक क्विक्सिलवर के समान) मोनो में लिखा गया है। http://do.davebsd.com/ 22 feb. 092009-02-22 01:02:45

+10

'प्रश्न पूछने' के उचित उपयोग पर बस निकलने के लिए: http://begthequestion.info/। जेफ एटवुड पॉडकास्ट में हर समय एक ही गलती करता है ... 22 feb. 092009-02-22 02:29:28

+2

हां मैंने यूनी में प्रारंभिक दर्शन किया और यह भी तब आया। इस शब्द के लिए जेफ, मैं और अन्य लोगों का उपयोग (जैसे यह या नहीं) आधुनिक स्थानीय भाषा में स्वीकार किया जाता है। 22 feb. 092009-02-22 02:30:53

+3

मुझे यह पसंद है कि आपने वाक्यांश के अपने दुरुपयोग के बारे में बातचीत में केवल प्रश्न (सही उपयोग) से आग्रह किया है। अच्छी तरह से खेला, cletus, अच्छी तरह से खेला। 28 apr. 092009-04-28 17:06:47

  0

आह! Cletus वास्तव में सिर्फ जेफ के एक अति गुप्त alt होना चाहिए! 26 mar. 102010-03-26 06:46:32

  0

ध्यान दें कि एफ # उद्देश्य कैमल का थोड़ा संशोधित संस्करण है, जो * .NET बकवास के बिना, लिनक्स में मूल रूप से उपयोग किया जा सकता है। 26 mar. 102010-03-26 06:54:07

  0

क्या एफ # लिनक्स में काम करता है? मुझे मोनो डेवेल में इसके लिए कोई विकल्प नहीं मिला। 10 may. 122012-05-10 05:05:41


1

एक शब्द में? क्रॉस-प्लेटफार्म

+4

जावा एक अधिक विश्वसनीय क्रॉस प्लेटफार्म भाषा है जो मोनो द्वारा प्रदान की गई कुछ भी है। 22 feb. 092009-02-22 00:16:32

+2

युप लेकिन यदि आप विंडोज़ के बाहर सी # में कोड करना चाहते हैं तो आप :) 22 feb. 092009-02-22 00:17:59

+2

@fmsf: फिर आपका जवाब "क्योंकि आप लिनक्स में सी # में कोड करना चाहते हैं" और "क्रॉस-पल्टफॉर्म" नहीं 22 feb. 092009-02-22 03:28:45

  0

सिर्फ जिज्ञासा के लिए : पी को उस उत्तर के साथ 4 अपवॉट्स और 5 डाउनवॉट मिले, हाँ मुझे पता है लेकिन यह जवाब सरल रखना था :) 24 feb. 092009-02-24 22:34:21

+3

Cheater। आप कुछ भी हाइफिनेट कर सकते हैं और इसे एक शब्द में बदल सकते हैं। : पी 24 feb. 092009-02-24 23:10:00


11

व्यक्तिगत रूप से, मैं सर्वर के रूप में लिनक्स मंच में और अधिक विश्वास है, लेकिन कार्यक्रम भाषा के रूप में सी # का उपयोग करना चाहते।


7

कुछ लोग जावा से बेहतर # # पसंद करते हैं। साथ ही, मान लें कि सी # एक आईएसओ मानक भाषा है जबकि जावा नहीं है। शायद आप एक लिनक्स सर्वर पर एएसपी.NET कोड चलाने के लिए चाहते हैं? वास्तव में बहुत सारे कारण हैं।


2

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


8

आप कुछ भविष्य में आईफोन, वाईआई, और संभवतः एंड्रॉइड पर सी # का उपयोग करना चाहते हैं। यह लिंक देखें। http://arstechnica.com/open-source/news/2009/01/open-source-mono-framework-brings-c-to-iphone-and-wii.ars


2

चूंकि माइक्रोसॉफ्ट उन्हें बनाने से पहले सी # आईएसओ मानक में परिवर्तन प्रस्तुत करता है, सिद्धांत रूप में मोनो को .NET का पता लगाने की आवश्यकता नहीं है। हकीकत में, बड़ा पुराना एमएस बजट पहले फिनिश लाइन तक पहुंच जाता है।


4

मुझे लगता है कि यह व्यक्तिगत वरीयता के लिए नीचे आता है। मैं सी # के साथ सहज हूं, और मैं उन ऐप्स को विकसित करना चाहता हूं जिन्हें मैं अपने उबंटू लैपटॉप या मेरे विस्टा लैपटॉप पर चला सकता हूं। इसलिए, मैं मोनो का उपयोग करता हूं। अगर मैं जावा के साथ अधिक आरामदायक था, तो संभवतः मैं इसका उपयोग करूंगा।

बस मेरे 2 सेंट।


2

जैसा कि सभी कहते हैं, "लिनक्स पर सी # चलाने के लिए" या "क्रॉस-प्लेटफार्म होना" या जो भी हो।

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

लेकिन नेट और जावा के बीच बड़ा अंतर क्या है? इसे नेट (माइक्रोसॉफ्ट, और नोवेल अन्य प्लेटफॉर्म पर अनुवाद करने की कोशिश कर रहा है) या जावा के बहु-विक्रेता दृष्टिकोण के पीछे एकान्त बल के साथ करना है। कुछ लोगों को मोनो चुनने के लिए बस एक ऐप सर्वर चुनने की प्रक्रिया पर्याप्त हो सकती है।

क्या माइक्रोसॉफ्ट की तरह एक बड़ा अखंड विक्रेता आप देता है कि जावा नहीं लगता है:

  1. केन्द्रीकृत प्रलेखन ("आश्चर्यजनक अच्छा प्रलेखन, एक ही स्थान पर" था, लेकिन कई लोगों ने मुझे बताया है कि मैं कर रहा हूँ गलत)
  2. व्यक्ति मंच विकल्प (जैसे, ASP.NET या ASP.NET, नहीं सर्वलेट्स + JSP + JSTL? + एक्सिस)
  3. अन्य सामान मैं

और फिर भूल कर रहा हूँ टी बनाने के लिए कोई ज़रूरत नहीं यहां अन्य बड़े अंतर हैं: जावा एक एकल भाषा है और मोनो (मुझे लगता है) विभिन्न भाषाओं से सीएलआर-संकलित कोड चला सकता है।

  0

एफडब्ल्यूआईडब्ल्यू, मुझे लगता है कि नेट का डॉक जावा के बगल में बेकार है। अजीब। 22 feb. 092009-02-22 07:19:38

  0

हाँ, मुझे लगा कि कुछ इस तरह महसूस कर सकते हैं। हमें किसी तरह की तुलना करना होगा, या इसके बारे में SO पर एक और सवाल पूछना होगा :) 22 feb. 092009-02-22 12:45:51

  0

मैं बंदर से सहमत हूं ... मैं जावा दस्तावेज़ को याद करता हूं। 24 feb. 092009-02-24 17:41:12

  0

हम्म ... यह हो सकता है कि जावा उन्नत हो और मैं इस समय अन्य भाषाओं में चारों ओर घूम रहा हूं :) मुझे बस याद है कि विनफॉर्म बहुत अच्छी तरह से प्रलेखित हैं और स्विंग जावाडॉक्स को समझ में नहीं आता है। लेकिन हम 2004/5 के बारे में बात कर रहे हैं। 24 feb. 092009-02-24 22:23:33

  0

बंदर और जो, डेटा को समायोजित करने के लिए मेरा जवाब तय कर दिया :) 24 feb. 092009-02-24 22:25:15

  0

@yar: मुझे लगता है कि आपका बिंदु 1) सही नहीं है। जावा में केंद्रीकृत दस्तावेज भी है। और, मैं उन अन्य पोस्टों से सहमत हूं जो माइक्रोसॉफ्ट .NET दस्तावेज़ बेकार है। 11 dec. 092009-12-11 23:45:17

+1

इसके अलावा, जावा वास्तव में एक ही भाषा है, लेकिन जेवीएम में इसके लिए कई भाषाएं चल रही हैं: क्लोजर, ग्रूबी स्कैला बस कुछ नाम देने के लिए। 11 dec. 092009-12-11 23:46:49


2

मोनो कुछ चीजों पर पीछे है, लेकिन दूसरों पर आगे बढ़ रहा है। उदाहरण के लिए, मोनो SSE का समर्थन करता है और समय संकलन से भरा हुआ है - दूसरी तरफ ... यह कुछ समय के लिए मोनो को आने वाले .NET रिलीज में आने वाली सभी नई आगामी सामग्री को लागू करने जा रहा है ... उदाहरण के लिए ... काफी व्यापक समांतर पुस्तकालयों।


0

किसी ने यह नहीं बताया है कि लिनक्स निःशुल्क है?

+1

क्योंकि इसका प्रश्न के साथ कुछ लेना देना नहीं है। सवाल यह नहीं था कि आप .NET के बजाय मोनो का उपयोग क्यों करेंगे, लेकिन लिनक्स के लिए कुछ मूल के बजाय आप मोनो का उपयोग क्यों करेंगे। 04 nov. 092009-11-04 20:41:38

  0

अधिक देशी? ... 01 jun. 122012-06-01 12:26:42


0

मैंने मोनो को क्रॉस-कंपाइलर के रूप में उपयोग किया है, असल में। मैंने मोनो को कंपाइलर के रूप में कॉल करने के लिए मौजूदा जावा/चींटी बिल्ड फ़ाइल में कुछ "exec" लाइनें जोड़ दीं, इसलिए एक एकल, पूर्ण, कमांड लाइन निर्माण प्रक्रिया थी।

मुझे कुछ पीसी कोड के आसपास एक सी # रैपर परत लिखनी पड़ी जो हमारे जावा-ऑन-लिनक्स कोड बेस का उपयोग करना था, लेकिन मैं खुद को विजुअल स्टूडियो (एक अलग कंप्यूटर पर) शुरू करने की आवश्यकता के लिए नहीं ला सकता था चेक-आउट करें और प्रक्रिया बनाएं।


1

जो कोई भी मोनो का उपयोग करता है वह माइक्रोसॉफ्ट से सॉफ़्टवेयर पेटेंट खतरे का सामना करता है।

यही कारण है कि न केवल नए अनुप्रयोगों के लिए मोनो से बचा जाना चाहिए बल्कि सी # भी पहले स्थान पर होना चाहिए।

मोनो में माइग्रेट करना केवल तभी समझ में आता है जब आप पहले से ही विंडोज़ के साथ फंस जाते हैं और भागना चाहते हैं।

Why free software shouldn't depend on Mono or C#