2009-03-28 14 views
5

वहाँ किसी भी अच्छा, पोर्टेबल, खुला स्रोत, उच्च स्तरीय, स्थिर टाइप, अनिवार्य, वस्तु उन्मुख, कचरा एकत्र, सुरक्षित भाषाओं/मोनो और जावा के अलावा उचित प्रदर्शन के साथ runtimes हैं? मोनो अच्छा है, लेकिन यह एक माइक्रोसॉफ्ट तकनीक है, और मैं इसका उपयोग करने से डरता हूं (मुझे यकीन नहीं है कि यह डर कितना तर्कसंगत है)। जावा के साथ समस्या यह है कि यह बहुत आसान है (कोई हस्ताक्षरित डेटा प्रकार नहीं, कोई structs, आदि)।ओपन सोर्स कामयाब प्रोग्रामिंग भाषाओं

+0

"उच्च स्तरीय" ... "कोई हस्ताक्षरित डेटा प्रकार नहीं, कोई structs"। एर ... –

+0

जावा के खिलाफ तर्क अभी बहुत कमजोर दिखता है - हस्ताक्षरित डेटा प्रकार, structs? –

+0

structs का उपयोग समझ में आता है। जाल में शिखर घोषित करने के लिए जावा में वेक्टर-ऑब्जेक्ट्स का उपयोग करने के लिए साहसी होगा, क्योंकि प्रत्येक ऑब्जेक्ट में हेडर कुछ बाइट लंबा होता है। संरचनाएं अधिक कॉम्पैक्ट स्टोरेज की अनुमति देती हैं। –

उत्तर

2

मैं Vala को इंगित करना चाहता हूं, जो सी # के सिंटैक्स पर आधारित एक भाषा है, लेकिन जो लक्ष्य करता है सी कंपाइलर (एफिल के समान) और एक हल्के, स्वयं-होस्टेड रनटाइम। हालांकि, इसमें कचरा संग्रह की कमी है।

+0

जो मैं देख सकता हूं, यह वीबी 6 की तरह है - यह संदर्भ गणना का उपयोग करता है । यह वास्तव में कई अनुप्रयोगों में जीसी से भी बदतर है। आह ठीक है, लोगों को कड़ी मेहनत सीखने दो! :) –

+0

मुझे यह दिखाने के लिए धन्यवाद। यद्यपि कोई जीसी नहीं है, यह जीटीके विकास के लिए एकदम सही उपकरण की तरह दिखता है। कोई बदसूरत गोब्जेक्ट सी कोड नहीं! – Zifre

+1

संदर्भ गणना की तुलना विज़ुअल बेसिक 6 की तुलना में उद्देश्य-सी से बेहतर होती है, जो अन्य कारणों से धीमी थी। –

9

मोनो एक Microsoft तकनीक नहीं है। .NET है, लेकिन मोनो नहीं है - मोनो ईसीएमए -334 और ईसीएमए -335 अंतरराष्ट्रीय मानकों का ओपन-सोर्स कार्यान्वयन है। हां, वे माइक्रोसॉफ्ट से निकले, लेकिन मोनो माइक्रोसॉफ्ट तकनीक नहीं है।

ऐसा नहीं है कि मोनो के पाठ्यक्रम एक भाषा, है - सी # भाषा है। लेकिन फिर भाषा वास्तव में खुले स्रोत नहीं हैं या नहीं - कार्यान्वयन हैं।

यह लगती है जैसे आप शायद सी # का एक तर्कहीन डर मिल गया है - और इसी तरह जावा की। निश्चित रूप से चीजें हैं जिन्हें मैं जावा में देखना चाहता हूं (और मैं महत्वपूर्ण रूप से सी # पसंद करता हूं), लेकिन इसमें अभी भी बहुत महत्वपूर्ण अनुप्रयोग लिखना अभी भी संभव है।

+1

