Monday, November 10, 2014

പൈത്തൺ പഠനം - ഭാഗം 2

ഭാഗത്തിൽ പഠിക്കുന്നത്

  • ഹലോ വേൾഡ് എന്നു പ്രിന്റ് ചെയ്യുന്ന പ്രോഗ്രാം എങ്ങനെ രചിക്കാം
  • പൈത്തണിലെ അടിസ്ഥാന ഡാറ്റാ ടൈപ്പുകൾ
  • വേരിയബിൾ എന്നാലെന്ത്

പൈത്തൺ വളരെ ലളിതമാണെന്ന് ഞാൻ നേരത്തേ പറഞ്ഞു. പക്ഷേ ലളിതമെന്നാൽ അതെങ്ങനെയാണെന്നറിയണ്ടേ?. സാധാരണ പ്രോഗ്രാമിംഗ് ഭാഷകളിലേതു പോലെ സങ്കീർണ്ണമായ കോഡുകളും അനേകം സിംബലുകളും ചേർത്താണ് ഒരു പ്രോഗ്രാം രചിക്കുന്നത്... വിവിധ സ്റ്റേറ്റുമെന്റുകളെ തരം തിരിക്കാൻ സിംബലുകളാണ് മറ്റു ഭാഷകളിൽ ഉപയോഗിക്കുന്നത്... (ഉദാ: “{ }”, “\\”,”>”) എന്നാൽ പൈത്തണിൽ വളരെ കുറച്ചു മാത്രമേ ഇവ ഉപയോഗിക്കുന്നുള്ളൂ...  അതിനാൽ പൈത്തൺ കോഡ് മനുഷ്യർക്കും അനായാസം വായിക്കാം...  
ഇനി നമുക്ക് ആദ്യ പ്രോഗ്രാമിലേയ്ക്ക് കടക്കാം. പ്രോഗ്രാമിങ്ങിൽ ഏതു ഭാഷയുടെ കാര്യത്തിലായാലും തുടക്കമിടുന്നത് “Hello World” പ്രോഗ്രാമിലൂടെയാണ്. സ്ക്രീനിൽ “Hello World” എന്നു പ്രിന്റ് ചെയ്യുന്ന ലളിതമായ പ്രോഗ്രാമാണിത്.  Beginning Perl എന്ന വിഖ്യാത ഗ്രന്ഥത്തിന്റെ കർത്താവായ Simon Cozens ആണ് രീതിയിലുള്ള പ്രോഗ്രാമിംഗ് പഠനത്തിനു തുടക്കമിട്ടത്ഒരു പ്രോഗ്രാമർ തന്റെ ജൈത്രയാത്രയുടെ തുടക്കമെന്നോണം ലോകത്തെ അഭിവാദ്യം ചെയ്യുന്നതായി കരുതിയാൽ മതി. സ്റ്റാർട്ട് മെനുവിൽ നിന്ന് പൈത്തണിന്റെ GUI ആയ IDLE ഓപ്പൺ ചെയ്യുക... താഴെ കാണുന്ന കോഡ് (ഹൈലൈറ്റ് ചെയ്തത്) എഴുതുക...

കോഡ് : print “Hello World !”


കോഡ് എഴുതിയ ശേഷം എന്റർ അമർത്തുക...


റിസൾട്ട് : Hello World ! (ചിത്രം 1 ശ്രദ്ധിക്കുക)

ചിത്രം 1

കഴിഞ്ഞു! ഇതാണ് ആദ്യത്തെ പൈത്തൺ പ്രോഗ്രാം. ഒരു ഒറ്റവരി കോഡ്. print എന്ന Function ലൂടെ നാം കമ്പ്യൂട്ടറിനോട് ആജ്ഞാപിക്കുന്നു, ഇനി നാം എഴുതാൻ പോകുന്ന വാക്കുകൾ പ്രിന്റ് ചെയ്യുക. print എന്ന Function നു ശേഷം ഉദ്ധരണിയ്ക്കുള്ളിൽ (“ “) കൊടുക്കുന്ന വാക്കുകളോ സംഖ്യകളോ ചിഹ്നങ്ങളോ എന്തു തന്നെയായാലും പൈത്തൺ അത് പ്രദർശിപ്പിക്കും. നിങ്ങൾക്ക് കോഡിലെ ഉദ്ധരണിയ്ക്കുള്ളിലെ വാചകം മാറ്റിയിട്ട് മറ്റെന്തും പരീക്ഷിക്കാവുന്നതാണ്.
ഉദ്ധരണിയിൽ അല്ലാതെയും print ഫംഗ്ഷൻ കൊടുക്കാവുന്നതാണ്. അത് സംഖ്യകൾക്ക് മാത്രമാണ് ബാധകമായിട്ടുള്ളത്. ഉദാഹരണത്തിന്

print 9

9

print 9*3

27
(ചിത്രം രണ്ട് ശ്രദ്ധിക്കുക)
ചിത്രം രണ്ട്
രണ്ടുദാഹരണങ്ങളും കണ്ടല്ലോ. രണ്ടിലും ഉദ്ധരണി ഇല്ല. അതിനാൽ അവയെ സംഖ്യകളായി മാത്രം കണ്ട് അവ പ്രിന്റ് ചെയ്യുന്നു. ഗണിതശാസ്ത്രത്തിലെ ചിഹ്നങ്ങൾ ഉണ്ടെങ്കിൽ അവയുടെ ഉത്തരമാവും പ്രിന്റ് ചെയ്യുക. ഉദ്ധരണി കൊടുക്കുമ്പോൾ ഒറ്റ ഉദ്ധരണിയും (‘ ‘) ഇരട്ട ഉദ്ധരണിയും (“ “) കൊടുക്കാവുന്നതാണ്. എന്നാൽ ഒരു വരിയിൽ ഇവ രണ്ടും ഒരുമിച്ചു നൽകാൻ പാടില്ല. (‘ “) എന്നാൽ ചിലപ്പോൾ ഇരട്ട ഉദ്ധരണികളും ഒറ്റ ഉദ്ധരണികളും ഒറ്റ വരിയിൽ തന്നെ നൽകേണ്ടി വരും... ഉദാഹരണത്തിന് “ What’s your name ?” എന്നു പ്രിന്റ് ചെയ്യണമെങ്കിൽ എന്തു ചെയ്യും...

