2010, ഓഗസ്റ്റ് 21, ശനിയാഴ്‌ച

പ്രോഗ്രാമെഴുത്ത് ഭാഗം 2 എന്താണ് പ്രോഗ്രാം

പ്രോഗ്രാമെഴുത്ത് ഭാഗം 1 ആമുഖം

മുന്‍പേ പറഞ്ഞതുപോലെ ഈ സീരീസിലെ ഇരകള്‍ പ്രോഗ്രാമെഴുത്ത് അറിയാത്തവരാണല്ലോ.അതുകൊണ്ട് പ്രോഗ്രാം എഴുതാന്‍ പഠിക്കുന്നതിന് മുന്‍പ് എന്താണ് പ്രോഗ്രാം എന്നറിയണം.എന്തിനാണ് നമ്മള്‍ പ്രോഗ്രാം എഴുതുന്നത് എന്നറിയണം.

പ്രോഗ്രാം എന്നത് നമ്മള്‍ കമ്പ്യൂട്ടറിന് കൊടുക്കുന്ന നിര്‍ദേശങ്ങളാണ്.അതായത് എന്തൊക്കെയാണ് ചെയ്യേണ്ടത് ,എപ്പോഴാണ് ചെയ്യേണ്ടത് തുടങ്ങിയവ.കംപ്യൂട്ടറിന് സ്വന്തമായി ഒന്നും ആലോചിച്ച് ചെയ്യാന്‍ പറ്റില്ലല്ലോ.അപ്പോള്‍ നമ്മള്‍ എന്തെങ്കിലും ചെയ്യാന്‍ പറഞ്ഞാല്‍ മാത്രമേ അത് എന്തെങ്കിലും ചെയ്യൂ.

ഇനി എങ്ങിനെയാണ് ഈ നിര്‍ദേശങ്ങള്‍ കൊടുക്കുന്നത് എന്ന് നോക്കാം.എന്തായാലും ചുമ്മാ ഇംഗ്ലീഷില്‍ ടൈപ്പ് ചെയ്താല്‍ അതിന് മനസിലാകില്ല.കംപ്യൂട്ടറിന് മനസിലാകുന്നത് വൈദ്യുതിയുടെ ഏറ്റക്കുറച്ചിലുകളാണ്.അതായത് ബൈനറി ഭാഷ.വൈദ്യുതി ഉണ്ടെങ്കില്‍ അത് ഒന്നെന്നും ഇല്ലെങ്കില്‍ പൂജ്യം എന്നും മനസിലാകും.ഉദാഹരണമായി വൈദ്യുതിയില്‍ ഒരു പ്രത്യേകരീതിയില്‍ ഏറ്റക്കുറച്ചിലുകള്‍ ഉണ്ടായാല്‍ അതായത് 101001 എന്ന രീതിയില്‍ വന്നാല്‍ അത് ഒരു സങ്കലനം നടത്താനുള്ള നിര്‍ദേശമാണെന്ന് കംപ്യൂട്ടറിന് മനസിലാക്കാം.നിര്‍ദേശത്തിന് ശേഷം വരുന്ന സംഖ്യകളെ കൂട്ടി ഉത്തരം തരികയും ചെയ്യും.