मोनो के साथ समस्या यह है कि मोनो को खराब करने वाली कुछ चीज न करने के लिए कई लोग माइक्रोसॉफ्ट (पिछले व्यवहार के आधार पर) पर भरोसा नहीं करते हैं। – TofuBeer

+0

आपको यह उम्मीद नहीं करनी चाहिए कि मोनो .net ढांचे की एक प्रति होगी, क्योंकि बहुत कुछ गायब हो जाएगा। ऐसा नहीं लगता कि शराब 100% के लिए विंडोज का अनुकरण करेगा। – Roalt

+0

दरअसल। और मोनो में चीजें हैं जो .NET में भी नहीं हैं। –

0

पायथन और रूबी

+0

वे "स्थैतिक रूप से टाइप किए गए" मानदंड पर असफल हो जाते हैं। –

+0

कई समस्याओं के लिए "उचित प्रदर्शन" पर भी असफल रहा। –

+1

सी # और जावा कई समस्याओं के लिए "उचित प्रदर्शन" पर भी असफल हो सकता है। उचित प्रदर्शन उचित रूप से संदर्भ पर निर्भर करता है। फिर भी, टाइपिंग पर अभी भी असफल हो, तो -1। –

2

Eiffel अपने सभी आवश्यकताओं को

2

CLR पर, वहाँ है Boo को पूरा हमेशा नहीं है।

बू एक नया उन्मुख वस्तु स्थिर एक अजगर प्रेरित वाक्य रचना और भाषा और संकलक तानाना पर एक विशेष ध्यान देने के साथ सामान्य भाषा इन्फ्रास्ट्रक्चर के लिए प्रोग्रामिंग भाषा टाइप किया

Boo Manifesto एक है अच्छा प्रारंभिक बिंदु।

2

खैर, जावा में कोई अहस्ताक्षरित डेटा प्रकार शायद ही कभी एक समस्या के रूप में माना जाता है हो रही है।

लेकिन क्या लिस्प के बारे में - यह बिल्कुल कचरा संग्रहण, और शायद सबसे शक्तिशाली भाषा शुरू करने की भाषा थी।

चेक प्रदर्शन comparison पीटर Norvig (गूगल के अनुसंधान निदेशक) द्वारा। आप आश्चर्यचकित हो सकते हैं कि लिस्प कुछ क्षेत्रों और जावा में सी ++ भी धड़कता है। मैं wondering क्यों कि है -

alt text

हालांकि लिस्प नहीं एक मुख्य धारा भाषा हो रहा है? क्योंकि यह एक प्रकार का सरल है - शायद इसे आने वाली किसी भी वर्तमान या भविष्य की भाषा द्वारा सत्ता में पीटा नहीं जा सका।