print ‘What’s his name ?’

കോഡ് പ്രിന്റ് ചെയ്തു വന്നാൽ ഇങ്ങനെയിരിക്കും.

What

എന്തുകൊണ്ടാണ് നമ്മൾ എഴുതിയ വാചകം മുഴുവൻ പ്രിന്റ് ചെയ്യാതിരുന്നത് ? കാരണം What’s ലെ എസ് എന്നതിനു മുൻപുള്ള ഒറ്റ ഉദ്ധരണി തന്നെ. അവിടെ വരെ വന്നപ്പോൾ കോഡ് തീരുന്നതായി കമ്പ്യൂട്ടർ മനസ്സിലാക്കി. കാരണം ഉദ്ധരണി തുടങ്ങുന്നതിനും തീരുന്നതിനും ഇടയിലുള്ള വാക്കുകളാണല്ലോ പ്രിന്റ് ചെയ്യേണ്ടത്. ഇത്തരം ഘട്ടങ്ങളിൽ ഇടയ്ക്കുള്ള ഉദ്ധരണികളെ അവഗണിക്കാനായി ഒരു ബായ്ക്ക് സ്ലാഷ് (\) ഉൾപ്പെടുത്തിയാൽ മതി. ഉദാഹരണം.

print ‘What\’s his name

ഇത്തരം സന്ദർഭങ്ങളിൽ മറ്റൊരു തരത്തിലും നമുക്ക് കോഡെഴുതാം. ഉദാഹരണം.

print “What’s his name”

അതായത് രണ്ട് ഇരട്ട ഉദ്ധരണികൾക്കുള്ളിൽ ഒരു ഒറ്റ ഉദ്ധരണി കൊടുക്കാം... ഇതു തിരിച്ചും ചെയ്യാവുന്നതാണ്... ഇനി നമുക്ക് പ്രിന്റ് ചെയ്യാനുള്ള വാക്യം രണ്ടു വരികളിലായ് വരണമെന്ന് പൈത്തണിനോട് പറയുന്നത് എങ്ങനെയെന്ന് നോക്കാം.

കോഡ്print “This is the first line \n And this is the second line”  

(ചിത്രം 3 ശ്രദ്ധിക്കുക)
ചിത്രം 3

കണ്ടല്ലോ, \n എന്നതാണ് പുതിയ വരിയാണെന്ന് പൈത്തണിനെ മനസ്സിലാക്കാനുള്ള കോഡ്.

പ്രോഗ്രാമിംഗിൽ നാം വിശകലനം(Analyse) ചെയ്യുന്നതും അപഗ്രഥിക്കുന്നതുമെല്ലാം (Process) DATA ആണ്... ഉപയോക്താവിൽ നിന്നും നാം കീബോർഡ് വഴിയോ മൗസ് വഴിയോ മറ്റോ ഇൻപുട്ട് സ്വീകരിക്കുന്നു, അതിനെ വിശകലനം ചെയ്ത് അപഗ്രഥിച്ച ശേഷം ഔട്ട്പുട്ട് നൽകുന്നു... ഇപ്രകാരം ഡാറ്റ സ്വീകരിച്ച് വിശകലനം ചെയ്യുന്നതിന്റെ എളുപ്പത്തിനായി ഡാറ്റയെ വിവിധ വിഭാഗങ്ങളായി തരം തിരിച്ചിട്ടുണ്ട്... ഓരോ വിഭാഗവും ഓരോ ഉപയോഗത്തിനുപകരിക്കുന്നു...
ആദ്യമായി നമുക്ക്  സ്ട്രിംഗ് (String) എന്ന ഡാറ്റാ ടൈപ്പിനെ പരിചയപ്പെടാം. മുകളിലെ കോഡുകളിൽ നാം അക്ഷരങ്ങളായോ വാക്യങ്ങളായോ കൊടുത്തിട്ടുള്ളവയെല്ലാം string കളാണ്. ഉദാഹരണത്തിന്

print “Hello World !”   എന്ന കോഡിലെ പ്രിന്റ് എന്നതിനു ശേഷം ഉദ്ധരണിക്കുള്ളിൽ 
കൊടുത്തിരിക്കുന്ന വാക്യം ഒരു സ്ട്രിംഗ് ആണ്...
അടുത്തതായി പഠിക്കുന്ന ഡാറ്റാടൈപ്പ് ഇന്റീജർ (Integer) ആണ്...
ദശാംശമില്ലാത്ത എല്ലാ പൂർണ്ണ സംഖ്യകളേയും സൂചിപ്പിക്കാൻ ഇന്റീജർ ഉപയോഗിക്കുന്നു... ഉദാ

print 9 എന്ന കോഡിലെ 9 ഒരു ഇന്റീജറാണ്...
അടുത്തത് ഫ്ലോട്ട് ആണ് (Float)
ദശാംശ സംഖ്യകളെ സൂചിപ്പിക്കാനാണ് ഫ്ലോട്ട് ഉപയോഗിക്കുന്നത്...

