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

कोटलिन नल सेफ्टी बनाम जावा: ए कॉमेडी ऑफ एरर्स (लेकिन अधिकतर जावा में)

2024-11-17 को प्रकाशित
ब्राउज़ करें:133

Kotlin Null Safety vs. Java: A Comedy of Errors (But Mostly in Java)

आह, कोटलिन नल सेफ्टी बनाम जावा! गॉडज़िला बनाम मोथरा जैसा एक क्लासिक प्रदर्शन, लेकिन कम शहर-विनाशकारी राक्षसों और अधिक अस्तित्व संबंधी भय के साथ... ठीक है, शून्य। ?

जावा, इसके हृदय को आशीर्वाद दें, डायल-अप युग के बाद से ही अस्तित्व में है। उस समय, किसी को भी आपके ऐप के क्रैश होने की चिंता नहीं थी, क्योंकि ईमानदारी से कहें तो, इंटरनेट द्वारा आपके ऐप को क्रैश करना कहीं अधिक सामान्य घटना थी। लेकिन समय बदल गया है, और

जावा का "कुछ भी कभी भी शून्य हो सकता है" दृष्टिकोण 5जी दुनिया में डायल-अप मॉडेम के समान ही स्वागत योग्य है। अपनी अद्भुत नल सुरक्षा सुविधा के साथ दिन (और अपनी विवेक) को बचाने के लिए यहां सुपरहीरो प्रोग्रामर के सहायक कोटलिन को दर्ज करें!

अरबों डॉलर की गलती (क्लिकबेट नहीं!)

NullPointerException जावा डेवलपर के अस्तित्व के लिए अभिशाप है। वे उन छोटी लेगो ईंटों की तरह हैं जिन पर आप आधी रात को कदम रखते हैं - छोटी लेकिन अत्यधिक दर्द पैदा करने में सक्षम।

वास्तव में, अशक्त संदर्भ का आविष्कार करने वाले टोनी होरे ने इसे अपनी "अरबों डॉलर की गलती" कहा। (हम अनुमान लगा रहे हैं कि उसने बहुत सारे लेगो पर कदम रखा है।)

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

कोटलिन यह कैसे करता है (स्पॉइलर: यह बहुत अच्छा है)

कोटलिन में, आपको कंपाइलर को स्पष्ट रूप से बताना होगा कि क्या ? जोड़कर एक वेरिएबल को शून्य किया जा सकता है। प्रकार की घोषणा के लिए। उदाहरण के लिए:

// Kotlin
var name: String? = null // This variable can be null
var age: Int = 42        // This variable cannot be null

यह सरल है? यह एक चेतावनी संकेत की तरह है: "सावधान! हो सकता है कि अशक्त प्राणी यहाँ छिपे हों!" और यदि आप किसी अशक्त चर के साथ कुछ जोखिम भरा काम करने का प्रयास करते हैं, तो कोटलिन कंपाइलर एक त्रुटि संदेश के साथ आपको आपके ट्रैक में रोक देगा। यह आपके कोड के लिए एक निजी अंगरक्षक रखने जैसा है, सिवाय इसके कि यह अंगरक्षक वास्तव में व्याकरण और वाक्यविन्यास में अच्छा है।

जावा का काउंटरमूव (यह कोशिश करता है, इसके दिल को आशीर्वाद दें)

जावा ने अपने बाद के संस्करणों में वैकल्पिक जैसी सुविधाओं को पकड़ने की कोशिश की। यह एक साहसिक प्रयास है, जैसे आपके दादाजी टिकटॉक सीखने की कोशिश कर रहे थे। उसका मतलब अच्छा है, लेकिन यह बिलकुल वैसा नहीं है। वैकल्पिक बोझिल हो सकता है और कोटलिन की नल सुरक्षा के समान संकलन-समय सुरक्षा प्रदान नहीं करता है।

// Java
import java.util.Optional;

public class OptionalExample {

    public static void main(String[] args) {
        // Creating an Optional object

        Optional name = Optional.of("John Doe"); 

        // Checking if a value is present
        if (name.isPresent()) {
            System.out.println("Name is present: "   name.get()); 
        } else {
            System.out.println("Name is absent");
        }

        // Using orElse to provide a default value
        String defaultName = name.orElse("Unknown"); 
        System.out.println("Name: "   defaultName);

        // Using orElseGet to provide a default value with a supplier
        String anotherDefaultName = name.orElseGet(() -> "Another Unknown");
        System.out.println("Name: "   anotherDefaultName);
    }
}

निष्कर्ष में (वह हिस्सा जिसे हर कोई छोड़ देता है)

कोटलिन की नल सेफ्टी गेम-चेंजर है। यह आपके कोड को अधिक सुरक्षित, अधिक संक्षिप्त और उन खतरनाक NullPointerException के प्रति कम संवेदनशील बनाता है। इसलिए, यदि आप वीडियो गेम में अंतिम बॉस की तरह शून्य से जूझते-जूझते थक गए हैं, तो कोटलिन पर स्विच करने का समय हो सकता है। आपकी विवेकशीलता आपको धन्यवाद देगी. ?

पी.एस. यदि आप अभी भी दुविधा में हैं, तो बस इसकी कल्पना करें: एक ऐसी दुनिया जहां आपको कभी भी किसी अन्य NullPointerException को डीबग नहीं करना पड़ेगा। स्वर्ग जैसा लगता है, है ना? ?

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/hamada147/kotlin-null-safety-vs-java-a-comedy-of-errors-but-mostly-in-java-api?1 यदि कोई उल्लंघन है , कृपया स्टडी_गोलंग @163.कॉमडिलीट से संपर्क करें
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3