कोटलिन और ग्रोवी बहुत ही समान भाषाओं के साथ बहुत ही समान भाषाओं को देखते हैं यदि हम ग्रोवी को स्थिर रूप से संकलित करते हैं। नल सुरक्षा के अलावा कौन सी विशेषताएं, कोटलिन में ग्रोवी में गायब हैं?कौन सा कोटलिन विशेषताएं स्थिर रूप से संकलित ग्रोवी में उपलब्ध नहीं हैं?
उत्तर
कोटलिन एक जेवीएम भाषा है, जो आईएमओ जावा पर सुविधाओं और एकरूपता में सुधार करने की कोशिश कर रहा है, जबकि अनिवार्य और स्थैतिक शेष है। गतिशील जाने का फैसला किए जाने के अलावा ग्रोवी की एक समान अवधारणा है। नतीजतन, कई भाषा विशेषताएं समान होंगी। चूंकि ग्रूवी एक गतिशील भाषा के रूप में डिजाइन किया गया था, और @CompileStatic, जबकि एक महान एनोटेशन (मैं इसे एक बहुत का उपयोग करें), जोड़ा गया है:
यहाँ कुछ मतभेद मैं की
- गतिशील बनाम स्टेटिक बारे में पता कर रहा हूँ कर रहे हैं बाद में। इसकी सुविधा थोड़ा बोल्ड लगती है, और यह लोगों को स्थिर तरीके से कोड करने के लिए लागू नहीं करती है। यह हर जगह उपयोग करने योग्य नहीं है (उदाहरण के लिए मेरे स्पॉक परीक्षण उनके साथ संकलन करने में असफल लगते हैं)। कभी-कभी ग्रोवी पर इसके साथ भी अब भी कुछ अजीब गतिशील व्यवहार लगता है। कोटलिन 100% स्थिर है, और गतिशील एक विकल्प नहीं है।
हालांकि कई अन्य विशेषताएं हैं। मैं आपको संदर्भ को देखने की अनुशंसा करता हूं, और आप कुछ और उदाहरण दे सकते हैं उदा। https://kotlinlang.org/docs/reference/
- डाटा कक्षाएं - एक प्रति समारोह (स्काला में मामला वर्गों की तरह एक बिट) के साथ संक्षिप्त
- अशक्त सुरक्षा जाँच आपने उल्लेख किया है (जो एक बड़ा समर्थक है)
- आइटम संहार करने की क्षमता। वैल (नाम, आयु) = व्यक्ति
- हाई-ऑर्डर फ़ंक्शंस, जैसे "मजेदार डस्टफफ (बॉडी: इंट -> टी)): टी"। जो ग्रोवी क्लोजर आईएमओ से काफी बेहतर हैं।
- प्रकार की जांच और स्मार्ट डाले (बहुत स्काला के समान) अच्छा कर रहे हैं: एक ही तरह से स्काला भी वर्गों से स्थिर तरीकों को दूर करने की कोशिश करता है, https://kotlinlang.org/docs/reference/typecasts.html
- साथी वस्तुओं, Kotlin एक ही बात की कोशिश करता है।
- उत्तराधिकारी को प्रतिबंधित करने के लिए मुहरबंद वर्ग (फिर स्कैला में कुछ समान है)
- "कुछ भी नहीं" उप प्रकार, जहां सबकुछ इसका एक सुपरटेप है। (स्कैला में एक और महत्वपूर्ण अवधारणा)।
- जब बुनियादी पैटर्न मिलान के लिए भाव: https://kotlinlang.org/docs/reference/control-flow.html
आप देख सकते हैं यह ग्रूवी के अलावा अन्य अन्य भाषाओं से उधार है। उन्होंने अच्छी भाषा बनाने के प्रयास में कई महान विशेषताओं को चुनने का प्रयास किया है। स्वाभाविक रूप से ग्रोवी की अपनी भलाई है। मैंने केवल ध्यान केंद्रित किया है कि कोटलिन के पास क्या है और वीजा-विपरीत
एक और प्लस, आईडीई निर्माता द्वारा किया जा रहा है, संकलक बहुत तेज़ है और इसमें बहुत अच्छा आईडीई समर्थन है। यह नहीं कह रहा है कि ग्रोवी के पास अच्छा समर्थन नहीं है, लेकिन मेरी वर्तमान परियोजना को संकलित करने में काफी समय लगता है, और रीफैक्टर विधि हमेशा मानती है कि आप एक गतिशील फैशन में कोडिंग कर रहे हैं।
मैं आपको सलाह देता हूं कि आपको यह देखने के लिए कोनों को आज़माएं कि आप कौन सी भाषा पसंद करते हैं और यह कैसे ग्रोवी (https://github.com/Kotlin/kotlin-koans) की तुलना करता है।
ग्रोवी में मुझे खोने वाली एक अन्य कोटलिन सुविधा को पैरामीटर नाम दिया गया है। कुछ हद तक इसे अनुकरण करने के लिए नक्शा फैलाना संभव है, लेकिन नामित पैराम के साथ मानक पैरा को गठबंधन करने का कोई तरीका प्रतीत नहीं होता है: 'someMethod ("foo", 10, रंग: लाल, verbose: true) ' –
"कोटलिन 100% स्टेटिक है, और गतिशील एक विकल्प नहीं है" कोटलिन के पास प्रकार का अनुमान है (गोलांग भी है) ताकि आप गतिशील तरीके से कोटलिन में प्रोग्राम कर सकें। कोटलिन को स्क्रिप्टिंग भाषा के रूप में उपयोग नहीं किया जा सकता है क्योंकि यह हमेशा संकलित होता है और ग्रोवी की तुलना में यह मुख्य अंतर है। –
इस मामले में, "स्थैतिक" संकलन समय पर संकलन और प्रकार निर्धारित/लॉक होने का जिक्र कर रहा है। जैसे var s = "हैलो"; एस = 1; कोटलिन में संकलन करने में असफल रहेगा। डायनामिक का अर्थ है कि जानकारी जांच रनटाइम पर होती है। उदा। ग्रोवी में आप यह कर सकते हैं: def s = "hello"; s = 1; def t = s + 1 और यह ठीक/संकलित होगा। मुझे लगता है कि कोटलिन स्थिर है कि कथन अभी भी सही है, भले ही यह और ग्रोवी दोनों प्रकार का अनुमान है। जावा में टाइप अनुमान के तत्व भी हैं, लेकिन यह निश्चित रूप से एक स्थाई रूप से टाइप की गई भाषा है: https://docs.oracle.com/javase/tutorial/java/generics/genTypeInference.html –
कोटलिन सांख्यिकीय रूप से टाइप की गई भाषा के रूप में डिज़ाइन किया गया है, जिसमें महान प्रकार की प्रणाली और स्थिर रूप से टाइप की गई भाषा के अन्य लाभ हैं।ग्रोवी - पहली जगह एक गतिशील रूप से टाइप की गई भाषा है, और केवल तब - स्थिर रूप से।
जब आप ग्रोवी में स्थिर संकलन को सक्षम करते हैं तो आपको सिंटैक्स चीनी के साथ जावा मिलता है। दूसरी तरफ - कोटलिन, उनके टाइप-सिस्टम में, दो प्रकार के संदर्भ हैं: nullable and nonnullable, ताकि आप कम एनपीई के साथ कोड लिख सकें। यदि आप केवल एक सुविधा के बारे में पूछ रहे हैं - यही वह है।
कोटलिन की दूसरी महान विशेषता - यह किसी भी अंतर्निहित रूपांतरण नहीं करता है, दूसरी तरफ - ग्रोवी पूरी तरह से डबल से बड़े और दूसरे में परिवर्तित हो जाती है।
लेकिन kotlin है एक बहुत अन्य सुविधाओं, smart casts, ADT (doc), type-safe builders, शून्य लागत कपोल-कल्पना और अंत में महान आईडीई समर्थन की तरह।
इसके अलावा मुझे ग्रोवी के प्रकार-अनुमान की गुणवत्ता के बारे में निश्चित नहीं है (उदाहरण के लिए हमें additional annotations, मेह की आवश्यकता है), लेकिन कोटलिन प्रकार-अनुमान कार्य में प्रत्येक आकर्षण की भाषा में किसी भी टिप्पणी के बिना एक आकर्षण की तरह है।
तो कोरोलीन में प्रथम रूप से टाइप किए गए संकलन - ग्रोवी में प्रथम श्रेणी के नागरिक - नहीं।
कोटलिन में टाइप अनुमान (गोलांग भी है) ताकि आप गतिशील तरीके से Kotlin में कार्यक्रम कर सकते हैं। कोटलिन को स्क्रिप्टिंग, व्याख्या की गई भाषा के रूप में उपयोग नहीं किया जा सकता है क्योंकि यह हमेशा संकलित होता है और यह ग्रोवी की तुलना में मुख्य अंतर है। –
ग्रोवी एक गतिशील भाषा है इसलिए भाषा कोर में टाइप अनुमान अंतर्निहित है। आपको इसके बारे में पता होना चाहिए। यह गतिशील टाइप की गई भाषा परिभाषा में अंतर्निहित है। –
@MarekMarczak टाइप अनुमान के द्वारा आपका क्या मतलब है? ग्रोवी में आपके पास गतिशील प्रकार होते हैं, और केवल रनटाइम में टाइप करते हैं (कई मामलों में)। इसके अलावा ग्रोवी में आपके पास "विधि अनुपलब्ध" जैसी चीजें हैं जो धीरे-धीरे बढ़ती हैं। – IRus
- 1. ग्रोवी और कोटलिन संकलित करें?
- 2. कौन सा कोरआउट (गोराउटिन और कोटलिन कोरआउट) तेजी से हैं?
- 3. प्रतिबिंब का उपयोग कर कौन सा स्कैला विशेषताएं आंतरिक रूप से कार्यान्वित की जाती हैं?
- 4. Erlang में कौन सा कंसोल आउटपुट कमांड उपलब्ध हैं?
- 5. एंड्रॉइड पर कौन से फोंट उपलब्ध हैं?
- 6. एमएस विजुअल स्टूडियो कंपाइलर में कौन सी सी 99 विशेषताएं उपलब्ध हैं?
- 7. जेएसएक्स में कौन सी ईएस 6 विशेषताएं समर्थित हैं?
- 8. वीएस "15" पूर्वावलोकन में सी # 7.0 की कौन सी विशेषताएं उपलब्ध हैं?
- 9. शेफ नोड विशेषताएँ। कौन सा avaialble हैं?
- 10. इंटेलजे आईडीईए कोटलिन प्लगइन - "कॉन्फ़िगरेटर उपलब्ध नहीं हैं"
- 11. आईओएस 9 में कौन से फोंट उपलब्ध हैं?
- 12. मॉड्यूल.कॉन्फिग में कौन से प्रदाता/सेवाएं उपलब्ध हैं?
- 13. बंदूकें गेवन कार्यकर्ता द्वारा बंदरगाह कौन सी विशेषताएं हैं?
- 14. ईएस 6 में कौन सी टाइपस्क्रिप्ट विशेषताएं लागू नहीं की गई हैं?
- 15. कौन से पैकेज 1) जावा और 2) ग्रोवी स्वचालित रूप से आयात करते हैं?
- 16. सबसे अच्छा भू कोडिंग एपीआई कौन सा मुफ्त में उपलब्ध हैं?
- 17. कौन सा आईफोन बारकोड रीडर
- 18. कौन सा बेहतर है? निजी स्थिर बनाम निजी
- 19. Heroku पर कौन से एन्ट्रॉपी स्रोत उपलब्ध हैं?
- 20. अपाचे साइट-उपलब्ध फ़ाइल के कौन से हिस्से आवश्यक हैं?
- 21. डिफ़ॉल्ट रूप से obzdump disassemble कौन सा अनुभाग करता है
- 22. कौन सा नेट टाइमर()
- 23. क्या स्थिर तरीके उत्सुकता से संकलित (JIT'ed) हैं?
- 24. पीओएक्स के लिए एसडीएन नियंत्रक कौन से विकल्प उपलब्ध हैं?
- 25. गेम प्रोग्रामिंग डीएसएल में आप कौन सी विशेषताएं देखना चाहेंगे?
- 26. फेसबुक ग्राफ एपीआई फ़िल्टर - कौन से विकल्प उपलब्ध हैं?
- 27. कौन सा क्लैंग चेतावनी जीसीसी से वेज़रो-ए-नल-पॉइंटर-स्थिर के बराबर है?
- 28. कोटलिन स्थिर विधियों और चर
- 29. रूबी रिफैक्टरिंग के लिए कौन से टूल्स उपलब्ध हैं?
- 30. कौन सा पहला स्थिर निर्माता या निजी निर्माता
मैंने इसे कम राय-आधारित बनाने के लिए प्रश्न को फिर से लिखने का प्रयास किया। मैं माफी माँगता हूं अगर यह अभी भी स्टैक ओवरफ़्लो के लिए स्वीकार्य नहीं है। –