print 9.54  എന്നെഴുതിയാൽ അതിലെ 9.54 ഫ്ലോട്ട് ആണ്...
തുടക്കത്തിൽ മൂന്നു ഡാറ്റാ ടൈപ്പുകൾ മാത്രം പഠിച്ചാൽ മതി... ബാക്കിയുള്ളവ പഠനം പുരോഗമിക്കുന്ന മുറയ്ക്ക് പഠിക്കാം...

വേരിയബിൾ (Variable)
അടുത്തതായി നമുക്ക് വേരിയബിൾ എന്നാൽ എന്താണെന്ന് പഠിക്കാം...
ഈ ഭാഗത്തിൽ ആദ്യം നാം ഹലോ വേൾഡ് എന്നു പ്രിന്റ് ചെയ്യുന്ന പ്രോഗ്രാം എഴുതിയിരുന്നു... നമുക്ക് ഹലോ വേൾഡ് എന്ന് ഒരു തവണയാണ് ആ കോഡ് ഉപയോഗിച്ച് പ്രിന്റ് ചെയ്യാൻ കഴിഞ്ഞത്... എന്നാൽ നമ്മുടെ പ്രോഗ്രാമിൽ പലയിടത്തായി പല തവണ നമുക്ക് ഹലോ വേൾഡ് എന്ന് പ്രിന്റ് ചെയ്യേണ്ടി വരുമ്പോളോ... ? എല്ലാ സ്ഥലത്തും print “Hello World !”  എന്നു കോഡെഴുതുക എന്നത് മുഷിപ്പൻ പണിയല്ലേ... അപ്പോൾ ഈ ഹലോ വേൾഡ് എന്ന വാക്കിനെ തൽക്കാലത്തെ ആവശ്യത്തിനായി എവിടെയെങ്കിലും സൂക്ഷിച്ചു വെച്ചാൽ നന്നായിരിക്കും... അതിനു വേറേ സ്ഥലമൊന്നും നോക്കണ്ട, കമ്പ്യൂട്ടറിന്റെ മെമ്മറിയിൽ(RAM) തന്നെ സൂക്ഷിച്ചു വെയ്ക്കാം... കമ്പ്യൂട്ടറിൽ പ്രവർത്തിക്കുന്ന പ്രോഗ്രാമുകളിലെ ഡാറ്റ സംഭരിച്ചു വെയ്ക്കൽ എന്നത് മെമ്മറിയുടെ മുഖ്യ ജോലിയാണ്... മെമ്മറി എന്നതിനെ നിറയെ അറകളുള്ള ഒരു വലിയ അലമാരയായി സങ്കല്പിക്കുക... 
ചിത്രം 4
ഇതാ, ഈ ചിത്രത്തിൽ കാണുന്ന അലമാരയെ മെമ്മറിയായി സങ്കല്പിച്ചു നോക്കൂ... ഇതിൽ ഒരു അറയിൽ നമുക്ക് ഹലോ വേൾഡ് എന്ന വാക്കിനെ അഥവാ സ്ട്രിംഗിനെ സൂക്ഷിക്കണം... പക്ഷേ സൂക്ഷിച്ചാൽ മാത്രം പോരല്ലോ... ആവശ്യം വരുമ്പോൾ എടുക്കുകയും വേണം... ചിത്രത്തിൽ കാണുന്ന അലമാരിയിലെ അറകൾക്ക് ഓരോ നമ്പർ രേഖപ്പെടുത്തിയിട്ടുണ്ട്... കമ്പ്യൂട്ടറിലെ മെമ്മറിയിലെ ഓരോ സെക്ടറിനും ഇങ്ങനെ അഡ്രസ്സുണ്ട്...  ഉദാ : 0x9FFFF
ഒന്നാലോചിച്ചു നോക്കൂ ഇത്തരം അഡ്രസ്സുകൾ നമുക്ക് ഓർത്തു വെയ്ക്കുവാൻ സാധിക്കുമോ... ഇതു ചെറുതാണ്, ഇതിലും വലുതാണ് സാധാരണ മെമ്മറി അഡ്രസ്സുകൾ...  അതിനാൽ നമ്മുടെ സ്ട്രിംഗിനെ സൂക്ഷിച്ചു വെയ്ക്കുവാൻ നമുക്കൊരു വേരിയബിൾ അഥവാ മെമ്മറിയിലെ ഒരു അറ വേണം, ആ അറയ്ക്കൊരു പേരും വേണം... അറയുടെ പേര് എന്നാൽ വേരിയബിളിന്റെ പേര്...
ഉദാ: my_string = “Hello World !”
എന്തെങ്കിലും മനസ്സിലായോ ? പറഞ്ഞു തരാം... ഇവിടെ my_string എന്നത് വേരിയബിളിന്റെ പേരാണ്... “Hello World !” എന്നത് നമ്മുടെ സ്ട്രിംഗും... പ്രോഗ്രാം എഴുതുമ്പോൾ തുടക്കത്തിൽ ഇങ്ങനെ വേരിയബിളിന്റെ പേരും ആ വേരിയബിളിൽ നാം സൂക്ഷിക്കാനുദ്ദേശിക്കുന്ന ഡാറ്റയും എഴുതിക്കൊടുത്താൽ കമ്പ്യൂട്ടറിന്റെ മെമ്മറിയിൽ അതു സ്ഥാനം പിട്ഇച്ചു കൊള്ളും... ഇനി നമ്മുടെ പ്രോഗ്രാമിൽ എവിടെയൊക്കെ “Hello World !” എന്നു പ്രിന്റ് ചെയ്യേണ്ടി വരുമോ, അവിടെയൊക്കെ my_string ഉപയോഗിച്ചാൽ മതി... ഉദാഹരണം നോക്കാം... (ചിത്രം 5)

