2009-03-30 9 views
9

मैं रूबी के लिए शुरुआत कर रहा हूं। मैंने रूबी के बारे में निम्नलिखित शिकायतें सुनी हैं, और उम्मीद कर रहे थे कि स्टैक ओवरफ्लो समुदाय उठाए गए प्रत्येक बिंदु को संबोधित कर सकता है।लोग जावा पर रूबी चुनने के किस कारण से हैं?

आम है कि मैंने सुना है रूबी के बारे में शिकायतों:

  • रूबी जावा
  • रूबी की तुलना में धीमी नहीं स्थिर टाइप किया
  • यह बड़ी परियोजनाओं

इन को देखते हुए के लिए उपयुक्त नहीं है स्वीकार्य रूप से राय आधारित बयान, जावा से रूबी 'बेहतर' कैसे है? और रूबी कभी व्यवसाय और व्यक्तियों द्वारा व्यापक रूप से उपयोग की जाने वाली भाषा होगी?

+0

यदि आपको लगता है कि आपको हमेशा लिखित कोड की पंक्ति के विपरीत आवेदन के प्रदर्शन के बारे में सोचना चाहिए/उन पंक्तियों को लिखने में आसानी, मैं सुझाव दूंगा कि रूबी नहीं है आप। मैं इस बात से सहमत नहीं हूं कि सामान्य मामले में यह समझ में आता है। –

+0

यह लौ युद्धों के लिए एक आरामदायक ढंग से बनाया गया बिस्तर जैसा दिखता है। इस प्रश्न का कोई सही या गलत जवाब नहीं है, केवल दिशा में विचारों का एक पूरा समूह। –

+0

"हमें हमेशा आपके द्वारा लिखे गए कोड की लाइनों के बारे में एप्लिकेशन के प्रदर्शन के बारे में सोचना चाहिए।" निश्चित रूप से, सामान्य रूप से नहीं! मानव (प्रोग्रामर) संसाधनों की तुलना में कंप्यूटिंग पावर सस्ता है। यही कारण है कि मैं आम तौर पर सी ++ के बजाय जावा का उपयोग कर रहा हूं ;-) –

उत्तर

3

रुबी की गति में increased in the latest version है। हालांकि पुराने संस्करणों में रूबी slower than other scripting languages.

+0

वर्तमान बेंचमार्क गेम में दिखाए गए सभी रूबी कार्यान्वयन उस ब्लॉग आलेख में दिखाए गए संस्करणों से अधिक हालिया हैं - वे पुराने संस्करण नहीं हैं! (रूबी 1.8.7 रूबी 1.9.1p0 jruby 1.2.0) – igouy

0

है रूबी पहले से ही एक लोकप्रिय भाषा :)

मैं "हम हमेशा प्रदर्शन के बारे में सोचना चाहिए" और "माणिक जावा से बेहतर है" पर आप से सहमत नहीं है। कुछ प्रोजेक्ट पर, कोड पठनीयता प्रदर्शन से अधिक महत्वपूर्ण हो सकती है। अनुकूलित सी ++ कोड के बारे में सोचें जो उदाहरण के लिए कोई भी पढ़ और बनाए रख सकता है। और कोई सही प्रमाण नहीं है कि "रूबी जावा से बेहतर है"। आप उस जानकारी को कहां ले गए?

+0

http://blog.dhananjaynene.com/2008/07/performance-comparison-c-java-python-ruby-jython-jruby-groovy/ यहां एक लिंक है जो एक पुनरावृत्ति के लिए कहता है यह 86 एमएस लेता है। तो अगर यह एक बड़ी परियोजना है तो मेरा आवेदन धीमा अनुभव करता है .. ग्राहक केवल प्रदर्शन चाहता है। वह परवाह नहीं करता कि यह कितनी स्पष्ट रूप से लिखा है। – Manoj

+0

यह सच है कि कुछ परियोजनाओं पर प्रदर्शन वह ग्राहक है जो ग्राहक चाहता है। लेकिन यह सच नहीं है कि प्रदर्शन ही एकमात्र चिंता है। ग्राहक जो अपना आवेदन नियमित रूप से संशोधित करना चाहता है उसके बारे में कैसे? रखरखाव यहां महत्वपूर्ण है। यदि आप केवल प्रदर्शन चाहते हैं तो मैं सी ++ के साथ जाने का सुझाव देता हूं :) – Gant

+0

सी ++? धीरे। विधानसभा बेहतर होगी, मशीन कोड शायद सबसे अच्छा होगा। बेशक, यह 22 वीं शताब्दी तक वितरित नहीं हो सकता है ... –

1

प्रश्न का उत्तर "कौन सी भाषा बेहतर है, यह या वह?" हमेशा व्यक्तिपरक है। निश्चित रूप से, ऑब्जेक्टिविटी मान्य है और आप एक्स कार्य/प्रोजेक्ट के लिए बेहतर भाषा के बारे में किसी निष्कर्ष तक पहुंच सकते हैं।

