Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Ruby

जावा और रूबी के बीच 7 प्रमुख अंतर

आप जावा से रूबी में कैसे जाते हैं?

इस गाइड में, आप सीखेंगे कि प्रमुख अंतर क्या हैं कूदने में आपकी सहायता करने के लिए दो भाषाओं के बीच।

जावा/सी# से रूबी में जाने के इच्छुक कई लोगों के लिए यह बहुत अच्छा है।

लेकिन…

यदि आप केवल मतभेदों के बारे में उत्सुक हैं, तो यह भी आपके लिए है।

चलो यह करते हैं!

स्थिर टंकण बनाम गतिशील टंकण

किसी भी प्रोग्रामिंग भाषा के कोड को देखते समय टाइपिंग शैली सबसे बड़ा और सबसे उल्लेखनीय अंतर है।

यहां स्थिति है :

  • जावा स्थिर टाइपिंग का उपयोग करता है
  • रूबी गतिशील टाइपिंग का उपयोग करता है

इसका क्या मतलब है, बिल्कुल?

टाइपिंग से तात्पर्य है कि चर और विधि तर्क कैसे काम करते हैं।

दृढ़ता से (या सांख्यिकीय रूप से) टाइप की गई भाषा को यह घोषित करना होता है कि प्रत्येक चर किस प्रकार (वर्ग) को स्वीकार कर सकता है।

ऐसा दिखता है :

int n = 1;

जहां int प्रकार है, इस मामले में, Integer

यह उपयोगी क्यों है?

क्योंकि यदि आप इस चर के लिए किसी अन्य प्रकार की वस्तु निर्दिष्ट करने का प्रयास करते हैं, तो संकलक एक त्रुटि उत्पन्न करेगा और आपका प्रोग्राम भी नहीं चलेगा।

इसका मतलब है कि आपको हमेशा पता चलेगा कि आप किस तरह की वस्तु के साथ काम कर रहे हैं।

कम लचीले होने के नुकसान के साथ।

इसके विपरीत...

डायनामिक टाइपिंग लचीलेपन के बारे में है, चर किसी विशेष प्रकार से बंधे नहीं हैं, इसलिए प्रकार बदल सकता है।

यहां एक उदाहरण दिया गया है :

n = 1
n = "abc"

नकारात्मक पक्ष यह है कि यदि आपका कोड मैला है और आपको कोड पढ़ते समय उतना नहीं मिलता है तो आप अधिक त्रुटियों में भाग सकते हैं।

यह प्रमुख अंतरों में से एक है!

अगले भाग में और अधिक।

सिंटैक्स:साधारण चीजें और बॉयलरप्लेट

जावा बॉयलरप्लेट का राजा है।

बॉयलरप्लेट वह सब "सेटअप" कोड है जिसे आपको सिर्फ अपने कोड को वाक्य-रचना की दृष्टि से मान्य बनाने के लिए जोड़ना है।

परिणामस्वरूप…

Java सरल चीज़ों को जटिल बना देता है!

Hello World in Java :

class Hello {
  static public void main() {
    System.out.println("Hello World");
  }
}

फिर आपको इसे एक क्लास फ़ाइल में संकलित करना होगा और इसे चलाना होगा।

दो कदम!

(आईडीई इसमें मदद करते हैं।)

एक और अंतर यह है कि जावा में अभिव्यक्ति अर्धविराम के साथ समाप्त होती है, जो रूबी में आवश्यक नहीं है। आप ज्यादातर समय रूबी में कोष्ठक छोड़ सकते हैं।

रूबी में हैलो वर्ल्ड :

puts "Hello World"

हां।

बस।

ऐसा लगता है कि रूबी परिणाम क्लीनर कोड में है। सहमत हैं?

उसके ऊपर…

आप इस कोड को टर्मिनल से सिंगल कमांड से चला सकते हैं!

किसी संकलन चरण की आवश्यकता नहीं है।

कोड के साथ खेलना:बिल्ट-इन REPL

रूबी आईआरबी के साथ आती है, जो थोड़ा सा कोड का परीक्षण वास्तव में जल्दी कर देता है।

आपको किसी फ़ाइल को सहेजने की भी आवश्यकता नहीं है।

या कोई संपादक खोलें!

जावा में यह अंतर्निहित नहीं है, कम से कम यह जावा 9 तक नहीं है।

फ़ाइल नाम और फ़ाइल संगठन

जावा एक विशिष्ट फ़ाइल नामकरण संरचना और संगठन को बाध्य करता है।

उदाहरण के लिए :

यदि आपके पास Hello . नामक एक (सार्वजनिक) वर्ग है , फ़ाइल का नाम Hello.java . होना चाहिए ।