ചിത്രം 5
 ചിത്രം കണ്ടല്ലോ... ഈ പ്രോഗ്രാമിലെ ആദ്യവരിയിൽ നിന്നു തന്നെ കമ്പ്യൂട്ടർ മനസ്സിലാക്കി, my_string എന്നാൽ “Hello World !” എന്നാണെന്ന്...
അതുകൊണ്ടാണ് അടുത്ത വരിയിൽ വെറുതേ my_string എന്നു ടൈപ്പു ചെയ്തപ്പോൾ തന്നെ “Hello World !” എന്നു പ്രിന്റ് ചെയ്തത്... ഇപ്പോൾ ഒരു വേരിയബിൾ എന്താണെന്നും അതിൽ ഡാറ്റ സൂക്ഷിക്കുന്നത് എങ്ങനെയാണെന്നും മനസ്സിലായില്ലേ... ഇനി വേരിയബിളിനു പേരു നൽകുന്നതിനെപ്പറ്റി ചില കാര്യങ്ങൾ സൂചിപ്പിക്കാം...

പൈത്തണിൽ എന്നല്ല ഏതു ഭാഷയിലായാലും വേരിയബിളിനു പേരു നൽകുമ്പോൾ അവ സ്വയം വിശദീകരിക്കുന്നവ അഥവാ self explanatory ആയിരിക്കാൻ ശ്രദ്ധിക്കുക... ഉദാഹരണത്തിന് ഉപയോക്താവിൽ നിന്ന് കുറച്ചു സംഖ്യകൾ ഇൻപുട്ട് ആയി വാങ്ങിയ ശേഷം അവയുടെ ശരാശരി ഔട്ട്പുട്ടായി നൽകുന്ന ഒരു പ്രോഗ്രാം രചിക്കുന്നു എന്നു കരുതുക... അപ്പോൾ സ്വീകരിക്കുന്ന ഇൻപുട്ടിനെ ഒരു വേരിയബിളിൽ സൂക്ഷിക്കണം, ശരാശരി സംഖ്യയെ വേറൊരു വേരിയബിളിൽ സൂക്ഷിക്കണം...  ഈ വേരിയബിളുകൾക്ക് പേരു വേണമെങ്കിൽ a എന്നോ b എന്നോ x എന്നോ y എന്നോ ഒക്കെ ഇടാം... പക്ഷേ അതത്ര നല്ല രീതിയല്ല... പ്രോഗ്രാം എഴുതിയിരിക്കുന്നതു കണ്ടാൽ തന്നെ മറ്റൊരാൾക്ക് ആ പ്രോഗ്രാം മനസ്സിലാകത്തക്ക രീതിയിൽ വേണം പേരു നൽകാൻ...  ഉദാ: user_input, average_no എന്നിങ്ങനെ...  ഇപ്പോൾ തോന്നുന്നുണ്ടാവും എന്തിനാണാവോ ഈ വേരിയബിളിന്റെ ഇടയിൽ അണ്ടർ സ്കോർ ചിഹ്നം (‌‘_’) കൊടുത്തിരിക്കുന്നതെന്ന്... കാരണമുണ്ട്, വേരിയബിളിന്റെ പേരിനിടയിൽ സ്പേസ് അഥവാ ശൂന്യസ്ഥലം പാടില്ല... അതൊഴിവാക്കാനാണ് അണ്ടർ സ്കോർ ഉപയോഗിക്കുന്നത്...
വിവിധ തരം ഡാറ്റാ ടൈപ്പുകളും വേരിയബിളുകളും ഉപയോഗിച്ചുള്ള വിശദമായ പഠനം അടുത്ത ഭാഗത്തിലാകാം...

                                                        ----തുടരും




Saturday, November 8, 2014

പാഠം 1

