कोटलिन 2.1 जारी: प्रोग्रामिंग भाषा में क्या बदला
JetBrains ने आधिकारिक तौर पर Kotlin 2.1 के स्थिर संस्करण की घोषणा की है। मई 2024 में जारी संस्करण 2.0 के बाद यह पहला प्रमुख रिलीज़ है। नया संस्करण कई सुधार लाता है जो मूल सिंटैक्स और मल्टीप्लेटफ़ॉर्म डेवलपमेंट के लिए इन्फ्रास्ट्रक्चर दोनों को प्रभावित करते हैं। आइए सबसे महत्वपूर्ण नई सुविधाओं पर नज़र डालें।
भाषा में मुख्य बदलाव
डेवलपर्स ने स्थिरता बढ़ाने और भाषा की क्षमताओं का विस्तार करने पर ध्यान केंद्रित किया। मुख्य नई सुविधाएँ:
- non-local break और continue का स्थिर मोड। इनलाइन लैम्ब्डा के लिए पहले प्रयोगात्मक फीचर अब अंतिम हो गया है। अब अतिरिक्त रैपर के बिना लैम्ब्डा एक्सप्रेशन (जैसे
forEachमें) के अंदर से बाहरी लूप को बाधित किया जा सकता है। यह स्वच्छ कोड लिखना आसान बनाता है। - Subtypes of discriminated unions (प्रयोगात्मक)। sealed-क्लास और इंटरफ़ेस के लिए सबटाइप्स का समर्थन शुरू किया गया है। अब sealed-इंटरफ़ेस घोषित किए जा सकते हैं और when-एक्सप्रेशन की सख्त जाँच बनाए रखते हुए क्लास में इन्हें इनहेरिट किया जा सकता है।
- Java 21 के लिए बेहतर समर्थन। Kotlin कंपाइलर अब Java के नए कंस्ट्रक्ट, जैसे
record patternsऔर पैटर्न के साथswitch, को सही ढंग से संभालता है। यह उन प्रोजेक्ट्स के लिए विशेष रूप से महत्वपूर्ण है जो Java के नए संस्करणों में माइग्रेट कर रहे हैं।
Kotlin Multiplatform में अपडेट
Kotlin 2.1 मल्टीप्लेटफ़ॉर्म इकोसिस्टम के विकास को जारी रखता है:
- स्थिर Kotlin/Wasm। WebAssembly का समर्थन अब अंतिम हो गया है। अब कोड को Wasm में कंपाइल किया जा सकता है, ब्राउज़र में या Wasmtime के माध्यम से सर्वर पर चलाया जा सकता है।
- Kotlin/Native के लिए कंपाइलेशन में तेजी। LLVM के साथ काम को अनुकूलित किया गया है। JetBrains के अनुमानों के अनुसार, नेटिव प्रोजेक्ट्स के लिए बिल्ड समय में 15–20% की कमी आई है।
- Android के लिए नया आर्टिफैक्ट। Android Gradle Plugin 8.7 के लिए समर्थन जोड़ा गया है और Jetpack Compose लाइब्रेरीज़ के साथ संगतता में सुधार किया गया है।
स्टैंडर्ड लाइब्रेरी में बदलाव
stdlib में कई उपयोगी फंक्शन जोड़े गए हैं:
buildMapऔरbuildSetफंक्शन। अबbuildListके समान बिल्डर का उपयोग करके इम्यूटेबल कलेक्शन बनाए जा सकते हैं। यह कोड को अधिक सुरक्षित और अभिव्यंजक बनाता है।- तिथियों के साथ काम करने के लिए नए मेथड।
LocalDate.daysUntilऔरLocalDate.monthsUntilजोड़े गए हैं। ये तृतीय-पक्ष लाइब्रेरीज़ के बिना तिथियों के बीच अंतर की गणना को सरल बनाते हैं। - nullable-टाइप्स के साथ बेहतर काम।
?.letफंक्शन अब अस्थायी वेरिएबल बनाए बिना नेस्टेड कॉल को सही ढंग से संभालता है।
डेवलपर्स के लिए प्रदर्शन और सुधार
JetBrains ने डेवलपर टूल्स पर भी ध्यान दिया है:
- IntelliJ IDEA में स्मार्ट ऑटो-कम्प्लीशन। Kotlin प्लगइन को संस्करण 2.1 में अपडेट किया गया है। अब IDE संदर्भ के आधार पर अधिक प्रासंगिक ऑटो-कम्प्लीशन विकल्प सुझाता है।
- K2-कंपाइलर के काम का अनुकूलन। कोड विश्लेषण और त्रुटि आउटपुट को तेज़ किया गया है। यह विशेष रूप से हज़ारों फ़ाइलों वाले बड़े प्रोजेक्ट्स पर ध्यान देने योग्य है।
- नया प्रदर्शन इंस्पेक्टर। अंतर्निहित विश्लेषक सुझाव देता है कि