हालांकि, फिर भी, यदि आपकी टीम किसी अन्य भाषा से खुश है जो किसी निश्चित कार्य/परियोजना के लिए पहली पसंद नहीं है, लेकिन काम वैसे भी किया जा सकता है ... एक बुद्धिमान टीम उस भाषा का चयन करेगी जो उन्हें खुश है क्योंकि उनकी उत्पादकता भी अधिक होगी।

निष्कर्ष निकालना, कोई भी आपको बता सकता है कि आपकी पसंद आपकी पसंद से बेहतर है। वे आपको मनाने के लिए कोशिश कर सकते हैं, लेकिन अगर किसी कारण से एक्स भाषा आपको अधिक उत्तेजित करती है, तो वे इसके बारे में कुछ भी नहीं कर सकते हैं।

यह कहकर कि: रुबी 1.9+ ने जहां तक ​​प्रदर्शन का सवाल किया है, वहां काफी सुधार हुआ है। यदि आप मुझसे पूछते हैं, तो मेरी पक्षपातपूर्ण राय रूबी का चयन करती है क्योंकि मुझे यह पसंद है। लेकिन अगर आप निष्पक्ष राय चाहते थे, तो हमें अधिक पहलुओं पर चर्चा करनी होगी और जांच करनी होगी कि आप भाषा/ढांचे इत्यादि के साथ वास्तव में क्या करना चाहते हैं।

1

मैं आपको दोनों भाषाओं को आजमाने की सलाह देता हूं और फिर तय करता हूं कि आप क्या सोचते हैं।

2

कुछ उद्देश्यों के लिए, रूबी ऑपरेशन में बहुत धीमी है। दूसरों के लिए, यह काफी तेज़ है।

कुछ उद्देश्यों के लिए, जावा को विकसित करने में बहुत लंबा समय लगता है।

कुछ अनुप्रयोगों के लिए, स्थिर टाइपिंग अनावश्यक है, दूसरों के लिए यह अत्यधिक वांछनीय है।

परियोजना का आकार काफी हद तक अप्रासंगिक है।

कुछ मायनों में, जावा रूबी से बेहतर है, अन्य तरीकों से रूबी जावा से बेहतर है। कोई भी जो किसी भी परिस्थिति में "बेहतर" रखता है, वह शायद वैध राय रखने के बारे में पर्याप्त नहीं जानता है।

और जेआरबी के बारे में क्या?

मुझे लगता है कि अब तक यह काफी अच्छी तरह से प्रलेखित है कि रूबी "लोकप्रिय" है। जावा, सी ++ या सी के रूप में "लोकप्रिय" के रूप में नहीं, उदाहरण के लिए, लेकिन फिर भी लोकप्रिय।

0
देखें कैसे रूबी 'बेहतर' जावा से है?

यह नहीं है, और जावा रूबी की तुलना में 'बेहतर' नहीं है। दोनों के पास उनके पेशेवर और विपक्ष हैं, और यह आपके प्रोजेक्ट पर निर्भर करता है; के लिए सबसे अच्छा टूल क्या है नौकरी।

+0

कृपया मुझे रुबी के पेशेवर बताएं .. – Manoj

9

रुबी जावा से धीमा है लेकिन लिखने के लिए तेज़ है, या पढ़ा जाता है। आपके लिए क्या अधिक महत्वपूर्ण है? मुझे दुनिया में ऐसी कोई भी कंपनी नहीं पता है जो अपने हार्डवेयर को दोगुनी करने की लागत पर आधा समय में कटौती करने का मौका देता है।

रूबी स्थिर रूप से टाइप नहीं किया गया है, लेकिन न तो पाइथन, पर्ल, लिस्प, शैल स्क्रिप्ट आदि हैं। क्या यह वास्तव में आपके लिए एक समस्या है? मुझे यकीन है कि आप गतिशील भाषाओं में बहुत से लोगों को पा सकते हैं जो शिकायत करेंगे कि जावा, सी #, सी ++, आदि, स्थिर रूप से टाइप किए गए हैं। गतिशील भाषाओं पर निर्मित सिस्टम के उदाहरणों की हमारी कमी नहीं है।

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

यदि रूबी के खिलाफ ये सबसे अच्छे तर्क हैं, तो रुबी मुझसे बेहतर सोच रही है।

0

आपको जो करना है उसके आधार पर।

हम उम्मीद करते हैं कि हमारे कोड दशकों तक चलें। शुद्ध जावा के साथ रहना मतलब है कि हम निश्चित हैं कि तकनीक "फैशन में" रहेगी और भविष्य के सहयोगी कोड को बनाए रख सकते हैं। दिन की भाषा के लिए जा रहे हैं, अंत में इसका मतलब यह होगा कि आपके पास ऐसी भाषाओं में लिखे गए कार्यक्रम होंगे जो फैशन से बाहर हो गए हैं और इसलिए इसे बनाए रखना अधिक कठिन है।

"शुद्ध जावा" मूल रूप से इसका मतलब है कि हम मानक जावा रनटाइम के साथ रह रहे हैं, और सूर्य विनिर्देशों (जैसे जावासेवर चेहरे) के कार्यान्वयन। यह लगता है कि यह उबाऊ नहीं है :)

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