പ്രോഗ്രാമിംഗിനെ അടുത്തറിയുക എന്നതാണ് ലേഖനം ലക്ഷ്യമിടുന്നത്. എന്തിനാണു ഞാൻ പ്രോഗ്രാമിംഗ് പഠിക്കുന്നത് എന്നൊരു ചോദ്യം നിങ്ങളുടെയുള്ളിൽ ഉദിച്ചേക്കാം...  അതിനുത്തരമായി എന്റെയൊരു അനുഭവം ആദ്യം പങ്കുവെയ്ക്കാം...  കമ്പ്യൂട്ടറിൽ മലയാളം ടൈപ്പ് ചെയ്യുക എന്നതായിരുന്നു എനിക്ക് കിട്ടിയ ആദ്യ കമ്പ്യൂട്ടർ ജോലി...  നാട്ടുനടപ്പുള്ള ISM GIST ഉപയോഗിക്കാതെ ഞാൻ കീമാൻ ഉപയോഗിച്ചുള്ള ഫോണെറ്റിക് ടൈപ്പിംഗ് രീതിയാണ് സ്വീകരിച്ചത്...  മലയാളത്തിലെ അക്ഷരങ്ങളുടെ ഉച്ചാരണത്തിനു സമമായ ഇംഗ്ലീഷ് അക്ഷരങ്ങളുടെ കീ അമർത്തിയാൽ പ്രസ്തുത അക്ഷരം വരും എന്നതാണ് ഫോണെറ്റിക് രീതിയുടെ പ്രത്യേകത... നിങ്ങളിൽ പലരും ഇന്റർനെറ്റിൽ ടൈപ്പ് ചെയ്യാൻ ഫോണെറ്റിക് രീതി ഉപയോഗിക്കുന്നുണ്ടാവും... ISM GISTഉപയോഗിച്ചുള്ള രീതിയേക്കാൾ വളരെ എളുപ്പമാണിത്... കീ വിന്യാസങ്ങളൊന്നും മന:പാഠമാക്കേണ്ടതില്ല... വളരെക്കാലം തൃപ്തികരമായി ഞാൻ കീമാൻ ഉപയോഗിച്ച് ജോലി നിർവ്വഹിച്ചു പോന്നു... വിൻഡോസ് എക്സ് പി യിൽ മാത്രമേ കീമാൻ നല്ല സേവനം അനുഷ്ഠിക്കുകയുള്ളൂ... കാലം പോയപ്പോൾ എനിക്ക് വിൻഡോസ് 8 ലേക്ക് ചുവടു മാറ്റേണ്ടി വന്നു... ഫലമോ കീമാൻ ഉപയോഗശൂന്യമായി... പക്ഷേ ഞാൻ വിൻ 8 നു പറ്റുന്ന പുതിയൊരു ടൂൾ കണ്ടെത്തി... അതായിരുന്നു കീമാജിക്... ബർമ്മക്കാരായ ഒരു സംഘം പ്രോഗ്രാമേഴ്സ് തങ്ങളുടെ ഭാഷയിൽ ടൈപ്പ് ചെയ്യാൻ വേണ്ടി വികസിപ്പിച്ച ഓപ്പൺ സോഴ്സ് സോഫ്റ്റ്വെയറായിരുന്നു അത്... ബുദ്ധിമാന്മാരായ അവർ, അതിൽ തങ്ങളുടെ ഭാഷയ്ക്കൊപ്പം മറ്റേത് ഭാഷയും കൂട്ടിച്ചേർക്കാവുന്ന തരത്തിലായിരുന്നു അതു നിർമ്മിച്ചത്... എന്നിട്ട് അവർ അത് ഓപ്പൺ സോഴ്സ് പ്രൊജക്ടുകളുടെ കലവറയായ ഗൂഗിൽ പ്രൊജക്ടിൽ അപ്ലോഡ് ചെയ്തു...  മലയാളിയായ പ്രോഗ്രാമർ ജുനൈദ് അതു കണ്ടെത്തി അതിലേക്ക് മലയാള ഭാഷയ്ക്കുള്ള കീമാപ്പ് വികസിപ്പിച്ചെടുത്തതോടെ കീമാജിക് മലയാളം പിറവി കൊണ്ടു... ജുനൈദും സുഹൃത്തുക്കളും വിശദമായ ചർച്ചകളിലൂടെയാണ് കീമാപ്പ് വികസിപ്പിച്ചതെങ്കിലും അതിൽ ചെറിയ ചില ബഗ്ഗുകൾ ഉണ്ടായിരുന്നു... കീമാജിക് ഉപയോഗിച്ച് കുറച്ചു നാൾ ടൈപ്പ് ചെയ്ത ശേഷമാണ് എനിക്കതു പിടി കിട്ടിയത്... നമ്മൾ ഏതെങ്കിലും വാക്ക് ടൈപ്പു ചെയ്ത ശേഷം അതു വേണ്ട എന്നു തീരുമാനിച്ച് പാതി ഡിലീറ്റ് ചെയ്താൽ നമുക്ക് അതിനോട് കൂട്ടിച്ചേർത്ത് ഒന്നു ടൈപ്പ് ചെയ്യാനാവില്ല...  ചെയ്താൽ ശരിയാവില്ല...  അക്ഷരങ്ങൾ കൂടിക്കലരുമായിരുന്നു...  ഉദാഹരണത്തിനുഎന്ന അക്ഷരം ടൈപ്പു ചെയ്തു എന്നിരിക്കട്ടെ, (g+h = )... ഡിലീറ്റ് കീ ഒരു തവണ പ്രെസ്സ് ചെയ്താൽ അക്ഷരംഗ്എന്നായി മാറും... ഒന്നുകൂടി ഡിലീറ്റ് കീ പ്രെസ്സ് ചെയ്താൽഗ്യും അപ്രത്യക്ഷമാകും... സ്ക്രീനിൽ ഒന്നുമില്ല... അപ്പോൾ നാംഹ് ‘(h) എന്ന കീ പ്രസ്സ് ചെയ്താൽ സ്ക്രീനിൽഘ്എന്ന അക്ഷരമായിരിക്കും വരിക...  അല്ലാതെഹ്ആയിരിക്കില്ല... പിന്നെ അതു മുഴുവൻ ഡിലീറ്റ് ചെയ്താൽ മാത്രമേ നമുക്ക് ടൈപ്പിംഗ് തുടരാൻ സാധിക്കൂ... ‘,,,അംതുടങ്ങിയവയ്ക്കൊക്കെ പ്രശ്നമുണ്ടായിരുന്നു... കുറച്ചു നാൾ കീമാജിക് ഉപയോഗിച്ചു കഴിഞ്ഞപ്പോൾ എനിക്കിത് വളരെ ദുസ്സഹമായിത്തോന്നി...  ഞാൻ ജുനൈദിനൊരു പരാതി അയച്ചു... ഇതൊന്നു ശരിപ്പെടുത്തി തരാൻ പറഞ്ഞു കൊണ്ട്...  പക്ഷേ ജോലിത്തിരക്കിലായിരുന്ന ജുനൈദിന് സമയമുണ്ടായിരുന്നില്ല... പക്ഷേ ഭാഷാസ്നേഹിയായ സുഹൃത്ത് കീമാജിക്കിന്റെ കീമാപ്പ് എഡിറ്റ് ചെയ്യാമെന്നും അതിനുള്ള കുഞ്ഞു പ്രോഗ്രാം ഗൂഗിൽ പ്രൊജക്ടിൽ ഉണ്ടെന്നും എളുപ്പത്തിനായി താൻ ഡിസൈൻ ചെയ്ത് കീമാപ്പിന്റെ സോഴ്സ് കോഡ് ഇതോടൊപ്പം അയയ്ക്കുന്നു എന്നും പറഞ്ഞ് എനിക്കു മറുപടി അയച്ചു... അതായത് എനിക്കു വേണമെങ്കിൽ എന്റേതായ ഒരു കീമാപ്പ് ഉണ്ടാക്കി ഉപയോഗിക്കാമെന്ന്...  സംഭവത്തിന്റെ സാദ്ധ്യത മനസ്സിലാക്കിയ ഞാൻ ഉടൻ തന്നെ ടുൾ ഡൗൺലോഡ് ചെയ്ത് പ്രവർത്തനമാരംഭിച്ചു... പക്ഷേ അതു കണ്ടതും ഞാൻ ഞെട്ടിപ്പോയി... പ്രോഗ്രാമിംഗ് ഭാഷകളിലെ മുടിചൂടാ മന്നനായ C++ ആയിരുന്നു അതിൽ ഉപയോഗിച്ചിരുന്നത്... ഇത്തരം കീബോർഡ് പ്രോഗ്രാമുകൾക്ക് ഭാഷയാണ് ഏറ്റവും ഉചിതവും...  പക്ഷേ അതിന്റെ സിന്റാക്സ് ദുർഗ്രഹമായിരുന്നു...  എനിക്കാണെങ്കിൽ പൈത്തണിലും വിബിയിലുമുള്ള അല്പജ്ഞാനം മാത്രമേ മുതൽക്കൂട്ടായുണ്ടായിരുന്നുള്ളൂ... എങ്കിലും ഞാൻ നിരാശനായില്ല...  നെറ്റിൽ നിന്നും C++ ട്യൂട്ടോറിയലുകൾ എടുത്ത് അടിസ്ഥാനപരമായ കാര്യങ്ങൾ ഒന്നു മനസ്സിലാക്കി...  അമ്പാസിഡർ കാർ ഓടിച്ചയാൾക്ക് ഏതു കാറും ഓടിക്കാമെന്ന് പണ്ടു പറഞ്ഞിരുന്നതു പോലെ എടുത്താൽ പൊങ്ങാത്ത C++ ഞാൻ കൈകാര്യം ചെയ്തു... പിന്നീട് കീമാജികിന്റെ കീമാപ്പ് എഡിറ്റർ ഉപയോഗിച്ച് ഞാൻ ജുനൈദിന്റെ കീമാപ്പ് എഡിറ്റ് ചെയ്ത് എനിക്കാവശ്യമായ മാറ്റങ്ങൾ വരുത്തി... ആറോ ഏഴോ തവണത്തെ പരിശ്രമത്തിനു ശേഷം എന്റേതായ കീമാപ്പ് വിജയകരമായി ഞാൻ ഡിസൈൻ ചെയ്തു... ഇപ്പോൾ എന്റെ പക്കലുള്ള കീമാജിക്ക് ഉപയോഗിച്ച് വളരെ എളുപ്പം ടൈപ്പ് ചെയ്യാം...  ഡിലീറ്റ് ചെയ്താലോ ബാക് സ്പേസ് അമർത്തിയാലോ അക്ഷരങ്ങൾ കൂടിക്കുഴയില്ല... വളരെ എളുപ്പം... ഞാൻ നിർമ്മിച്ച കീമാപ്പിന്റെ സോഴ്സ് കോഡ് ഗിറ്റ് ഹബ് എന്ന വെബ്സൈറ്റിൽ പങ്കു വെയ്ക്കണമെന്ന് ജുനൈദ് ആവശ്യപ്പെട്ടെങ്കിലും സമയ പരിമിതി മൂലം എനിക്കത് സാധിച്ചിട്ടില്ല...  ഉടനെ തന്നെ അതു ഞാൻ ചെയ്യുന്നതായിരിക്കും... ഇത്രയും നീണ്ട കഥ പറഞ്ഞതിന്റെ ഉദ്ദേശം പ്രോഗ്രാമിംഗ് അറിഞ്ഞിരുന്നാൽ (മുഴുവനായല്ലെങ്കിലും) കമ്പ്യൂട്ടർ ജോലികളിൽ നമുക്കുണ്ടാവുന്ന നേട്ടങ്ങളെപ്പറ്റിയാണ്... മറ്റു ചില പ്രയോജനങ്ങൾ ഇവയൊക്കെയാണ്...

  • നമ്മുടെ കമ്പ്യൂട്ടറിന്മേൽ നമുക്ക് പൂർണ്ണ നിയന്ത്രണം കൈവരിക്കാം...
  • മറ്റുള്ളവർ പൊതു ആവശ്യങ്ങൾക്കായി ഡിസൈൻ ചെയ്ത സോഫ്റ്റ്വെയറുകൾ ഉപയോഗിക്കുന്നതിനു പകരം സ്വന്തം സോഫ്റ്റ്വെയറുകൾ നിർമ്മിച്ച് ഉപയോഗിക്കാം...
  • വളരെയധികം മാനസികോല്ലാസം നൽകുന്ന ഒരു ബ്രെയിൻ ഗെയിമാണ് പ്രോഗ്രാമിംഗ്...
  • പണച്ചിലവില്ലാത്ത ഒരു ഹോബിയും കൂടിയാണ് പ്രോഗ്രാമിംഗ്...
  • കാര്യങ്ങൾ വിശകലനം ചെയ്യാനും പ്രശ്നങ്ങൾ നിർദ്ധാരണം ചെയ്യാനുമുള്ള നമ്മുടെ കഴിവിനെ പ്രോഗ്രാമിംഗ് ഉത്തേജിപ്പിക്കുന്നു...  
ആദ്യമായി എന്താണ് പ്രോഗ്രാമിംഗ് എന്നു നോക്കാം. കണക്കുകൂട്ടലിൽ കൃത്യതയുള്ളതും അതിവേഗതയുള്ളതും എന്നാൽ ബുദ്ധിയില്ലാത്തതുമായ യന്ത്രമാണല്ലോ കമ്പ്യൂട്ടർ. ബുദ്ധിയില്ലാത്തതിനാൽ കമ്പ്യൂട്ടറിനെക്കൊണ്ട് എന്തെങ്കിലും ചെയ്യിക്കണമെങ്കിൽ പടിപടിയായി പറഞ്ഞുകൊടുക്കേണ്ടതുണ്ട്. ഇപ്രകാരം കാര്യസാദ്ധ്യത്തിനായി കമ്പ്യൂട്ടറിനു നൽകുന്ന നിർദ്ദേശങ്ങളുടെ കൂട്ടത്തിനെ പ്രോഗ്രാം എന്നു പറയാം. പ്രോഗ്രാം എഴുതുന്നതിനെ പ്രോഗ്രാമിംഗ് എന്നും പറയാം. കമ്പ്യൂട്ടറിനു കാര്യങ്ങൾ പറഞ്ഞു കൊടുക്കാൻ കമ്പ്യൂട്ടറിനു മനസ്സിലാകുന്ന ഭാഷ തന്നെ ഉപയോഗിക്കേണ്ടതുണ്ട്. ഇത്തരം ഭാഷകൾ രണ്ടു തരമുണ്ട്. ഒന്ന് അസംബ്ലി ലാംഗ്വേജ്, രണ്ട് ഹൈലെവൽ ലാംഗ്വേജ്. സാധാരണ കമ്പ്യൂട്ടറിൽ പ്രവർത്തിക്കാനുള്ള സോഫ്റ്റ്വെയറുകൾ ഉണ്ടാക്കിയെടുക്കുന്നത് ഹൈലെവൽ ഭാഷ ഉപയോഗിച്ചാണ്. പക്ഷേ ഹൈലെവൽ ഭാഷയിൽ നാം കമ്പ്യൂട്ടറിനു പറഞ്ഞു കൊടുക്കുന്ന കാര്യങ്ങൾ വാസ്തവത്തിൽ അതിനു മനസ്സിലാവുകയില്ല. അത് മനസ്സിലാക്കിക്കൊടുക്കുന്ന പണി അസംബ്ലി ലാംഗ്വേജ് ചെയ്തു കൊള്ളും. എങ്കിൽ പിന്നെ അസംബ്ലി ഭാഷ പഠിച്ചാലെന്താ എന്നു തോന്നുന്നുണ്ടായിരിക്കും അല്ലേ..? ആദ്യം നമുക്ക് ഇരുന്നിട്ട് കാലു നീട്ടാം. അതാണു നല്ലത്. പ്രോഗ്രാമിംഗ് ഭാഷകളിൽ ഏറ്റവും ലളിതവും സരളവും ആയ ഒന്നാണ് പൈത്തൺ. നാം പഠിക്കാൻ പോകുന്ന ഭാഷയും പൈത്തണാണ്. 1992 ആണ് പൈത്തണിന്റെ പിറവി. ഹോളണ്ട് സ്വദേശിയായ ഗ്വിഡോ വാൻ റോസ്സം ആണ് സ്രഷ്ടാവ്. ചെറുപ്പത്തിൽ ഇലക്ട്രോണിക് ഹോബിയിസ്റ്റ് ആയിരുന്നു കക്ഷി. സ്വന്തമായി ഒരു ഇലക്ട്രോണിക് കാൽകുലേറ്റർ ഉണ്ടാക്കുക എന്നതായിരുന്നു അക്കാലത്ത് അദ്ദേഹത്തിന്റെ ആഗ്രഹം. പതിനെട്ടാം വയസ്സിലാണ് ഇദ്ദേഹം ആദ്യമായി ഒരു കമ്പ്യൂട്ടർ കാണുന്നതു തന്നെ. ആംസ്റ്റെർഡാം യൂണിവേഴ്സിറ്റിയിൽ ഗണിതശാസ്ത്ര വിദ്യാർത്ഥിയായി ചേർന്നപ്പോഴായിരുന്നു അത്. പഠനത്തിനു ശേഷം പാസ്കൽ എന്ന പ്രോഗ്രാമിംഗ് ഭാഷ പഠിച്ചു കൊണ്ട് തുടങ്ങിയ അദ്ദേഹം കുറച്ചു നാളുകൾക്കുള്ളിൽ അനവധി പ്രോഗ്രാമിംഗ് ഭാഷകളും അസംബ്ലി ഭാഷയും പഠിച്ചു. പിൽക്കാലത്ത് CWI എന്ന പേരിലറിയപ്പെട്ട കമ്പനിയിൽ ജോലി ചെയ്യവേ ആണ് പൈത്തൺ എന്ന ഭാഷയുടെ പിറവിക്കാധാരമായ ചിന്തകൾ അദ്ദേഹത്തിൽ ഉടലെടുക്കുന്നത്. പൈത്തൺ എന്ന പേരിന്റെ പിന്നിൽ പൈത്തൺ എന്ന ഭീമൻ പാമ്പിന് ഒരു പങ്കും ഇല്ല. സത്യത്തിൽ അത് മോണ്ടി പൈത്തൺസ് ഫ്ലൈയിംഗ് സർക്കസ് എന്ന ഹാസ്യപരിപാടി സംഘത്തിന്റെ പേരിൽ നിന്ന് കടമെടുത്തതാണ്. അക്കാലത്ത് അദ്ദേഹത്തിന് ഏറ്റവും ഇഷ്ടമുണ്ടായിരുന്ന പരിപാടിയായിരുന്നു അത്. 1989 ഡിസംബറിൽ തുടങ്ങി 1990 ജനുവരിയിൽ അദ്ദേഹം പൈത്തണീന്റെ ആദ്യ പതിപ്പ് പൂർത്തിയാക്കി. അവിടുന്നിങ്ങോട്ട് പൈത്തണിന്റെ വിജയഗാഥ തുടങ്ങുകയായിരുന്നു. എന്താണ് പൈത്തണിന്റെ വിജയരഹസ്യം..? ഇതര പ്രോഗ്രാമിംഗ് ഭാഷകളെ അപേക്ഷിച്ച് ലളിതവും പഠിക്കാൻ എളുപ്പവും ആണെന്നതാണ് ഒന്നാമത്തെ മേന്മ. അതേ സമയം തന്നെ പൈത്തൺ ഉപയോഗിച്ച് ശക്തിമത്തായതും സുരക്ഷയേറിയതുമായ ആപ്ലിക്കേഷനുകൾ നിർമ്മിക്കാമെന്നതാണ് രണ്ടാമത്തെ മേന്മ. വിൻഡോസ് ആയാലും ലിനക്സ് ആയാലും പ്രവർത്തിക്കും എന്നത് മറ്റൊരു മേന്മ. വെബ് ആപ്ലിക്കേഷനുകൾ, സ്ക്രിപ്റ്റിംഗ്, സെർവർ സൈഡ് ആപ്ലിക്കേഷനുകൾ എന്നിവിടങ്ങളിലെല്ലാം പൈത്തൺ വെന്നിക്കൊടി പാറിക്കുകയാണ്. പ്രോഗ്രാമിംഗിന്റെ ബാലപാഠം പോലും അറിയാത്ത ഒരു നവാഗതനു പോലും എളുപ്പം മനസ്സിലാക്കാവുന്ന ശൈലിയാണ് പൈത്തണിന്റേത്. മുഖവുര ഒരല്പം നീണ്ടുപോയെന്നറിയാം. മുഷിയാതെ നമുക്ക് പൈത്തൺ ഒന്നാം പാഠത്തിലേയ്ക്കൂ കടക്കാം.
പൈത്തൺ പാഠം1
പൈത്തൺ ഭാഷ എഴുതുന്നതിനായി നമുക്ക് പൈത്തണിന്റെ ഐഡിൽ (IDLE) ഡൗൺലോഡ് ചെയ്യാം.
പൈത്തണിന്റെ ഔദ്യോഗിക വെബ്സൈറ്റായ http://www.python.org/യിൽ നിന്ന് നിങ്ങൾക്ക് പൈത്തൺ IDLE സൗജന്യമായി ഡൗൺലോഡ് ചെയ്യാം. ഏറ്റവും പുതിയ വെർഷൻ 3.4 ആണെങ്കിലും സ്റ്റേബിൾ വെർഷൻ എന്ന നിലയ്ക്ക് നമ്മൾ ഇവിടെ പൈത്തൺ 2.7.8 ആണ് ഉപയോഗിക്കുന്നത്. ഡൗൺലോഡ് പേജിൽ നിന്ന് പൈത്തൺ 2.7.8 തിരഞ്ഞെടുക്കുക...  ആകെ 16 എം ബി യിൽ താഴെയേ സൈസ് ഉണ്ടാവുകയുള്ളൂ...

ഡൗൺലോഡ് ലിങ്കിൽ നിന്നും പൈത്തൺ 2.7.8 തിരഞ്ഞെടുക്കുക...
ഡൗൺലോഡ് പൂർത്തിയായ ശേഷം റൺ ചെയ്യുക...

X മാർക്ക് കാണുന്ന ഭാഗത്ത് ക്ലിക്ക് ചെയ്ത് Install Entire Features എന്ന ഓപ്ഷൻ തിരഞ്ഞെടുക്കുക...


ഇൻസ്റ്റളേഷൻ തുടരുന്നു...
ഫിനിഷ് അമർത്തുക... ഇനി സ്റ്റാർട്ട് മെനുവിൽ നിന്ന് Python GUI തിരഞ്ഞെടുക്കുക... അപ്പോൾ പൈത്തൺ ഷെൽ ഓപ്പണാവും...
ഇതാ ചിത്രത്തിൽ കാണുന്നതാണ് പൈത്തൺ IDLE.  മൂന്ന് അമ്പടയാളം കാണുന്നതിന്റെ വലതുവശത്തു നിന്നാണ് നാം കോഡ് ടൈപ്പ് ചെയ്യേണ്ടത്. നിങ്ങൾ ഇൻസ്റ്റാൾ ചെയ്ത പൈത്തൺ വെർഷൻ ഭംഗിയായി വർക്ക് ചെയ്യുന്നുണ്ടോ എന്നറിയാൻ അതിൽ ക്ലിക്ക് ചെയ്ത് 2+2 എന്നു ടൈപ്പ് ചെയ്ത് എന്റർ അമർത്തുക. തൊട്ടു താഴെയായി 4 എന്നുത്തരം ലഭിക്കുന്നുണ്ടെങ്കിൽ എല്ലാം ശരിയായി തന്നെ നടന്നിട്ടുണ്ട്. ഇല്ലായെങ്കിൽ വീണ്ടും ഇൻസ്റ്റാൾ ചെയ്യാൻ ശ്രമിക്കുക.

പൈത്തൺ IDLE ഒരു കാൽക്കുലേറ്ററായും ഉപയോഗിക്കാമെന്നു മനസ്സിലായല്ലോ. പൈത്തണിൽ എങ്ങനെയാണു പ്രോഗ്രാം ചെയ്യുന്നതെന്ന് അടുത്ത പാഠത്തിൽ വിശദീകരിക്കാം...

                                                                ------ തുടരും