रूबी में ऐसा नहीं है।

इसके अलावा, हमारे पास रूबी में एक निजी वर्ग की अवधारणा नहीं है।

अपवाद प्रबंधन

जावा के दो प्रकार के अपवाद हैं:

  • चेक अपवाद
  • अनियंत्रित अपवाद

अंतर?

आपको चेक किए गए अपवादों को संभालना होगा!

या आपका प्रोग्राम भी नहीं चलेगा।

अब :

रूबी में केवल एक प्रकार का अपवाद है।

आप चाहें तो इसे संभाल सकते हैं, दुभाषिया इसके बारे में शिकायत नहीं करेगा, लेकिन यह आपके प्रोग्राम को क्रैश कर सकता है।

संकलक और भाषा लाइसेंसिंग

अंत में, लाइसेंस के बारे में बात करते हैं।

यह आमतौर पर प्रोग्रामिंग भाषाओं में कोई समस्या नहीं है।

क्यों?

क्योंकि वे ओपन सोर्स हैं, जिसमें एक व्यक्ति हेड मेंटेनर और डिज़ाइनर के रूप में होता है।

जावा यहाँ अलग है।

यह एक बड़े निगम (ओरेकल) के लिए है और इसका लाइसेंसिंग पर प्रभाव पड़ता है।

वास्तव में :

जावा रनटाइम के दो संस्करण हैं, "ओरेकल जेडीके", जो (अगर मैं सही ढंग से समझता हूं) संस्करण 9 से शुरू होकर एक वाणिज्यिक उत्पाद है।

फिर आपके पास "ओपन JDK" है, जो Oracle से भी संबंधित है।

लेकिन इसके पास एक ओपन-सोर्स लाइसेंस है।

लाइब्रेरी और कोड वितरण

रूबी के बारे में एक और बड़ा अंतर, रूबी के बारे में मेरे पसंदीदा (मैट्ज़ का पसंदीदा भी) में से एक है RubyGems।

यह पुस्तकालयों (जैसे HTTP क्लाइंट) को वितरित करना बहुत आसान बनाता है।

क्योंकि :

  • एक केंद्रीय भंडार है
  • यह भाषा में एकीकृत है
  • कई ओपन-सोर्स रत्न उपलब्ध हैं और आसानी से मिल जाते हैं

जहां तक ​​मुझे पता है, जावा के पास इसके करीब कुछ भी नहीं है, इसलिए यह एक प्रमुख जीत है रूबी के लिए।

सारांश

आपने जावा और रूबी के बीच प्रमुख अंतर के बारे में जान लिया है। स्थिर टाइपिंग, बॉयलरप्लेट, और फ़ाइल नामकरण जैसी चीज़ें शामिल हैं।

अब आप रूबी को बेहतर ढंग से समझने के लिए तैयार हैं ताकि आप अपने लिए सही निर्णय ले सकें।

पढ़ने के लिए धन्यवाद!


  1. जावा में org.simple.json और org.json पुस्तकालयों के बीच अंतर?

    द org.json.simple पुस्तकालय हमें जावा में JSON डेटा को पढ़ने और लिखने की अनुमति देता है। दूसरे शब्दों में, हम एन्कोड . कर सकते हैं और डीकोड JSON ऑब्जेक्ट। org.json.simple पैकेज में महत्वपूर्ण वर्ग शामिल हैं जैसे JSONValue, JSONObject, JSONArray, JsonString और JsonNumber . हमें json-simple.jar .

  1. जावा में संग्रह और संग्रह के बीच अंतर?

    संग्रह एक इंटरफ़ेस है जबकि संग्रह एक उपयोगिता . है जावा में कक्षा। सेट, सूची, और कतार संग्रह . के कुछ उप-इंटरफ़ेस हैं इंटरफ़ेस, एक मानचित्र इंटरफ़ेस संग्रह . का भी हिस्सा है फ्रेमवर्क, लेकिन यह इनहेरिट नहीं करता संग्रह इंटरफेस। संग्रह . के महत्वपूर्ण तरीके इंटरफ़ेस हैं जोड़ें (), हटाएं (),

  1. जावा में प्रतीक्षा () और नींद () विधि के बीच अंतर?

    नींद () विधि एक स्थिर . है थ्रेड . की विधि वर्ग और यह वर्तमान चल रहे धागे को नॉन-रननेबल स्थिति में भेज सकता है जबकि प्रतीक्षा करें () विधि एक उदाहरण विधि है, हम इसे थ्रेड ऑब्जेक्ट का उपयोग करके कॉल कर रहे हैं और यह केवल उस ऑब्जेक्ट के लिए प्रभावित होता है। नींद () समय समाप्त होने के बाद मेथड वेक