പ്രോഗ്രാമിംഗ് ഭാഷകള് എന്തുകൊണ്ട് ഇംഗ്ലീഷില്?
വായനക്കാരില് പലര്ക്കും ഈ ചോദ്യം ഉള്ളില് ഉദിച്ചിട്ടുണ്ടാകും എങ്കിലും ഈ ചോദ്യകര്ത്താവ് ‘ആല്ഫ്രഡ് തോംപ്സന്’ ആണ്. പ്രസിദ്ധ സോഫ്റ്റ്വെയര് സ്ഥാപനമായ മൈക്രോസോഫ്റ്റില് കഴിഞ്ഞ ഏഴുവര്ഷക്കാലത്തോളം സയന്സ് അക്കാദമിക്ക് റിലേഷന്സ് മാനേജരായി ജോലി നോക്കിയിട്ടുള്ള വ്യക്തിയാണ് ആല്ഫ്രഡ് തോംപ്സന്.
വിഷ്വല് ബേസിക്, സി# എന്നീ പ്രോഗ്രാമിംഗ് ഭാഷകളുമായി ബന്ധപ്പെട്ട് ഒട്ടേറെ പാഠപുസ്തകങ്ങള് രചിച്ചിട്ടുള്ള ആല്ഫ്രഡ് തോംപ്സന് ഇപ്പോള് കമ്പ്യൂട്ടര് സയന്സ് പാഠ്യപദ്ധതികള് രൂപപ്പെടുത്താന് വിവിധ ഏജന്സികളെ സഹായിക്കുന്ന അഡ്വൈസറായും പ്രവര്ത്തിക്കുന്നുണ്ട്. ‘പ്രോഗ്രാമിംഗ് ഭാഷകള് എന്തുകൊണ്ട് ഇംഗ്ലീഷില്?’ എന്ന പേരില് ആല്ഫ്രഡ് തോംപ്സന് എഴുതിയ ലേഖനത്തിന്റെ പരിഭാഷയാണ് താഴെ നല്കിയിരിക്കുന്നത്.
“കഴിഞ്ഞയാഴ്ച ഞാന് ന്യൂയോര്ക്ക് സിറ്റിയില് നടന്ന CSTA സയന്സ് ആന്ഡ് ഇന്ഫോര്മേഷന് ടെക്നോളജി കോണ്ഫറന്സില് പങ്കെടുക്കുകയായിരുന്നു. പങ്കെടുക്കുന്നവര് തമ്മില് നടക്കുന്ന ചര്ച്ചകളാണ് ഇത്തരം കോണ്ഫറന്സുകളുടെ മുഖ്യ ആകര്ഷകത്വം. വിഷയത്തില് താല്പര്യമുള്ള ആളുകള് ഒത്തുചേരുമ്പോള് ‘രസകരം’ ആയ ചര്ച്ച നടക്കുമെന്ന് തീര്ച്ച. ഇവിടെയും അതുതന്നെ ഉണ്ടായി.”
“ക്രൈട്ടണ് സര്വകലാശാലയില് കമ്പ്യൂട്ടര് സയന്സ് ഫാക്കള്ട്ടിയായി ജോലിനോക്കുന്ന ഡേവ് റീഡുമൊത്ത് ഈ കോണ്ഫറന്സില് ഞാനൊരു രസകരമായ ചര്ച്ചയില് ഏര്പ്പെടുകയുണ്ടായി. ഇംഗ്ലീഷ് സ്വന്തം ഭാഷയല്ലാത്ത ആളുകള് പ്രോഗ്രാമിംഗ് ഭാഷ കൈകാര്യം ചെയ്യുന്നതിനെ പറ്റി സംസാരിച്ചുകൊണ്ടാണ് ഞങ്ങള് ചര്ച്ച തുടങ്ങിയത്. ഇത്തരം ആളുകള് ഉപയോഗിക്കുന്ന കീവേഡുകള് എല്ലാം തന്നെ ഇംഗ്ലീഷിലാണ്. എന്നാല് ഇവര് ഉപയോഗിക്കുന്ന കമന്റുകളോ വേരിയബിളുകളോ യൂസര് റിട്ടണ് ക്ലാസുകളോ സമ്പ്രദായങ്ങളോ ഒക്കെ അവരുടെ ഭാഷയിലും.”
“എത്രമാത്രം ആശയക്കുഴപ്പമാണ് ഈ രീതി ഉണ്ടാക്കുക? ജര്മന് ക്ലാസുകള് എടുക്കുമ്പോള് ജര്മന് ഭാഷയില് എഴുതിയ ഒരു പ്രോഗ്രാം കാണിക്കാറുണ്ടെന്ന് ഡേവ് എന്നോട് പറഞ്ഞു. തീര്ച്ചയായും നല്ലൊരു കാര്യം തന്നെ. പക്ഷേ എന്റെ ചോദ്യം ഇതാണ് - കീവേഡുകള് സ്വന്തം ഭാഷയില് മൊഴിമാറ്റി ഉപയോഗിക്കാന് ജര്മ്മന് വിദ്യാര്ത്ഥികള്ക്ക് കഴിയുമോ?”
“പല വര്ഷങ്ങള്ക്ക് മുമ്പ്, പ്രാരംഭ ദശയിലുള്ള ഒരു കമ്പയിലറെ പറ്റി ഗ്രേസ് ഹോപ്പര് സംസാരിക്കുന്നത് ഞാന് കേട്ടിട്ടുണ്ട്. നിശ്ചിത സമയത്തിന് മുമ്പേ തന്നെ കമ്പയിലര് പ്രോഗ്രാമര്മാര് അതെഴുതി അവസാനിപ്പിച്ചത്രെ. കീവേഡുകള് ‘സിംബോളിക്ക്’ ആണെന്നും എന്തുകൊണ്ട് മറ്റ് ഭാഷകളിലേക്ക് അവ മൊഴിമാറ്റിക്കൂടാ എന്നും അവര് ചിന്തിച്ചു. അനന്തരഫലമായി, കമ്പെയിലറില് അവര് പല ഭാഷകള്ക്കും ഉള്ള പിന്തുണ ഉണ്ടാക്കി. ഈ പ്രോജക്ട് റിവ്യൂ ചെയ്ത വിദഗ്ധ സമിതിയാകട്ടെ കീവേഡുകള് ഇംഗ്ലീഷില് മതിയെന്ന് ശഠിക്കുകയും ചെയ്തു.”
“കമ്പ്യൂട്ടര് പ്രോഗ്രാമുകളുടെ ആരംഭകാലത്ത് നടന്ന ഒരു കഥയാണ് ഞാന് സൂചിപ്പിച്ചത്. എന്തായാലും, കാലമേറെ പോയിട്ടും, കമ്പെയിലറുകള്ക്ക് ഇപ്പോഴും ഒരു ഭാഷയിലുള്ള കീവേഡുകളേ അറിയൂ. ആ ഭാഷയാകട്ടെ ഇംഗ്ലീഷാണ് താനും. ഞാനിതിന് ഇംഗ്ലീഷ് ഭാഷ സംസാരിക്കുന്നവരെ കുറ്റം പറയില്ല. പാസ്കല് പ്രോഗ്രാമിംഗ് ഉണ്ടാക്കിയ നിക്ലൌസ് വിര്ത്ത് സ്വീഡന്കാരനായിരുന്നു. അതും സ്വിസ് മാതൃഭാഷ ആയിട്ടുള്ളയാള്. എന്നിട്ടും നിക്ലൌസ് വിര്ത്ത് ഉപയോഗിച്ചത് ഇംഗ്ലീഷ് കീവേഡുകള് തന്നെ.”
“സത്യത്തില്, ഇംഗ്ലീഷേതര ഭാഷകളില് കീവേര്ഡുകള് ഉപയോഗിക്കുന്നുണ്ടോ എന്നുതന്നെ എനിക്കറിയില്ല. ഉണ്ടെങ്കില് തന്നെ പൊതുവായി ആരും പ്രോഗ്രാമിംഗ് ഭാഷകളില് അവ ഉപയോഗിക്കുന്നില്ല. എന്തുകൊണ്ടാണ് ഇങ്ങിനെ? ആര്ക്കെങ്കിലും ഉത്തരമറിയാമോ? എന്തുകൊണ്ടാണ് ഇങ്ങിനെയെന്ന് എനിക്കറിയില്ല. ആധുനിക കമ്പ്യൂട്ടര് ഡിസൈനെല്ലാം നടന്നത് ഇംഗ്ലീഷ് ഭാഷ ഉപയോഗിക്കുന്ന രാജ്യങ്ങളില് ആണെന്നത് ശരിതന്നെ. പക്ഷേ, അതൊരു പരിമിതി ആയിക്കൂടല്ലോ!”
“എനിക്കറിയാത്ത മറ്റൊരു സംഗതി IDE-കള് എന്തുകൊണ്ടാണ് ഇംഗ്ലീഷേതര കീവേര്ഡുകള് പിന്തുണയ്ക്കാത്തത്? വ്യത്യസ്ത (അല്ലെങ്കില് അധിക) കീവേര്ഡുകള് ഉപയോഗിക്കുന്ന ഒരു പാര്സര് ഉള്പ്പെടുത്തുന്നത് അത്ര ബുദ്ധിമുട്ടുള്ള കാര്യമാണോ? കമ്പെയിലര് ഡിസൈന് എനിക്ക് അറിയാവുന്നത് കൊണ്ട് പാര്സിംഗ് അത്ര വലിയ ബുദ്ധിമുട്ടൊന്നും ഇല്ലാത്ത പണിയാണെന്ന് എനിക്കറിയാം. കാര്യങ്ങള് മെറ്റാ ഡാറ്റയിലേക്ക് മാറ്റുന്നത് അത്ര വലിയ സംഗതിയാണോ? അല്പം പണച്ചിലവ് ഉണ്ടായേക്കാം. എന്നാലും അത്ര വലിയ സംഗതി ഒന്നുമല്ല. മറ്റ് ഭാഷകളിലുള്ള കീവേര്ഡുകള് ഉപയോഗിക്കാന് പാകത്തിലുള്ള പാര്സര് ഉള്ള IDE-കളെ പറ്റി ആര്ക്കെങ്കിലും അറിയാമോ?”
“ഇംഗ്ലീഷ് സ്വന്തം ഭാഷയല്ലാത്ത ആളുകള് പ്രോഗ്രാമിംഗ് ഭാഷ ഡിസൈന് ചെയ്യുമ്പോള് എന്തുകൊണ്ടാണ് അവരവരുടെ ഭാഷയില് അത് ചെയ്യാത്തത്? ഉത്തരമായി എനിക്ക് തോന്നുന്നത് എല്ലാവരും ആഗ്രഹിക്കുന്നത് സാര്വത്രിക അംഗീകാരം ആണെന്നാണ്. അതിനായി ഇംഗ്ലീഷ് അറിയില്ലെങ്കിലും ഇംഗ്ലീഷ് കീവേര്ഡുകള് പ്രോഗ്രാമര്മാര് പഠിച്ചെടുക്കുന്നു. സത്യത്തില് നമ്മുടെ കുട്ടികള് അവരവരുടെ ഭാഷയില് കാര്യങ്ങള് ഗ്രഹിച്ചെടുത്ത് ചെയ്യുന്നതാണ് എനിക്ക് ഏറെ സ്വീകാര്യമായി തോന്നുന്നത്.”