സ്ടോങ്ങ് ആൻഡ് വീക്ക് ടൈപ്പിംഗ്

(Strong typing എന്ന താളിൽ നിന്നും തിരിച്ചുവിട്ടതു പ്രകാരം)

കമ്പ്യൂട്ടർ പ്രോഗ്രാമിംഗിൽ, ഭാഷയുടെ ടൈപ്പ് സിസ്റ്റം സ്ടോങ്ങ് ടൈപ്പ് ചെയ്യുന്നുണ്ടോ അല്ലെങ്കിൽ വീക്ക് ടൈപ്പ് ചെയ്യുന്നുണ്ടോ (അയഞ്ഞ രീതിയിൽ ടൈപ്പുചെയ്യുന്നു) എന്ന് പ്രോഗ്രാമിംഗ് ഭാഷകളെ പലപ്പോഴും സംഭാഷണപരമായി തരംതിരിക്കുന്നു. സാധാരണയായി, ശക്തമായി ടൈപ്പുചെയ്ത ഭാഷയ്ക്ക് കംപൈൽ സമയത്ത് കർശനമായ ടൈപ്പിംഗ് നിയമങ്ങളുണ്ട്, ഇത് സമാഹാര സമയത്ത് പിശകുകളും ഒഴിവാക്കലുകളും സംഭവിക്കാൻ സാധ്യതയുണ്ടെന്ന് സൂചിപ്പിക്കുന്നു. എന്നിരുന്നാലും, ചലനാത്മകമായി ടൈപ്പുചെയ്‌ത ഭാഷകളും (റൺ സമയത്ത് ടൈപ്പ് ചെക്കിംഗ് സംഭവിക്കുന്നിടത്ത്) ശക്തമായി ടൈപ്പുചെയ്യാനാകും. ഈ നിയമങ്ങളിൽ ഭൂരിഭാഗവും വേരിയബിൾ അസൈൻമെന്റ്, റിട്ടേൺ മൂല്യങ്ങൾ, ഫംഗ്ഷൻ കോളിംഗ് എന്നിവയെ ബാധിക്കുന്നു. മറുവശത്ത്, ദുർബലമായി ടൈപ്പുചെയ്ത ഭാഷയ്ക്ക് അയഞ്ഞ ടൈപ്പിംഗ് നിയമങ്ങളുണ്ട്, മാത്രമല്ല പ്രവചനാതീതമായ ഫലങ്ങൾ ലഭിച്ചേക്കാം അല്ലെങ്കിൽ റൺടൈമിൽ വ്യക്തമായ തരം പരിവർത്തനം നടത്താം. [1]ലേറ്റന്റ് ടൈപ്പിംഗ് ആണ് വ്യത്യസ്തവും എന്നാൽ ബന്ധപ്പെട്ടതുമായ ഒരു ആശയം.

ചരിത്രംതിരുത്തുക

1974 ൽ, ലിസ്‌കോവും സില്ലെസും ശക്തമായി ടൈപ്പുചെയ്ത ഒരു ഭാഷയെ നിർവചിച്ചു, അതിൽ "ഒരു വസ്തു ഒരു കോളിംഗ് ഫംഗ്ഷനിൽ നിന്ന് വിളിക്കപ്പെടുന്ന ഫംഗ്ഷനിലേക്ക് കൈമാറുമ്പോൾ, അതിന്റെ തരം വിളിക്കപ്പെടുന്ന ഫംഗ്ഷനുമായി പൊരുത്തപ്പെടണം." [2]1977 ൽ ജാക്സൺ എഴുതി, "ശക്തമായി ടൈപ്പുചെയ്ത ഭാഷയിൽ ഓരോ ഡാറ്റാ ഏരിയയ്ക്കും വ്യത്യസ്തമായ തരം ഉണ്ടാകും, ഓരോ പ്രക്രിയയും അതിന്റെ ആശയവിനിമയ ആവശ്യകതകൾ ഈ ടൈപ്പിൽ വ്യക്തമാക്കും."[3]

"സ്ടോങ്ങ്" അല്ലെങ്കിൽ "‌വീക്ക്" എന്നതിനുള്ള നിർവചനങ്ങൾതിരുത്തുക

വ്യത്യസ്ത ഭാഷാ രൂപകൽപ്പന തീരുമാനങ്ങളെ "ശക്തമായ" അല്ലെങ്കിൽ "ദുർബലമായ" ടൈപ്പിംഗിന്റെ തെളിവായി പരാമർശിക്കുന്നു. വാസ്തവത്തിൽ, ടൈപ്പ് സുരക്ഷ, മെമ്മറി സുരക്ഷ, സ്റ്റാറ്റിക് ടൈപ്പ് ചെക്കിംഗ് അല്ലെങ്കിൽ ഡൈനാമിക് ടൈപ്പ് ചെക്കിംഗ് എന്നിവയുടെ സാന്നിധ്യം അല്ലെങ്കിൽ അഭാവം ഇവയിൽ പലതും കൂടുതൽ കൃത്യമായി മനസ്സിലാക്കുന്നു.

"ശക്തമായ ടൈപ്പിംഗ്" എന്നത് സാധാരണയായി കോഡിന്റെ മാറ്റങ്ങളെ പിടിച്ചെടുക്കുന്നതിനും അതിന്റെ കൃത്യത ഉറപ്പുവരുത്തുന്നതിനും പ്രോഗ്രാമിംഗ് ഭാഷാ തരം ഉപയോഗിക്കുന്നതിനെ സൂചിപ്പിക്കുന്നു, മാത്രമല്ല ചില ക്ലാസ് പ്രോഗ്രാമിംഗ് പിശകുകൾ തീർച്ചയായും ഒഴിവാക്കുകയും ചെയ്യുന്നു. ഈ ലക്ഷ്യങ്ങൾ കൈവരിക്കുന്നതിന് നിരവധി "ശക്തമായ ടൈപ്പിംഗ്" വിഭാഗങ്ങൾ ഉപയോഗിക്കുന്നു.

അവലംബംതിരുത്തുക

  1. "CS1130. Transition to OO programming. – Spring 2012 --self-paced version". Cornell University, Department of Computer Science. 2005. Archived from the original on 2015-11-23. ശേഖരിച്ചത് 2015-11-23.CS1 maint: bot: original URL status unknown (link)
  2. Liskov, B; Zilles, S (1974). "Programming with abstract data types". ACM SIGPLAN Notices. 9 (4): 50–59. CiteSeerX 10.1.1.136.3043. doi:10.1145/942572.807045.
  3. Jackson, K. (1977). Parallel processing and modular software construction. Design and Implementation of Programming Languages. Lecture Notes in Computer Science. 54. പുറങ്ങൾ. 436–443. doi:10.1007/BFb0021435. ISBN 3-540-08360-X.[പ്രവർത്തിക്കാത്ത കണ്ണി]