പക്ഷേ ഒരു സാധാരണക്കാരന് ഇതുപോലെ എല്ലാ നിര്‍ദേശങ്ങളും ഒന്നിന്‍റെയും പൂജ്യത്തിന്‍റെയും രൂപത്തില്‍ പഠിച്ചുവയ്ക്കാന്‍ ഒരിക്കലും കഴിയില്ല.അതിലും ഭേദം ഒരു പേനയും പേപ്പറും എടുത്ത് കൂട്ടുന്നതാ.ഇവിടെയാണ് കംപൈലറുകളും,ഇന്‍റര്‍പ്രെറ്ററുകളും വരുന്നത്.ഇത് രണ്ടും എന്താണെന്ന് വിശദമായി പറഞ്ഞാല്‍ വെറുതെ കണ്‍ഫ്യൂഷന്‍ ആകും.അതുകൊണ്ട് ചുരുക്കി പറയാം.നാം ഇംഗ്ലീഷില്‍ എഴുതുന്ന നിര്‍ദേശങ്ങള്‍ മുന്‍പ് പറഞ്ഞ ബൈനറി ഭാഷയിലേക്ക് തര്‍ജിമ ചെയ്യുക അത്രമാത്രം.ബൈനറിയില്‍ കിട്ടിക്കഴിഞ്ഞാല്‍ പിന്നെ കംപ്യൂട്ടറിന് അത് ചെയ്യാം.സി ,ബേസിക് തുടങ്ങിയ പ്രോഗ്രാമെഴുത്ത് ഭാഷകളില്‍ എഴുതുന്ന എല്ലാതും ഇങ്ങനെ ബൈനറിയില്‍ ആക്കിയാണ് കമ്പ്യൂട്ടറില്‍ ഓടിക്കുന്നത്.ഇങ്ങനെ ബൈനറിയില്‍ ആക്കിയ നിര്‍ദേശങ്ങള്‍ നമുക്ക് ഒരു ഫയലായി സൂക്ഷിച്ചു വയ്ക്കാം.സാധാരണയായി അത് തിരിച്ചറിയുന്നത് അതിന്‍റെ എക്സ്റ്റെന്‍ഷന്‍ വച്ചാണ്.(.exe)

മുകളില്‍ പറഞ്ഞ ബേസിക്,സി തുടങ്ങിയ ഭാഷകള്‍ക്കും ഒരു കുഴപ്പമുണ്ട്.അതിന്‍റെ ഗ്രാമര്‍ അറിയാതെ എഴുതാന്‍ പറ്റില്ല.ഒരു സാധാരണക്കാരനു ഒരു ഫയല്‍ ഒരു സ്ഥലത്തുനിന്ന് മറ്റൊരു സ്ഥലത്തേക്ക് നീക്കണം എന്നൊരു ആവശ്യത്തിനുവേണ്ടി ഒരു പ്രോഗ്രാം എഴുതണം എന്നൊക്കെ പറഞ്ഞാല്‍ അത് നടക്കുന്ന കാര്യമല്ല.ഒരു ഫയല്‍ നീക്കുന്നതിന് വേണ്ടി ഒരാളും പ്രോഗ്രാമെഴുത്ത് പഠിക്കില്ല.അപ്പോള്‍ എന്തു ചെയ്യും.അവിടെയാണ് കമാന്‍റ് വിന്‍ഡോ അഥവാ ഷെല്ലിന്‍റെ പ്രസക്തി.

കമാന്‍റ് വിന്‍ഡോ എന്നത് ഒരു പ്രോഗ്രാമാണ്.അതിന്‍റെ ദൌത്യം നമ്മള്‍ പറയുന്ന ഒരു പ്രോഗ്രാമിനെ പ്രവര്‍ത്തിപ്പിക്കുക എന്നതാണ്.അടിസ്ഥാനപരമായ ആവശ്യങ്ങള്‍ നടത്തുവാനായ പ്രോഗ്രാമുകള്‍ അതായത് ഫയല്‍ കോപ്പി ചെയ്യുക.,ഡിലീറ്റ് ചെയ്യുക തുടങ്ങിയവ കമ്പ്യൂട്ടറില്‍ ഉണ്ടായിരിക്കും.നമുക്ക് അവയെ ഒന്ന് വിളിക്കുകയെ വേണ്ടൂ.അങ്ങനെ വിളിക്കുവനുള്ള സ്ഥലമാണ് കമാന്‍റ് വിന്‍ഡോ.വിന്‍ഡോസ് കംപ്യൂട്ടറാണ് ഉപയോഗിക്കുന്നതെങ്കില്‍ സ്റ്റാര്‍ട്ട് മെനുവില്‍ പോയി cmd എന്ന് ടൈപ്പ് ചെയ്തു എന്‍റര്‍ അടിച്ചാല്‍ കമാന്‍റ് വിന്‍ഡോ വരും.ഒരു കറുത്ത കളറില്‍.വിന്‍ഡോസ് 98 ആണെകില്‍ command എന്ന് തന്നെ ടൈപ്പ് ചെയ്യണം.

