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

पर्ल बनाम जावा: तुलना

जावा (Java)

  • जावा एक ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषा होने के साथ-साथ एक कंप्यूटिंग प्लेटफॉर्म भी है।
  • यह सुरक्षित, तेज और विश्वसनीय है।
  • जावा में कोड पहले बाइटकोड में परिवर्तित होता है और फिर JVM (जावा वर्चुअल मशीन) का उपयोग करके निष्पादित होता है।
  • बाइटकोड में परिवर्तित जावा प्रोग्राम '.class' एक्सटेंशन की मदद से संग्रहीत होता है।
  • जावा एसोसिएटिव ऐरे को संग्रहीत करने का कोई विशिष्ट तरीका नहीं देता, इसके बजाय विभिन्न हैश फंक्शन्स के कार्यान्वयन हैं।
  • चलाने के लिए जावा प्रोग्राम '.java' एक्सटेंशन के साथ संग्रहीत होते हैं।
  • जावा एक स्टैटिकली टाइप्ड भाषा है, यानी टाइप चेकिंग कंपाइल-टाइम पर होती है (रन-टाइम पर नहीं)।
  • जावा में सिंगल-लाइन कमेंट्स '//' का उपयोग करके निर्दिष्ट किए जाते हैं।
  • जावा में मल्टी-लाइन कमेंट्स '/*' से शुरू होते हैं और '*/' से समाप्त होते हैं।
  • जावा डॉक्यूमेंटेशन '/**' की मदद से किया जाता है और '*/' से समाप्त होता है।
  • हर स्टेटमेंट ';' से समाप्त होता है।

पर्ल (Perl)

  • हर स्टेटमेंट ';' से समाप्त होता है।
  • इसे एक सामान्य-उद्देश्य हाई-लेवल भाषा माना जाता है।
  • इसे उन शेल स्क्रिप्ट्स को बदलने के लिए बनाया गया था जो बहुत जटिल थीं।
  • पर्ल 5 से पहले और पर्ल 5 तक के संस्करणों को इंटरप्रेटेड भाषा माना जाता है।
  • पर्ल 6 संस्करण पार्रोट बाइटकोड में कंपाइल होता है और '.pbc' एक्सटेंशन के साथ संग्रहीत होता है।
  • पर्ल में एसोसिएटिव ऐरे विशेष रूप से परिभाषित होते हैं।
  • पर्ल कोड '.pl' एक्सटेंशन के साथ संग्रहीत होता है।
  • यह एक डायनामिकली टाइप्ड भाषा है, यानी वेरिएबल्स और फंक्शन्स का प्रकार रनटाइम पर चेक किया जाता है।
  • पर्ल कोड में कमेंट्स '#' का उपयोग करके लिखे जाते हैं।
  • पर्ल कोड में डॉक्यूमेंटेशन '=' और '=cut' का उपयोग करके निर्दिष्ट किया जाता है।

विस्तृत तुलना तालिका:

विशेषताजावापर्ल
प्रकार प्रणालीस्टैटिक, स्ट्रांगडायनामिक, कमजोर
निष्पादनकंपाइल → बाइटकोड → JVMइंटरप्रेटेड (पर्ल 5), कंपाइल (पर्ल 6)
मेमोरी प्रबंधनगार्बेज कलेक्शनरेफरेंस काउंटिंग + GC
OOP समर्थनमूल (क्लास-आधारित)हां (मूज़ आदि के साथ)
नियमित अभिव्यक्तिPattern/Matcher APIबिल्ट-इन, शक्तिशाली
CPAN/मावेनमावेन सेंट्रलCPAN (विशाल लाइब्रेरी)
थ्रेडिंगमूल थ्रेड्सइंटरप्रेटर थ्रेड्स (ithreads)
उपयोग क्षेत्रएंटरप्राइज, मोबाइल, वेबसिस्टम एडमिन, टेक्स्ट प्रोसेसिंग, CGI

सिंटैक्स तुलना:

// जावा
public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

# पर्ल
#!/usr/bin/perl
print "Hello World\n";
  1. क्या Java में Swing थ्रेड-सेफ है? क्या Java में Swing थ्रेड-सेफ है?

    नहीं, Java Swing कंपोनेंट्स Java में थ्रेड-सेफ नहीं हैं। क्यों Swing कंपोनेंट्स थ्रेड-सेफ नहीं हैं Java Swing के थ्रेड-सेफ न होने का एक मुख्य कारण इसके कंपोनेंट्स को एक्सटेंड करने के कार्य को सरल बनाना है। Java Swing के थ्रेड-सेफ न होने का एक अन्य कारण लॉक्स प्राप्त करने और जारी करने और स्टेट को र

  1. - Java में Final Class

    क्लास को final घोषित करने का मुख्य उद्देश्य क्लास को सबक्लास होने से रोकना है। यदि एक क्लास को final के रूप में चिह्नित किया जाता है तो कोई भी क्लास final क्लास से किसी भी सुविधा को इनहेरिट नहीं कर सकती।public final class Test { // body of class }

  1. - Java में Final Variable

    एक final वेरिएबल को केवल एक बार स्पष्ट रूप से इनिशियलाइज़ किया जा सकता है। final घोषित एक रेफरेंस वेरिएबल को कभी भी किसी अलग ऑब्जेक्ट को संदर्भित करने के लिए पुनः असाइन नहीं किया जा सकता।हालांकि, ऑब्जेक्ट के भीतर डेटा को बदला जा सकता है। इसलिए, ऑब्जेक्ट की स्थिति बदली जा सकती है लेकिन रेफरेंस नहीं।व