(मैं क्या सी # या जावा इतना लोकप्रिय बनाता है लगता है न सिर्फ भाषा लेकिन पुस्तकालयों।) एक garbage collector साथ

+0

क्योंकि यह एक सूप की तरह पढ़ता है कोई भी बनाए रखना चाहता है? –

+0

लिस्प की शक्ति पूर्वनिर्धारित वाक्यविन्यास और संरचना की कमी से आती है, लेकिन वही चीजें जो इसे अपनी शक्ति देती हैं, वे चीजें हैं जो इसे पढ़ने में मुश्किल होती हैं और सीखना मुश्किल होती हैं। – Grumbel

2

सी ++? यद्यपि आप जावा के साथ समस्याएं एक शो स्टॉपर के अधिकांश नहीं हैं (जब तक कि आप विस्तार से क्यों न हो, आपको उन चीजों की आवश्यकता क्यों होती है, इसके विपरीत उन तर्कों को आमतौर पर बहुत ध्वनि नहीं होती है, लेकिन कभी-कभी वे होती हैं)।

0

सबसे पहले, मोनो माइक्रोसॉफ्ट तकनीक नहीं है। दूसरी ओर, उल्लेख की गई सुविधाओं के साथ केवल दो गंभीर वर्चुअल मशीनें (वीएम) हैं - नेट/मोनो और जावा। लेकिन, स्थाई रूप से टाइप की गई भाषा की आवश्यकता को अलग करना, आप Parrot Virtual Machine (Wikipedia article about Parrot) पर नए ध्यान आकर्षित कर सकते हैं।

और, बेशक, रूबी, पायथन Erlang, आदि भी पार मंच रहे वी एम (एकल गतिशील भाषा के लिए)

1

आप कैसे कह सकते हैं कि जावा भी आसान है?

ठीक है, एक जावा के विकास के लिए कारणों में से सी ++ से जो विनिर्देशन का एक 900 + पृष्ठ है यह कम जटिल बनाने के लिए है। हालांकि, यह सी

लगभग 10 साल पहले मैंने Les Hatton द्वारा पाठ्यक्रम में भाग लिया और उन्होंने आपके सी प्रोग्राम को उपयोग करने के लिए सुरक्षित बनाने पर शोध किया। उन्होंने तर्क दिया कि लगभग कोई भी सी मानक के 140 पृष्ठों को याद नहीं कर सकता है, इसलिए सी ++ जैसे कुछ को समझना मुश्किल होगा।

बेशक, अपने लक्ष्य सुरक्षा की आवश्यकता नहीं सकता है, लेकिन यह कुछ याद करने के लिए अगर आप ऐसा करेंगे।

0

आप डी प्रोग्रामिंग भाषा पर एक बार देख ले सकते हैं।

लेकिन ईमानदार होने के लिए? मैं मोनो/सी # से दूर रहने का सुझाव दूंगा। क्यूं कर? कई कारणों से ...

इसके अलावा, व्यावहारिक puroses के लिए जावा या सी ++ ले।

जावा भी यह थोड़ा अलग है के रूप में सी # के रूप में अच्छा है। सी ++ उतना ही अच्छा है क्योंकि जीसी की 99% समस्याओं को संदर्भ गिनती का उपयोग करके हल किया जाता है ...

+0

-1 मोनो/सी # –

+0

से दूर रहने के किसी भी कारण बताए जाने के लिए मैं बस एफओएसएस, विक्रेता लॉक और कई अन्य लोगों पर बहस दर्ज नहीं करना चाहता था। शायद सबसे महत्वपूर्ण यह तथ्य है कि मोनो हमेशा पीछे रहेंगे। नेट, फीचर्स प्रदर्शन और कई अन्य लोगों में। उदाहरण के लिए: http://art-blog.no-ip.info/cppcms/blog/post/27 तो, एफओएसएस को वहां नहीं मिलना चाहिए – Artyom

0

यदि आप नौकरी के लिए अधिक उपयुक्त होने में सक्षम होने के लिए इसे सीखना चाहते हैं, तो मेरा सुझाव है कि आप या तो .NET (यदि आप माइक्रोसॉफ्ट प्लेटफ़ॉर्म के लिए जाना चाहते हैं) या जावा पर विचार करें (यदि आप इसके लिए जाना चाहते हैं मंच स्वतंत्रता), और बहुत कोडिंग करते हैं। दोनों बहुत बड़े प्लेटफार्म हैं!

कुछ और जगहों में कुछ और जगहों का उपयोग किया जा रहा है, जो बहुत अच्छा हो सकता है लेकिन कहीं भी आपको नौकरी देने की संभावना नहीं है लेकिन उन कुछ स्थानों पर।

+0

मैं अभी नौकरी पाने के बारे में चिंतित नहीं हूं, मैं बस अपने खाली समय में उपयोग करने के लिए एक अच्छी भाषा की तलाश में हूं। – Zifre

1

scala जावा की तुलना में कम वर्बोज़ है और यह भी जावा चलाता है के रूप में यह जावा बाईटकोड को संकलित करता चलता है। ट्विटर ने स्कैला में अपने कुछ बुनियादी ढांचे को फिर से कार्यान्वित किया।

संबंधित मुद्दे