எந்தவொரு கணினி மொழியையும் எளிதாக கற்றுகொள்வதற்கான ஐந்து படிமுறைகள்

ஒருசிலர் புதிய நிரலாக்க(கணினி) மொழிகளைக் கற்க விரும்புகிறார்கள். வேறுசிலர் அவ்வாறு விரும்பவில்லை ஆயினும் அவ்வாறு கற்கவிரும்பாதவர்கள் கூட பின்வரும் ஐந்து படிமுறைகளை மட்டும் பின்பற்றி எளிதாக எந்தவொரு புதிய நிரலாக்க(கணினி) மொழியையும் கற்றுக் கொள்ள முடியும். இந்த கட்டுரையில், ஒரு நிரலாளரைப் போல எவ்வாறு சிந்திக்க வேண்டும் என்பதை காண்பிக்கப் படுகின்றது, இதன் மூலம் புதியவர்எவரும் எந்தவொரு நிரலாக்க(கணினி)மொழியையும் நம்பிக்கையுடன் கற்றுக்கொள்ள முடியும் என்பது திண்ணம்.
உண்மை என்னவென்றால், நாம் எவ்வாறு நிரலாக்கம் செய்வது எனும் படிமுறையை மட்டும் கற்றுக் கொண்டால், நிரலாக்கம் செய்வதற்காக நாம் பயன்படுத்துகின்ற கணினி மொழி ஒரு தடையாகவும் குறுக்கே நிற்காது ,மேலும் அதற்கான வழிமுறைகளும் மிகவும் குறைவாக மாறும் என்பது திண்ணம். உண்மையில், இளைஞர்களுக்கு ஆரம்பத்தில் குறிமுறைவரிகளை கற்பிக்க கல்வியாளர்கள் சொல்கின்ற பல்வேறு காரணங்களில் இதுவும் ஒன்றாகும். அதாவது அவர்களின் அறிமுக கணினி மொழி எவ்வளவு எளிமையானதாக இருந்தாலும், இளைஞர்கள் (அல்லது வயது வந்தோர்) பிற்காலத்தில் தாம் சந்திக்க நேரிடும் எல்லா கணினிமொழிகளின் தருக்கமும் மாறாமல் அப்படியே இருக்கின்றது.
Opensource.com எனும் இணையதளத்தில் பல்வேறு அறிமுகக் கட்டுரைகளில் ஏதேனும் ஒன்றின் வாயிலாக நாம் ஒரு சிறிய நிரலாக்க அனுபவத்தினை பெறமுடியும், ஒரு சில நாட்களில் (ஒருசில நேரங்களில் ) எந்த வொரு நிரலாக்க(கணினி) மொழியையும் எளிதாக கற்றுக்கொள்ளமுடியும். அது,ஒன்றும் இரகசிய மந்திரம் அன்று, நாம்அதில் கொஞ்சம் முயற்சி செய்ய வேண்டும் அவ்வளவுதான். எந்தவொரு கணினி மொழிக்கும் கிடைக்கக்கூடிய ஒவ்வொரு நூலகத்தையும் கற்றுக்கொள்ள அல்லது வழங்குவதற்காக நம்முடைய குறிமுறைவரிகளின் தொகுப்பினை செய்வதன் நுணுக்கங்களைக் கற்றுக்கொள்ள ஒருசில சமயங்களில் அதிக காலவிரையம் ஆகும் என்பது ஒப்புக் கொள்ளத்தக்க செயலாகும். ஆனால் அந்த பணியை துவங்குவது நாம் நினைப்பதை விட மிகஎளிதானது, மீதமுள்ளவை இயற்கையாகவே நடைமுறையில் வரும்.
பொதுவாக அனுபவம் வாய்ந்த நிரலாளர்கள் புதிய கணினி மொழியைக் கற்றுக்கொள்ள உட்கார்ந்தால், அவர்கள் ஐந்து செயல்களை (செய்திகளை)மட்டும் முதலில் தேடுவார்கள். அந்த ஐந்து செயல்களை (செய்திகளை) நாம் அறிந்தவுடன், அந்த கணினிமொழியில் குறிமுறைவரிகளை எழுதிடுவதற்காக துவங்க நாம் தயாராக உள்ளோம் என அர்த்தமாகும்.
4.1. இலக்கணம்(Syntax)
எந்தவொரு கணினிமொழிக்கும் அக்கணினி மொழியின் இலக்கணமானது அக்கணினி மொழியால் உருவாக்கப்படும் குறிமுறைவரிகளின் கட்டமைப்பை விவரிக்கின்றது. இது குறிமுறைவரிகளின் ஒவ்வொரு வரியாக அடிப்படையில் அக்குறிமுறைவரிகள் எவ்வாறு எழுதப்படுகின்றன என்பதையும் குறிமுறை வரிகளை உருவாக்க பயன்படும் உண்மையான சொற்களையும் உள்ளடக்கியதாகும்.
உதாரணமாக, பைதான்(Python) எனும் கணினி மொழியின் குறிமுறிகளின் ஒரு தொகுப்பு எங்கு முடிவடைகின்றது, மற்றொரு தொகுப்பு எங்கு துவங்குகிறது என்பதைக் குறிக்க அதனுடைய உள்தள்ளலைப்(indentation ) பயன்படுத்துவதால் அறியப்படுகிறது:
while j < rows:
while k < columns:
tile = Tile(k * w)
board.add(tile)
k += 1
j += 1
k = 0
அதேபோன்று லுவா( Lua)எனும் கணினிமொழியில் end எனும் திறுவுகோள்சொல் அத்தொகுப்பின் முடிவை குறிக்க பயன்படுத்தப்படுகின்றது என அறியப்படுகிறது:
for i,obj in ipairs(hit) do