ഈ വിന്‍ഡോ വന്നുകഴിഞ്ഞാല്‍ പിന്നെ നമുക്ക് നിര്‍ദേശങ്ങള്‍ കൊടുക്കാം.ഉദാഹരണമായി dir എന്ന് കൊടുക്കുക.നിങ്ങളുടെ ഫോള്‍ടെറില്‍ ഉള്ള എല്ലാ ഫോള്‍ഡറുകളും ഫയലുകളും അവിടെ ലിസ്റ്റ് ചെയ്തു വരും.

ഇപ്പോള്‍ താഴെപ്പറയുന്ന കാര്യങ്ങള്‍ ഇത് വായിച്ചയാള്‍ക്ക് മനസിലായിക്കാണും

  1. കംപ്യൂട്ടറിന് ഒന്നും പൂജ്യവും ഉള്ള ബൈനറി ഭാഷ മാത്രമേ മനസിലാകൂ
  2. നമുക്ക് ബൈനറി ഭാഷ ബുദ്ധിമുട്ടായതിനാല്‍ നമ്മള്‍ ബേസിക് ,സി തുടങ്ങിയ ഇംഗ്ലീഷില്‍ എഴുതാവുന്ന ഭാഷകള്‍ ഉപയോഗിച്ച് പ്രോഗ്രാം എഴുതുന്നു.
  3. നമ്മള്‍ ബേസിക്,സി തുടങ്ങിയ ഭാഷകളില്‍ എഴുതിയ ഭാഷകള്‍ കംപൈലറുകളോ,ഇന്‍റര്‍പ്രെറ്ററുകളോ ഉപയോഗിച്ച് ബൈനറിയില്‍ ആക്കിയാലെ കമ്പ്യൂട്ടറില്‍ ഓടൂ.
  4. ബേസിക്,സി തുടങ്ങിയ ഭാഷകളില്‍ എഴുതി ബൈനറിയില്‍ ആക്കിയ പ്രോഗ്രാമുകള്‍ കമാന്‍റ് വിന്‍ഡോ എന്ന പ്രോഗ്രാമ്മില്‍ നിന്നും പേര് പറഞ്ഞു കൊടുത്താല്‍ ഓടിക്കം

ഇപ്പോള്‍ എന്‍റെ അടുത്ത് അടിസ്ഥാനപരമായ കാര്യങ്ങള്‍ ചെയ്യാനാവശ്യമായ പ്രോഗ്രാമുകള്‍ ഉണ്ട്.അത് ഓടിക്കേണ്ടത് എങ്ങിനെയെന്നും അറിയാം.നല്ലകാര്യം.പക്ഷേ ഒന്നിലധികം പ്രോഗ്രാമുകള്‍ ഒന്നിന് പിറകെ ഒന്നായി ഓടിക്കണമെങ്കില്‍ എന്തു ചെയ്യും? ഉദാഹരണം പറയുകയാണെങ്കില്‍ എന്നും രാവിലെ ബോസ് തരുന്ന ഫയലുകള്‍ എന്‍റെ താഴെ വര്‍ക്ക് ചെയ്യുന്നവര്‍ക്ക് കൃത്യമായി വീതിച്ചു കൊടുക്കണം. ഒരു ഐഡിയ എണ്ണി നോക്കി അങ്ങ് വീതിക്കുക.തെറ്റാന്‍ വളരെയധികം സാധ്യതയുള്ള ഒരു പരിപാടി.മറ്റൊരു ഐഡിയ ആണ് ഒരു ബാച്ച് ഫയല്‍ എഴുതിയിടല്‍.

