കേരളത്തിലെ ഹൈസ്കൂള് പാഠപുസ്തകങ്ങളില് പരിചയപ്പെടുന്ന പ്രോഗ്രാമിങ് ഭാഷയാണ് പൈത്തണ്. നാം കുട്ടിക്കളിയ്ക്കുപയോഗിയ്ക്കുന്ന ഇതേ ഭാഷയുപയോഗിച്ചാണ് ഗൂഗ്ളും നാസയും വലിയ വലിയ കാര്യങ്ങള് ചെയ്യുന്നതെന്ന് അറിയാമോ?
എന്താണ് പൈത്തണ്?
ലളിതവും അതേ സമയം ശക്തവുമായ ഒരു പ്രോഗ്രാമിങ് ഭാഷയാണ് പൈത്തണ്. വളരെ സങ്കീര്ണ്ണമായ പ്രോഗ്രാമുകള് (സോഫ്റ്റ്വെയര്) പോലും ലളിതമായി തയ്യാറാക്കാവുന്ന ഇതിന്റെ പ്രചാരം നാള്ക്കുനാള് വര്ദ്ധിച്ചുവരികയാണ്. Python എന്ന ഇംഗ്ലീഷ് വാക്കിന്റെയര്ത്ഥം പെരുമ്പാമ്പ് എന്നാണ് (ഒരു ടെലിവിഷന് പരിപാടിയില്നിന്ന് പ്രചോദനമുള്ക്കൊണ്ടാണ് ഈ പേര് സ്വീകരിച്ചത്).
1989-ല് Guido van Rossum സാക്ഷാത്കരിച്ചതാണിത്. മറ്റനേകമാളുകള് ചേര്ന്ന് ഇതിനെ വികസിപ്പിച്ചു. ഇന്നിത് വിദ്യാലയങ്ങളിലും ഗവേഷണമേഖലയിലും വന്കിടസ്ഥാപനങ്ങളിലും വ്യാപകമായി ഉപയോഗിച്ചുവരുന്നു. 2008-ല് പുറത്തിറങ്ങിയ പൈത്തണ് 3 ആണ് ഇതിന്റെ പുതിയ പതിപ്പ്.
ഗ്നു/ലിനക്സിനൊപ്പം പൈത്തണും വരുന്നതിനാല് പ്രത്യേക ഇന്സ്റ്റളേഷന് ആവശ്യമില്ല. വിന്ഡോസും മറ്റും ഉപയോഗിയ്ക്കുന്നവര്ക്ക് പൈത്തണ് സൗജന്യമായി ഡൗണ്ലോഡ് ചെയ്ത് ഇന്സ്റ്റാള് ചെയ്യാം.
പൈത്തണ് പെരുമ!
‘സ്കൂളില് പഠിയ്ക്കാനുള്ളതെല്ലാം ലളിതം; ലളിതമായതെല്ലാം ദുര്ബ്ബലം’ എന്നതാണല്ലോ പലരുടെയും വാദം. ഇത് തെറ്റാണെന്ന് തെളിയിയ്ക്കുന്ന അനേകം ഉദാഹരണങ്ങളില് ഒന്നാണ് പൈത്തണ്. ഹരിശ്രീ കുറിയ്ക്കാനും മഹാകാവ്യം രചിയ്ക്കാനും ഒരേ പോലെ യോജിച്ചതാണ് പൈത്തണ്! കേരളത്തിലെ ഹൈസ്കൂള് വിദ്യാര്ത്ഥികള് പരിചയപ്പെടുന്ന ഈ ഭാഷ മറ്റെവിടെയെല്ലാം ഉപയോഗിയ്ക്കുന്നുണ്ടെന്ന് കണ്ടോളൂ:
- നാസ, ഗൂഗ്ള്, യാഹൂ, സേണ് തുടങ്ങിയ വലിയ സ്ഥാപനങ്ങളില്
- സൂപ്പര് കംപ്യൂട്ടറുകളില്
- വെബ്സെര്വറുകളില്
- കൃത്രിമബുദ്ധിയുമായി (Artificial Intelligence ‒ AI) ബന്ധപ്പെട്ട ഗവേഷണത്തിന്. ഒരുകാലത്ത് ലിസ്പ് എന്ന ഭാഷ വിലസിയ ഈ മേഖല ഇന്ന് പൈത്തണ് കയ്യടക്കുകയാണ്
- വിദ്യാഭ്യാസ-ഗവേഷണരംഗത്ത്
എന്നുകരുതി പത്താംതരം വരെ പഠിയ്ക്കുന്ന പൈത്തണ് ഉപയോഗിച്ച് ഒരു ഗംഭീരപ്രോഗ്രാം തയ്യാറാക്കാം എന്നൊന്നും വിചാരിയ്ക്കരുതേ. പൈത്തണ് ഭാഷയുടെ ശൈലി പരിചയപ്പെടുകമാത്രമാണ് പത്താംതരം വരെ ചെയ്യുന്നത്. എന്നാല് അക്കാര്യങ്ങള് വൃത്തിയായി മനസ്സിലാക്കിയ ഒരാള്ക്ക് ഇന്റര്നെറ്റിന്റെയോ പുസ്തകങ്ങളുടെയോ സഹായത്തോടെ മുന്നേറാവുന്നത്ര ലളിതമാണ് പൈത്തണ്.
ഹാക്കറാവണോ, പൈത്തണ് പഠിയ്ക്കണം!
ഹാക്കറെന്നു കേട്ട് തെറ്റിദ്ധരിയ്ക്കണ്ട. പ്രോഗ്രാമുകളുടെയും കംപ്യൂട്ടര് ശൃംഘലകളുടെയും സുരക്ഷാപാളിച്ചള് കണ്ടെത്തി മുന്നറിയിപ്പ് നല്കുന്ന നല്ലവരാണ് ഹാക്കര്മാര്. എത്തിക്കല് ഹാക്കിങ് (ധാര്മികമായ നുഴഞ്ഞുകയറ്റം) എന്നാണ് ഈ പരിപാടി അറിയപ്പെടുന്നത്. കുഴപ്പങ്ങള് സൃഷ്ടിയ്ക്കുന്നവര്ക്കുള്ള പേര് ‘ക്രാക്കര്മാര്’ എന്നാണ്. രണ്ടായാലും ശരി, പൈത്തണ് അറിഞ്ഞിരിയ്ക്കേണ്ടത് ആവശ്യമാണ്. നെറ്റ്വെര്ക്കിങ്, സുരക്ഷ തുടങ്ങിയ മേഖലകളില് പൈത്തണിന്റെ സ്ഥാനം മുന്നിലാണെന്നതാണ് കാരണം.
പൈത്തണ് പവേഡ്!
പൂര്ണ്ണമായോ ഭാഗികമായോ പൈത്തണിലെഴുതിയ പ്രോഗ്രാമുകള് ധാരാളമാണ്. ഒമ്പതാം ക്ലാസില് പരിചയപ്പെടുന്ന ‘ഓപ്പണ് ഷോട്ട് വീഡിയോ എഡിറ്റര്’ ആണ് പ്രശസ്തമായ ഒരെണ്ണം. ബ്ലെന്ഡര്, മായ, ജിമ്പ്, ഇങ്ക്സ്കെയ്പ് തുടങ്ങിയ പ്രോഗ്രാമുകളിലും പൈത്തണിന്റെ പിന്തുണയുണ്ട്. ഗ്നു/ലിനക്സ് വിതരണങ്ങളില് (ഡെബീയന്, ഉബുണ്ടു, ഫെഡോറ, ...) പൈത്തണ് വ്യാപകമായി ഉപയോഗിച്ചുവരുന്നു. നിങ്ങളില് പലരും ഉബുണ്ടു സ്വന്തമായി ഇന്സ്റ്റാള് ചെയ്തിരിയ്ക്കും. ഉബുണ്ടു ഇന്സ്റ്റാള് ചെയ്യാനുപയോഗിയ്ക്കുന്ന ‘ഇന്സ്റ്റളേഷന് പ്രോഗ്രാ’മും പൈത്തണിലാണ് എഴുതിയിട്ടുള്ളത്!
സാങ്കേതികമേന്മകള്
- ഒരു ക്രോസ്-പ്ലാറ്റ്ഫോം ഭാഷയായതിനാല് പൈത്തണിലെഴുതിയ ഒരു പ്രോഗ്രാം ഗ്നു/ലിനക്സ്, വിന്ഡോസ്, മാക് ഒ.എസ്. എക്സ് തുടങ്ങി ഏതാണ്ടെല്ലാ ഓപ്പറേറ്റിങ് സിസ്റ്റങ്ങളിലും ഒരുപോലെ പ്രവര്ത്തിയ്ക്കുന്നു. നിങ്ങളുടെ കൂട്ടുകാരന്റെ കംപ്യൂട്ടറില് പ്രവര്ത്തിയ്ക്കുന്ന ഒരു പ്രോഗ്രാം നിങ്ങളുടെ കംപ്യൂട്ടറില് പ്രവര്ത്തിയ്ക്കാത്തതോര്ത്ത് സങ്കടപ്പെടേണ്ടിവരില്ലെന്നര്ത്ഥം.
- സി പോലുള്ള മറ്റ് ഹൈലെവല് ഭാഷകളില് വേണ്ടതിനേക്കാള് കുറച്ച് നിര്ദേശങ്ങള് മതി പൈത്തണില് ഒരു പ്രോഗ്രാമെഴുതാന്. മറ്റ് ഭാഷകളേക്കാള് മനസ്സിലാക്കാനും എളുപ്പമാണ് പൈത്തണ് (ഇതുമൂലം പ്രോഗ്രാമര്ക്ക് തന്റെ പ്രോഗ്രാമില് കൂടുതല് സൗകര്യങ്ങളൊരുക്കാനാവുന്നു).
- ഒബ്ജക്റ്റ്-ഓറിയന്റഡ് ഭാഷ (സാങ്കേതികം, ഇതെന്താണെന്നത് ഉയര്ന്ന ക്ലാസുകളില് പഠിയ്ക്കാം, അല്ലെങ്കില് ഇന്റര്നെറ്റില്നിന്നോ പുസ്തകങ്ങളില്നിന്നോ മനസ്സിലാക്കാം).
- സ്വതന്ത്രസോഫ്റ്റ്വെയര് ആയതിനാല് പൈത്തണ് ആര്ക്കും പഠിയ്ക്കാം, പരിഷ്കരിയ്ക്കാം, വിതരണം ചെയ്യാം.
എന്താണ് പ്രോഗ്രാമിങ് ഭാഷ?
കംപ്യൂട്ടറിനെക്കൊണ്ട് എന്തു ജോലി ചെയ്യിയ്ക്കണമെങ്കിലും അതുമായി ബന്ധപ്പെട്ട പ്രോഗ്രാം/ സോഫ്റ്റ്വെയര് പ്രവര്ത്തിപ്പിയ്ക്കണമല്ലോ. കംപ്യൂട്ടറിന് മനസ്സിലാകുന്ന ഏതെങ്കിലുമൊരു ഭാഷയില് പ്രോഗ്രാമര് എഴുതിത്തയ്യാറാക്കിയ അനേകം നിര്ദേശങ്ങളാണ് നമ്മുടെ മുന്നില് ലളിതമായ ഒരു പ്രോഗ്രാമായി തുറന്നുവരുന്നത്. കാല്ക്കുലേറ്റര് തുറക്കുമ്പോഴും ഗെയിം കളിച്ചുരസിയ്ക്കുമ്പോഴുമെല്ലാം അതിനുപിന്നില് പ്രവര്ത്തിയ്ക്കുന്നത് പ്രോഗ്രാമര് എഴുതിയുണ്ടാക്കിയ ആയിരക്കണക്കിന് നിര്ദേശങ്ങളാണെന്നോര്ക്കുക. ഈ നിര്ദേശങ്ങള് എഴുതിത്തയ്യാറാക്കാനുള്ള ഭാഷയാണ് പ്രോഗ്രാമിങ് ഭാഷ. മനുഷ്യര്ക്കിടയില് നിരവധി ഭാഷകളുള്ളതുപോലെ പ്രോഗ്രാമിങ് ഭാഷകളും അനേകമാണ്. ഇവയെ തരം തിരിച്ചുനോക്കാം:
ലോ ലെവല് ലാങ്ഗ്വേജ്:
മനുഷ്യന് മനസ്സിലാക്കിയെടുക്കാന് ബുദ്ധിമുട്ടുള്ള കംപ്യൂട്ടര്-ഭാഷകള്. മെഷീന് ലാങ്ഗ്വേജ്, അസംബ്ലി ലാങ്ഗ്വേജ് എന്നിവ ഇതില്പ്പെടും. ഇവയില് പ്രോഗ്രാമുകള് തയ്യാറാക്കുന്നത് ബുദ്ധിമുട്ടാണ്. ചെറിയൊരു കാര്യം ചെയ്യാന് പോലും അനേകം നിര്ദേശങ്ങള് കൊടുക്കേണ്ടിവരും. എങ്കിലും ഓപ്പറേറ്റിങ് സിസ്റ്റങ്ങളുടെ നിര്മ്മാണത്തില് അസംബ്ലി ഭാഷ ഉപയോഗിയ്ക്കുന്നുണ്ട്.
ഹൈ ലെവല് ലാങ്ഗ്വേജ്:
മനുഷ്യന് മനസ്സിലാകുന്ന കംപ്യൂട്ടര്-ഭാഷകള്. ഏതാണ്ടെല്ലാ പ്രോഗ്രാമുകളും ഇത്തരം ഭാഷകളിലാണ് എഴുതുന്നത്. സി, സി++, പൈത്തണ്, ജാവ, ലിസ്പ്, പാസ്കല്, കോബോള്, ഫോര്ട്രാന് എന്നിവയാണ് പ്രധാനപ്പെട്ട ഹൈ ലെവല് ഭാഷകള്. കംപ്യൂട്ടര്-ഭാഷകളാണെങ്കിലും ഇവയിലെഴുതിയ പ്രോഗ്രാമുകളെയും യന്ത്രഭാഷയിലേയ്ക്ക് മാറ്റേണ്ടതുണ്ട്; എങ്കിലേ കംപ്യൂട്ടറിന് അവ പ്രവര്ത്തിപ്പിയ്ക്കാനാവൂ. ഇതിന് സഹായിയ്ക്കുന്ന രണ്ടുതരം പ്രോഗ്രാമുകളാണ് കംപൈലറുകളും ഇന്റര്പ്രട്ടറുകളും. പൈത്തണിന് പൊതുവെ ഇന്റര്പ്രട്ടറാണ് ഉപയോഗിയ്ക്കാറ്. ഹൈസ്കൂള് ക്ലാസുകളില് പൈത്തണ് എന്ന പേരില് പരിചയപ്പെടുന്നത് സത്യത്തില് പൈത്തണിന്റെ ഇന്റര്പ്രട്ടറോ ഐ.ഡി.ഇ.യോ ആണ്.
എന്താണ് ഐ.ഡി.ഇ.?
‘ഇന്റഗ്രേറ്റഡ് ഡെവലപ്മെന്റ് ഇന്വയോണ്മെന്റ്’ എന്നതിന്റെ ചുരുക്കമാണ് ഐ.ഡി.ഇ. പേര് കേട്ടാല് ഭീകരനാണെങ്കിലും ആള് വലിയ ഉപകാരിയാണ്! പ്രോഗ്രാമുകള് എഴുതിത്തയ്യാറാക്കാനും തെറ്റുതിരുത്താനും കംപൈലിങ്/ഇന്റര്പ്രട്ടിങ് നടത്താനുമെല്ലാം സഹായിയ്ക്കുന്ന പ്രോഗ്രാമുകളാണ് ഐ.ഡി.ഇ.കള്.
ഒമ്പതാം തരത്തിലെ പാഠപുസ്തകത്തില് പരിചയപ്പെടുത്ത IDLE, പൈത്തണിന്റെ ഒരു ഐ.ഡി.ഇ. ആണ്. ഒട്ടനേകം പ്രോഗ്രാമിങ് ഭാഷകള് കൈകാര്യം ചെയ്യാന് ശേഷിയുള്ള ഒരു ഐ.ഡി.ഇ. ആണ് Geany. IT@School വിതരണം ചെയ്യുന്ന ഉബുണ്ടുവിന്റെ പതിപ്പില് ഇത് ഉള്പ്പെടുത്തിയിട്ടുണ്ട്.
കൂടുതലറിയാന്
പാഠപുസ്തകത്തിനുമപ്പുറത്തുള്ള പൈത്തണിനെ പരിചയപ്പെടാന് താത്പര്യമായില്ലേ? പൈത്തണ് പഠിയ്ക്കാനുള്ള പുസ്തകങ്ങള് ഇംഗ്ലീഷില് ധാരാളമാണ്. കൂടാതെ പൈത്തണുമായി ബന്ധപ്പെട്ട് നിരവധി വെബ്സൈറ്റുകള് ഇന്റര്നെറ്റിലുണ്ട്. python.org ആണ് ഔദ്യേഗികവെബ്സൈറ്റ്. ഗ്രാഫിക്കല് പ്രോഗ്രാമിങ്ങില് താത്പര്യമുള്ളവര് ഗൂഗ്ളില് pygtk, pyqt എന്നീ കീവേഡുകളുപയോഗിച്ചാണ് തെരച്ചില് നടത്തേണ്ടത്.