AI ടൈപ്പ്‌സ്‌ക്രിപ്റ്റ് യുദ്ധം ജയിച്ചു

തർക്കം അവസാനിച്ചു. മികച്ച വാദങ്ങൾ കൊണ്ടല്ല TypeScript വിജയിച്ചത്. മറിച്ച്, AI ടൂളുകൾ ആ തർക്കത്തെ അപ്രസക്തമാക്കിയതുകൊണ്ടാണ് അത് വിജയിച്ചത്.

ഗവേഷകർ ഒരു പ്രധാന പാറ്റേൺ കണ്ടെത്തിയിട്ടുണ്ട്. AI നിർമ്മിക്കുന്ന കോഡിലെ മിക്ക കംപൈലേഷൻ പരാജയങ്ങളും ടൈപ്പ് മിസ്മാച്ചുകൾ (type mismatches) ആണ്. ഇവ ലോജിക് പിശകുകളല്ല. ഒരു ഫംഗ്ഷന്റെയോ ആർഗ്യുമെന്റിന്റെയോ ഘടന തെറ്റാകുന്ന ലളിതമായ പിശകുകളാണിവ.

പാറ്റേണുകൾ പിന്തുടർന്ന് AI വളരെ വേഗത്തിൽ കോഡ് നിർമ്മിക്കുന്നു. നിങ്ങളുടെ മുഴുവൻ കോഡ്‌ബേസിനെക്കുറിച്ചും (codebase) പൂർണ്ണമായ ധാരണ AI-ക്ക് ഉണ്ടാകണമെന്നില്ല. ഒരു മനുഷ്യൻ തന്റെ അനുഭവപരിചയത്തിലൂടെ ഒരു ടൈപ്പ് പിശക് കണ്ടേക്കാം. എന്നാൽ ഒരു ടൈപ്പ് ചെക്കർ (type checker) യാതൊരു സാഹചര്യവും നോക്കാതെ തന്നെ അത് ഉടനടി കണ്ടെത്തും.

സ്റ്റാറ്റിക് ടൈപ്പിംഗ് (Static typing) എന്നത് ഇനി വെറുമൊരു ശൈലി മാത്രമല്ല. AI എഴുതുന്ന കോഡുകൾക്കായുള്ള ഒരു സുരക്ഷാ സംവിധാനമാണ് അത്.

ഇത് നിങ്ങളുടെ ദൈനംദിന ജോലിയെ എങ്ങനെ ബാധിക്കുന്നു എന്ന് നോക്കൂ:

AI ഉപയോഗിക്കുന്ന ഡൈനാമിക് കോഡ്‌ബേസ്:

  • AI ഒരു ഫംഗ്ഷൻ എഴുതുന്നു.
  • ടൈപ്പുകൾ പരോക്ഷമാണ് (implicit).
  • നിങ്ങൾ പിശകുകൾ നേരിട്ട് കണ്ടെത്തണം.

AI ഉപയോഗിക്കുന്ന സ്റ്റാറ്റിക് കോഡ്‌ബേസ്:

  • AI ഒരു ഫംഗ്ഷൻ എഴുതുന്നു.
  • ടൈപ്പ് ചെക്കർ ഉടൻ തന്നെ പിശകുകൾ ചൂണ്ടിക്കാണിക്കുന്നു.

പിശകുകളുടെ നിരക്ക് ഒരുപോലെയാണ്. എന്നാൽ അവ പരിഹരിക്കാനുള്ള ചിലവ് വ്യത്യസ്തമാണ്. അതുകൊണ്ടാണ് TypeScript ഉപയോഗം വർദ്ധിച്ചുകൊണ്ടിരിക്കുന്നത്. ഒരു മനുഷ്യനല്ലാത്ത ഒന്നാണ് നിങ്ങളുടെ ആദ്യ ഡ്രാഫ്റ്റ് തയ്യാറാക്കുന്നത് എങ്കിൽ, ടൈപ്പുകൾ ഒരു കുറഞ്ഞ ചിലവിലുള്ള ഇൻഷുറൻസ് പോലെ പ്രവർത്തിക്കുന്നു.

ഈ നിയമം മറ്റ് ഭാഷകൾക്കും ബാധകമാണ്. Rust ഇവിടെ കൂടുതൽ ഉപകാരപ്രദമാണ്. AI പലപ്പോഴും വരുത്തുന്ന മെമ്മറി, കൺകറൻസി (concurrency) ബഗുകളെ 'borrow checker' തടയുന്നു. ഈ ബഗുകൾ പ്രാദേശികമായി ശരിയാണെന്ന് തോന്നുമെങ്കിലും റൺടൈമിൽ (runtime) പരാജയപ്പെടും.

AI സഹായത്തോടെയുള്ള ഡെവലപ്‌മെന്റ് റിവ്യൂ ചെയ്യുന്നത് കൂടുതൽ സുരക്ഷിതമാക്കുന്നതിനാലാണ് ഈ ഭാഷകൾ വിജയിക്കുന്നത്.

നിങ്ങൾ ഒരു ടീമിനെ നയിക്കുന്നുണ്ടെങ്കിൽ, ഈ ഘട്ടങ്ങൾ പിന്തുടരുക:

  • ആദ്യം ബൗണ്ടറികളിൽ (boundaries) ടൈപ്പിംഗ് ചേർക്കുക.
  • ഫംഗ്ഷൻ സിഗ്നേച്ചറുകളിലും (function signatures) API കോൺട്രാക്റ്റുകളിലും ശ്രദ്ധ കേന്ദ്രീകരിക്കുക.
  • മോഡ്യൂളുകൾക്കിടയിൽ ഡാറ്റ കൈമാറുന്ന ഭാഗങ്ങൾ സംരക്ഷിക്കുക.

ഒരു മുന്നറിയിപ്പ്: ടൈപ്പ് സേഫ്റ്റി (type safety) എല്ലാ പ്രശ്നങ്ങൾക്കും പരിഹാരമല്ല. AI വരുത്താൻ സാധ്യതയുള്ള ബഗുകളെ മാത്രമേ അത് കണ്ടെത്തുകയുള്ളൂ. മോശം ലോജിക്കോ തെറ്റായ ആവശ്യകതകളോ (requirements) അത് കണ്ടെത്തില്ല. കംപൈൽ ആകുന്നു എന്നതുകൊണ്ട് മാത്രം ഒരു കോഡ് ശരിയാകണമെന്നില്ല. ടൈപ്പ് ചെക്കർ ഒരു സീറ്റ് ബെൽറ്റ് പോലെയാണ്, ഡ്രൈവർ അല്ല.

നിങ്ങളുടെ ടീം ഡിഫോൾട്ടായി 'strict mode' ഉപയോഗിക്കുന്നുണ്ടോ? നിങ്ങളുടെ അഭിപ്രായങ്ങൾ താഴെ അറിയിക്കുക.

സ്രോതസ്സ്: https://dev.to/tuba_mughal_2fd16fd2c7978/typescript-didnt-win-the-language-war-ai-did-it-for-them-79l