എന്താണ് ബാച്ച് ഫയല്‍ (.bat)

കമാന്‍റ് വിന്‍ഡോയില്‍ നമ്മള്‍ ഒന്നിന് പുറകെ ഒന്നായി ഓടിക്കാന്‍ ഉദ്ദേശിക്കുന്ന കമാന്‍റുകളെ ഉള്‍കൊണ്ടിരിക്കുന്ന ഒരു ഫയലാണ് ബാച്ച് ഫയല്‍.കമാന്‍റ് വിന്‍ഡോയില്‍ നിന്നുകൊണ്ട് ബാച്ച് ഫയല്‍ ഓടിക്കാന്‍ പറഞ്ഞാല്‍ അതില്‍ ഉള്ള കമാന്‍റുകള്‍ ഓടിക്കുക എന്നാണ് അര്‍ഥം.കമാന്‍റുകള്‍ മാത്രമല്ല ബാച്ച് ഫയലുകള്‍ക്ക് ഉള്‍ക്കൊള്ളാനാകുക,അതെപ്പോള്‍ ഓടിക്കണം എന്നുകൂടെ പറഞ്ഞു വയ്ക്കാം.അതായത് വെള്ളിയാഴ്ച ആണെങ്കില്‍ മാത്രം ഈ കമാന്‍റ് ഓടിക്കുക തുടങ്ങിയ ചെറിയ കണ്ടിഷനുകള്‍‍.

എന്‍റെ കാര്യം പറയുകയാണെങ്കില്‍ ,ഞങ്ങള്‍ക്ക് എല്ലാദിവസവും ഒരു zip ഫയല്‍ വരും.അതിലുള്ള ഫയലുകള്‍ ചില നിര്‍ദിഷ്ട ഫോള്‍ഡറുകളില്‍ കൊണ്ട് ഇട്ടത്തിനുശേഷമേ പ്രോഗ്രാമെഴുത്ത് തുടങ്ങാന്‍ പറ്റൂ.അതുപോലെ ഓരോ ദിവസവും zip ഫയല്‍ വഴി അയച്ചു തരുന്ന പുതിയ ഡാറ്റബേസ് ഞങ്ങളുടെ കമ്പ്യൂട്ടറില്‍ കയറ്റുകയും വേണം.ഓരോന്നും ചെയ്യാന്‍ നിന്നാല്‍ ഒരു 2 മണിക്കൂര്‍ പോയിക്കിട്ടും.അതുകൊണ്ട് ഒരു ബാച്ച് ഫയല്‍ എഴുതിയിട്ടിരിക്കുന്നു.ചായ കുടിച്ചു വരുമ്പോഴേക്കും ഇവന്‍ എല്ലാം ശരിയാക്കിയിട്ടുണ്ടാകും.

കഴിഞ്ഞ പ്രാവശ്യം പറഞ്ഞത് ഇത്തവണ തുടങ്ങാം എന്നാണ്.എന്തായാലും തുടങ്ങിയേക്കാം.ദേ താഴെ കിടക്കുന്നു ഒരു ബാച്ച് ഫയലിലെ നിര്‍ദേശങ്ങള്‍.ഇത് കോപ്പി ചെയ്തു നോട്ട്പാഡില്‍ ഇട്ട് abc.bat എന്ന് സേവ് ചെയ്യുക.പിന്നെ abc.bat ഫയലില്‍  ഡബിള്‍ ക്ലിക്ക് അടിക്കുക.അപ്പോള്‍ കാണാം പൂരം.

@echo off
cls
set/p "name=Enter your name : "
set/p "choice=Enter a number between 1 & 20 : "
set /a Index = 0
cls
:start
echo Congrats %name%!!!You became a programmar...
set/a Index=Index+1
if not %choice% == %Index% goto :start