if obj.moving == 1 then
obj.x,obj.y = v.mouse.getPosition()
end
end
மேலும் Java, C, C++,என்பன போன்ற கணினிமொழிகளில் { } ஆகிய இருதலைஅடைப்புகளை அத்தொகுப்பின் துவக்கத்தையும்முடிவையும் குறிக்க பயன்படுத்தப்படுகின்றன என அறியப்படுகிறது::
while (std::getline(e,r)) {
wc++;
}
ஒரு கணினி மொழியின் இலக்கணமானது அந்த கணினிமொழியின் நூலகங்கள், மாறிகளை அமைத்தல் , வரிகளை நிறுத்துதல் போன்றவற்றையும் உள்ளடக்கியதாகும். நடைமுறையில், மாதிரி குறிமுறைவரிகளைப் படிக்கும்போது, செயற்கையான தேவைகளையும் , மரபுகளையும் கிட்டத்தட்ட மிகச்சிறந்த முறையில் அங்கீகரிக்க நம்மால் கற்றுக்கொள்ளமுடியும்.
அதற்கான நடவடிக்கை
புதிய நிரலாக்க மொழியைக் கற்கும்போது, அதனுடைய இலக்கணத்தை புரிந்துகொள்ள முயற்சி செய்க. அதை மனப்பாடம் செய்ய வேண்டியதில்லை, எங்கு பார்க்க வேண்டும் எவ்வைாறு செயல்படுத்திட வேண்டும் என்று தெரிந்து கொள்க, ஒருவேளை அதனை மறந்துவிட்டால். பரவாயில்லை இது ஒரு நல்ல IDEஐப் பயன்படுத்தவும் உதவுகிறது, ஏனென்றால் அதில் குறிப்பிட்ட கணினிமொழியின் குறிமுறை வரிகளை எழுதிடும்போது இலக்கண பிழை ஏதேனும் ஏற்பட்டால் உடன் அவை நம்மை எச்சரிக்கின்றது.
4.2. கணினிமொழியின்முன்கூட்டியே கட்டமைக்கப்பட்டவைகளும் ( உள்ளமைக்கப்பட்டவைகளும்) நிபந்தனைகளும்( Built-ins and conditionals)
எந்தவொரு நிரலாக்க(கணினி) மொழியும், இயற்கையான மொழியைப் போலவே, வரையறுக்கப்பட்ட செல்லுபடியாகும் தன்மையுடன் கூடிய சொற்களுடன் கூடிய சொற்களஞ்சியத்தைக் கொண்டுள்ளது, மேலும். இந்த சொற்களஞ்சியம் கூடுதல் நூலகங்களுடன் விரிவாக்கப்படலாம், ஆனால் முக்கிய கணினி மொழிக்கு ஒரு குறிப்பிட்ட தொகுப்பான திறவுகோள் சொற்கள் எவையெவையென தெரியும். பெரும்பாலான கணினி மொழிகளில் நாம் நினைக்கும் அளவிற்கு மிகஅதிகஅளவு திறவுகொள்சொற்கள் இல்லை என்பதே உண்மையான நிலவரமாகும் . இருந்தபோதிலும் சி போன்ற மிகச்சிறிய கணினி மொழியில் கூட (for, do, while, int, float, char, break, so on ) என்பன போன்ற 32 திறுவுகோள்சொற்கள் மட்டுமே உள்ளன .
இந்த திறவுகோள் சொற்களை (keywords )அறிந்துகொள்வது அந்த கணினிமொழியில் எழுதப்படும், ஒரு நிரலின் கட்டுமானத் தொகுப்புகளான அடிப்படை வெளிப்பாடுகளை எழுதும் திறனை நமக்கு வழங்குகிறது. நம்முடைய செயல் திட்டத்தின் ஓட்டத்தை பாதிக்கும் நிபந்தனை கூற்றுகளை உருவாக்க பல்வேறு உள்ளமைக்கப்பட்ட (முன்கூட்டியே கட்டமைக்கப்பட்ட) சொற்கள் நமக்கு உதவுகின்றன. உதாரணமாக, ஒரு உருவப்பொத்தானை தெரிவுசெய்து சொடுக்குதல் செய்து இழுத்து செல்வதற்கான நம்மை அனுமதிப்பதற்கான ஒரு நிரலை எழுத விரும்பினால், பயனாளர் ஒருவர் இடம்சுட்டியை ஒருஉருவப் பொத்தானின் மீது நிலைநிறுத்தும்போது அதற்கான செயலிகளின் குறிமுறைவரிகள் நம்முடைய குறிமுறைவரிகள் கண்டறியப்பட வேண்டும். அதாவது இடம்சுட்டியால் உருவப்பொத்தானைப் பிடிக்கக் செய்யும் குறிமுறைவரிகள், இடம்சுட்டி உருவப்பொத்தானின் வெளிப்புற விளிம்புகளின் அதே செயலிகளின் கட்டுகளுக்குள் இருந்தால் மட்டுமே இயக்க வேண்டும். அதற்காக ஒரு உன்னதமான if/then எனும் நிபந்தனை கூற்று இருக்கவேண்டும், ஆனால் இதனை வெவ்வேறு கணினிமொழிகளில் வெவ்வேறு விதமாக அதை வித்தியாசமாக வெளிப்படுத்தலாம். பைதான் எனும் கணினிமொழியில் if, elif, என்பனபோன்ற பல்வேறு கலவையான நிபந்தனைகளைப்பயன்படுத்துகிறது, ஆனால் அந்த நிபந்தனை கூற்று வெளிப்படையாக மூடப்படவில்லை:
if var == 1:
# action
elif var == 2:
# some action
else:
# some other action
Bash எனும் கணினிமொழியில் if, elif, elseஆகிய நிபந்தனை கூற்றுகள் பயன்படுத்தப்படுகிறது மேலும் அந்த நிபந்தனை கூற்று முடிக்க fi எனும்கூற்று பயன்படுத்தப்படுகிறது எனும் செய்தியை மனதில் கொள்க:
if [ “$var” = “foo” ]; then
# action
elif [ “$var” = “bar” ]; then
# some action
else
# some other action
fi
இருப்பினும், C ,Java, ,ஆகிய கணினிமொழிகளில் if, else, else if, ஆகிய நிபந்தனை கூற்றுகள் இருதலை அடைப்பகளுக்கு வெளியே பயன்படுத்திகொள்ளப்படுகின்றன
if (boolean) {
// action
} else if (boolean) {
// some action
} else {
// some other action
}
பொதுவாக அனைத்து கணினிமொழிகளிலும் சொல் தேர்வு( word choice), இலக்கணம் ஆகியவற்றில் சிறிய வேறுபாடுகள் இருந்தாலும், அடிப்படைகள் எப்போதும் ஒரே மாதிரியாக இருக்கும். நாம் கற்றுக் கொள்ளும் நிரலாக்க(கணினி) மொழியில் நிலைமைகளை வரையறுப்பதற்கான , if/then, do…while, case ஆகிய நிபந்தனைகளின் கூற்றுகள் உட்பட. பல்வேறு வழிமுறைகளை மட்டும் கற்றுக் கொள்க
அதற்கான நடவடிக்கை
ஒரு நிரலாக்க(கணினி) மொழியை புரிந்துகொள்ளும் முன் அக்கணினிமொழியின் திறவுகோள்சொற்களின் (keywords ) தொகுப்பைப் பற்றி தெரிந்து கொள்க. நடைமுறையில், நம்முடைய குறிமுறைவரிகளில் ஒரு கணினி மொழியின் திறவுவுகோள் சொற்களை விட அதிகமாக இருக்கும், ஏனென்றால் திரையில் அச்சிடுதல், வெளியிடுதல் போன்ற செயல்களைச் செய்ய அல்லது சாளரத்தைக் காண்பிக்க உதவும் எளிய செயலிகளைக் கொண்ட நூலகங்கள் நிச்சயமாக உள்ளன. இருப்பினும், அந்த நூலகங்களை இயக்குகின்ற தருக்கம்ஆனது ஒரு கணினிமொழியின் உள்ளமைக்கப்பட்ட திறவுகோள்சொற்களுடன் துவங்குகிறது.
4.3. தரவு வகைகள்(Data types)
பொதுவாக அனைத்த குறிமுறைவரிகளும் தரவுகளோடு செயல்படுகின்றன, எனவே ஒரு நிரலாக்க மொழி பல்வேறு வகையான தரவுகளை எவ்வாறு அங்கீகரிக்கின்றது என்பதை முதலில் நாம் கற்றுக் கொள்ள வேண்டும். எல்லா கணினி மொழிகளும் முழு எண்களைப் புரிந்துகொள்கின்றன, மேலும் பின்ன எண்களையும் (a, b, c, போன்ற பல்வேறு) தனிப்பட்ட எழுத்துக்களையும் புரிந்துகொள்கின்றன. இவை பெரும்பாலும் எண்ணாக, மிதவையாக , இரட்டைஎண்களாக ,எழுத்தாக குறிக்கப்படுகின்றன, ஆனால் நிச்சயமாக, எந்தவொரு கணினி மொழியின் உள்ளமைக்கப்பட்ட சொற்களஞ்சியமும் இவைகளை எவ்வாறு குறிப்பிடுவது என்பதை நமக்குத் தெரிவிக்கின்றது.
ஒருசில நேரங்களில் ஒரு கணினி மொழியில் கூடுதல் தரவு வகைகள் உள்ளன, வேறுசில நேரங்களில் சிக்கலான தரவு வகைகள் நூலகங்களுடன் இயக்கப்படுகின்றன. உதாரணமாக, பைதான் எனும் கணினிமொழியில் சரம்(string ) என்பது முக்கிய சொற்களைக் கொண்ட எழுத்துக்களின் சரத்தை அங்கீகரிக்கிறது, ஆனால் சி எனும் கணினிமொழியின் குறிமுறைவரிகளில் சரத்தின்(string ) வசதிகளுக்காக string.h எனும் தலைப்பு கோப்பு கண்டிப்பாகஇருக்க வேண்டும் என்ற செய்தியை மனதில் கொள்க.
அதற்கான நடவடிக்கை
நம்முடைய குறிமுறைவரிகளில் அனைத்து வகையான தரவு வகைகளையும் அதன் நூலகங்களால் திறக்க முடியும், ஆனால் ஒரு கணினி மொழியுடன் இணைக்கப்பட்ட தரவுவகைகளின் அடிப்படைகளைக் கற்றுக்கொள்வது விவேகமான துவக்க புள்ளியாகும்.
4.4. இயக்கிகளும் பாகுபடுத்திகளும்(Operators and parsers)
ஒரு நிரலாக்க மொழியில் அது கையாளும் தரவு வகைகளை புரிந்துகொண்டவுடன், அந்த தரவுகளை எவ்வாறு பகுப்பாய்வு செய்வது என்பதை கற்றுக்கொள்வதுநல்லது. அதிர்ஷ்டவசமாக, கணிதத்தின் இலக்கணம் மிகவும் நிலையானது, எனவே கணித இயக்கிகள் பெரும்பாலும் பல்வேறுகணினி மொழிகளில் ஒரே மாதிரியாகவே இருக்கின்றன (அல்லது குறைந்தபட்சம் மிகவும் ஒத்தவைகளாக அமைந்துள்ளன). உதாரணமாக, இரண்டு முழு எண்களை ஒன்று சேர்ப்பதற்கு வழக்கமாக + எனும் குறியுடன் செய்யப் படுகின்றது, மேலும் ஒரு முழு எண் மற்றொன்றை விட அதிகமாக இருக்கிறதா என்று பரிசோதிப்பதற்கு > எனும் குறியுடன் செய்யப்படுகிறது. ஆயினும் சமமாக இருக்கின்றது என்பதற்கான பரிசோதனை வழக்கமாக == எனும் குறியுடன் செய்யப்படுகிறது (இங்கு இரண்டு சமக்குறி அடையாளங்கள், ஏனெனில் ஒரு சமக்குறி மட்டு மெனில் பொதுவாககணினி மொழிகளில் மதிப்பை அமைக்க ஒதுக்கப்படுகின்றது).
Lisp ,Bash போன்ற கணினி மொழிகளில் வெளிப்படையானவற்றுக்கு குறிப்பிடத்தக்க விதிவிலக்குகள் உள்ளன, ஆனால் எல்லாவற்றையும் போலவே, இது மனதிற்குள் நடைபெறும் ஒலிபெயர்ப்பின் ஒரு செய்தியாகும். வெளிப்பாடு எவ்வாறு வித்தியாசமாக அமைகின்றது என்பதை அறிந்தவுடன், அதை மாற்றியமைப்பது மிகவும்அற்பமான செயலாகும். கணக்கீடுகள் எவ்வாறு செய்யப்படுகிறது என்பதற்கான உணர்வைப் பெற எந்தவொரு கணினி மொழியிலும் அதனுடைய கணித இயக்கிகளை விரைவாக மதிப்பாய்வு செய்வது மட்டுமே போதுமானதாகும்.
எழுத்துக்கள் ,சரங்கள் போன்ற எண் அல்லாத தரவுகளை எவ்வாறு ஒப்பிட்டு செயல்படுவது என்பதையும் அறிந்து கொள்ள வேண்டும். இவை பெரும்பாலும் ஒரு கணினி மொழியின் முக்கிய நூலகங்களுடன் செய்யப்படுகின்றன. உதாரணமாக, பைத்தானின் split() எனும் வழிமுறையைக் கொண்டுள்ளது, அதே சமயம் C இல் strtok () செயலியை செயல்படுத்துவதற்காக string.h என்பது தேவைப்படுகிறது.
அதற்கான நடவடிக்கை
அடிப்படை தரவு வகைகளை கையாளுவதற்கான அடிப்படை செயலிகளையும் திறவுகோள்சொற்களையும் கற்றுக் கொள்க, மேலும் சிக்கலான செயல்களைச் செய்ய உதவும் முக்கிய நூலகங்களைத் தேடிபடித்திடுக.
4.5. செயலிகள்(Functions)
குறிமுறைவரிகள் பொதுவாக ஒரு கணினிக்கு செய்ய வேண்டிய பட்டியல் அல்ல. பொதுவாக குறிமுறைவரிகளை எழுதும்போது, ஒவ்வொரு நிபந்தனையும் பூர்த்தி செய்யப்படும்போது எடுக்கப்பட வேண்டிய செயல்களுக்கான ஒரு தத்துவார்த்த நிலைமைகளும் செயல்களுக்குமான வழிமுறைகளின் தொகுப்பைக் கொண்ட கணினியை வழங்க விரும்புகின்றோம் எனில். நிபந்தனை கூற்றுகள் , கணிதமும் தருக்கத்திற்குமான இயக்கிகளுடன் இயக்க கட்டுப்பாடு நிறைய செய்ய முடியும் என்றாலும், செயலிகள், இனங்கள் போன்றவை அறிமுகப்படுத்தப்பட்டவுடன் குறிமுறைவரிகள் மிகவும் திறமையானதாக மாறிவிட்டன, ஏனெனில் அவை துனைசுழற்சிகளை வரையறுக்க நம்மை அனுமதிக்கின்றன. உதாரணமாக, ஒரு பயன்பாட்டிற்கு உறுதிப்படுத்தலின் உரையாடல் பெட்டி அடிக்கடி தேவைப்பட்டால், குறிமுறைவரிகள் முழுவதும் ஒவ்வொரு முறையும் தோன்றிடுமாறு செய்வதற்காக அதை மீண்டும் மீண்டும்அதே குறிமுறைவரிகளை எழுதுவதை விட, அந்த உரையாடல் பெட்டியை ஒரு இனத்தின் உதாரணமாக ஒரு முறை மட்டும்அதற்கான குறிமுறைவரிகள் எழுதுவது மிகவும் எளிதான செயலாகும்.
நாம் கற்றுக் கொள்ளும் நிரலாக்க மொழியில் இனங்களும் செயலிகளும் எவ்வாறு வரையறுக்கப்படுகின்றன என்பதை கற்றுக் கொள்ள வேண்டும். இன்னும் துல்லியமாக, கூறவேண்டுமெனில் முதலில், நிரலாக்க மொழியில் இனங்களும் செயலிகளும் கிடைக்கின்றனவா என்பதை நாம் கற்றுக் கொள்ள வேண்டும். பெரும்பாலான நவீன கணினி மொழிகள் ஆதரவு செயலிகளைச் செய்கின்றன, ஆனால் பொருள் சார்ந்த மொழிகளுக்கு இனங்களானவை பொதுவான கட்டுமானங்களாகும்.
அதற்கான நடவடிக்கை
குறிமுறைவரிகளை திறமையாக எழுதவும் பயன்படுத்தவும் உதவுகின்ற வகையில் கணினி மொழியில் கிடைக்கும் கட்டுமானங்களைக் கற்றுக்கொள்க.
எந்தவொரு கணினிமொழியையும்எளிதாக கற்றுக்கொள்ளலாம்
ஒரு நிரலாக்க மொழியைக் கற்றுக்கொள்வது, குறிமுறைவரிகளின் செயல்முறையின் ஒரு வகையான துனைசுழற்சியாகும். குறிமுறைவரிகள்எவ்வாறு செயல்படுகின்றன என்பதற்குப் பின்னால் உள்ள கோட்பாட்டை புரிந்துகொண்டவுடன், பயன்படுத்தும் கணினி மொழியின் தருக்கத்தை வழங்குவதற்கான ஒரு ஊடகம் மட்டுமே. ஒரு புதிய கணினி மொழியைக் கற்கும் செயல்முறை எப்போதுமே ஒரே மாதிரியாக இருக்கும்: எளிய பயிற்சிகள் மூலம் இலக்கணத்தினை கற்றுக் கொள்க, மேலும் அதனுடைய சொற்களஞ்சியத்தையும் கற்றுக் கொள்க, இதனால் சிக்கலான செயல்களைச் செய்கின்ற பயன்பாட்டினை கூட நம்மால் எளிதாக கட்டமைக்க முடியும், அதன் பின்னர் நமக்கு தேவையானது பயிற்சி, பயிற்சி, பயிற்சிமட்டுமேயாகும்.

மறுமொழியொன்றை இடுங்கள்

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  மாற்று )

Google photo

You are commenting using your Google account. Log Out /  மாற்று )

Twitter picture

You are commenting using your Twitter account. Log Out /  மாற்று )

Facebook photo

You are commenting using your Facebook account. Log Out /  மாற்று )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: