ScholarGate
सहायक

स्थैतिक और गतिशील टाइपिंग

स्थैतिक टाइपिंग प्रोग्राम चलने से पहले प्रकारों की जाँच करती है, जबकि गतिशील टाइपिंग उन्हें निष्पादन के दौरान जाँचती है; क्रमिक टाइपिंग एक ही भाषा के भीतर दोनों को संयोजित करने का प्रयास करती है।

PaperMind से विषय खोजेंजल्द हीFind papers & topics
Tools & resources
स्लाइड डाउनलोड करें
Learn & explore
वीडियोजल्द ही

Definition

स्थैतिक टाइपिंग संकलन समय पर प्रकार की बाधाओं को सत्यापित करती है ताकि निष्पादन से पहले अच्छी तरह से टाइप किए गए प्रोग्राम स्वीकार किए जा सकें; गतिशील टाइपिंग रनटाइम तक प्रकार की जाँच को स्थगित करती है, जब अनुपयुक्त प्रकार के मानों पर संचालन लागू किया जाता है तो त्रुटियाँ उत्पन्न करती है।

Scope

यह विषय टाइप जाँच कब और कैसे होती है, इसके स्पेक्ट्रम को शामिल करता है: स्थैतिक जाँच जो संकलन समय पर गलत-टाइप किए गए प्रोग्रामों को अस्वीकार करती है, गतिशील जाँच जो रनटाइम पर टाइप त्रुटियों का पता लगाती है, और क्रमिक या वैकल्पिक टाइपिंग जो दोनों को सह-अस्तित्व में रहने देती है। यह प्रत्येक के गारंटी, लचीलेपन और प्रदर्शन निहितार्थों के साथ-साथ टाइप-जाँच अनुशासन की सुदृढ़ता को संबोधित करता है।

Core questions

  • त्रुटियों के कौन से वर्ग हैं जिन्हें स्थैतिक जाँच रोकती है और गतिशील जाँच पहले से नहीं रोक सकती है?
  • गतिशील टाइपिंग क्या लचीलापन प्रदान करती है, और किस कीमत पर?
  • क्रमिक टाइपिंग टाइप किए गए और अनटाइप किए गए कोड को ध्वनि रूप से कैसे मिला सकती है?
  • स्थैतिक प्रकार के अनुशासन की सुदृढ़ता कैसे स्थापित की जाती है?

Key theories

क्रमिक टाइपिंग
सीक और ताहा ने एक प्रकार प्रणाली को परिभाषित किया जो प्रोग्राम के कुछ हिस्सों को स्थैतिक रूप से टाइप करने और दूसरों को गतिशील रूप से टाइप करने की अनुमति देती है, जिसमें सीमा पर सुरक्षित बातचीत को नियंत्रित करने वाला एक संगति संबंध होता है।
स्थैतिक प्रकार की सुदृढ़ता
राइट और फेलेसेन की प्रगति-और-संरक्षण विधि दर्शाती है कि एक सुदृढ़ स्थैतिक प्रकार प्रणाली यह गारंटी देती है कि अच्छी तरह से टाइप किए गए प्रोग्राम कभी भी अटकी हुई अवस्थाओं तक नहीं पहुँचते हैं, जो स्थैतिक जाँच की सुरक्षा को औपचारिक रूप देती है।

Clinical relevance

स्थैतिक-बनाम-गतिशील विकल्प डेवलपर वर्कफ़्लो, टूलिंग और विश्वसनीयता को आकार देता है। क्रमिक और वैकल्पिक टाइपिंग सिस्टम, जैसे कि गतिशील भाषाओं पर स्तरित किए गए, टीमों को बड़े मौजूदा कोडबेस में वृद्धिशील रूप से स्थैतिक गारंटी जोड़ने की सुविधा देते हैं।

History

प्रारंभिक भाषाएँ स्थैतिक रूप से टाइप की गई (अल्गोल, पास्कल, एमएल) और गतिशील रूप से टाइप की गई (लिस्प, स्मॉलटॉक) वंशों में विभाजित हुईं। जैसे-जैसे गतिशील भाषाएँ उत्पादकता के लिए लोकप्रिय हुईं, शोधकर्ताओं ने दृष्टिकोणों को समेटने की कोशिश की; सीक और ताहा की 2006 की क्रमिक टाइपिंग और वैकल्पिक प्रकारों पर समकालीन कार्य ने गतिशील भाषाओं के शीर्ष पर निर्मित व्यापक रूप से उपयोग किए जाने वाले क्रमिक रूप से टाइप किए गए सिस्टम को जन्म दिया।

Debates

क्रमिक टाइपिंग की लागत और सुदृढ़ता
शोधकर्ता इस बात पर बहस करते हैं कि क्या सुदृढ़ क्रमिक टाइपिंग टाइप किए गए/अनटाइप किए गए सीमाओं पर अत्यधिक रनटाइम जाँच लागत से बच सकती है, और क्या असुदृढ़ 'वैकल्पिक' टाइपिंग एक बेहतर व्यावहारिक व्यापार-बंद है।

Key figures

  • Benjamin Pierce
  • Jeremy Siek
  • Walid Taha
  • Matthias Felleisen

Related topics

Seminal works

  • pierce2002
  • siek2006
  • wright1994

Frequently asked questions

क्या स्थैतिक टाइपिंग हमेशा गतिशील टाइपिंग से बेहतर होती है?
कोई भी सार्वभौमिक रूप से बेहतर नहीं है; स्थैतिक टाइपिंग अधिक त्रुटियों को जल्दी पकड़ती है और टूलिंग में सहायता करती है, जबकि गतिशील टाइपिंग लचीलापन और तेज़ प्रोटोटाइपिंग प्रदान करती है, इसलिए सही विकल्प परियोजना की विश्वसनीयता और चपलता की जरूरतों पर निर्भर करता है।
क्रमिक टाइपिंग क्या है?
क्रमिक टाइपिंग एक ही प्रोग्राम को स्थैतिक और गतिशील रूप से टाइप किए गए भागों को मिलाने देती है, सीमाओं पर रनटाइम जाँच सम्मिलित करती है ताकि टाइप किया गया कोड अपनी गारंटी बनाए रखे जबकि अनटाइप किया गया कोड लचीला बना रहे।

Methods for this concept

Related concepts