"மீண்டும் நான்தான். நான் ஒன்றை விளக்க மறந்துவிட்டேன். நான் இப்போது மாறிகள் மற்றும் நினைவக முகவரியிடல் (memory addressing) பற்றி கூறுகிறேன். நாம் எதையும் ஆழமாக ஆராயப் போவதில்லை. ஆனால் குறைந்தபட்சம் கொஞ்சமாவது நினைவில் வைத்துக் கொள்வது நல்லது."

"பாடங்களை நீங்கள் அணுகும் முறை எனக்குப் பிடித்துள்ளது: உங்களுக்கு புரிந்தால் - சிறந்தது. உங்களுக்கு எதுவும் புரியவில்லை என்றாலும் - பரவாயில்லை."

"அன்பைக் கட்டாயப்படுத்த முடியாது. அது வெளிப்படையானது. உங்கள் கிரகத்தில் அப்படி இல்லையா?"

"இல்லை. எங்களது அணுகுமுறை வேறுவிதமானது. நீங்கள் விரும்பினால், படிங்கள்; விரும்பவில்லை என்றால், விருப்பமில்லாவிட்டாலும் படிக்க வேண்டும்."

"இது கற்றலில் ஒரு பின்தங்கிய அணுகுமுறை! இது நிறைய ஆற்றலையும் நேரத்தையும் வீணடிக்கும், மோசமான முடிவுகளையே தரும்."

"நாம் அனைத்தையும் வீணாக்குவோம். நாம் அந்த சோகமான விஷயங்களைப் பற்றி பேசி நேரத்தை வீணாக்க வேண்டாம்."

"சரி. Excelஐ எடுத்துக் கொள்ளுங்கள். எல்லோருக்கும் Excel தெரியும். Excel ஷீட்டில் செல்கள் இருக்கும். ஒவ்வொரு செல்லுக்கும் அதன் தனித்துவமான அடையாளங்காட்டி இருக்கும் (A1, A2,… B1, B2). ஒரு செல்லின் அடையாளங்காட்டி உங்களுக்குத் தெரிந்திருந்தால், அதில் சில மதிப்பை எழுதலாம் அல்லது அதில் சேமித்து வைக்கப்பட்ட எந்த மதிப்பையும் பெறலாம். கணினி நினைவகமும் இதேபோன்று ஒழுங்கமைக்கப்பட்டுள்ளது."

image-ru-01-25

"நான் இதுவரை கவனித்துக் கொண்டுதான் இருக்கிறேன்."

"நிரல் இயங்கும்போது, நிரலும் நிரலின் தரவும் நினைவகத்தில் சேமிக்கப்படும். அனைத்து கணினி நினைவகமும் சிறிய செல்கள் அல்லது பைட்டுகளாகப் பிரிக்கப்பட்டுள்ளன. ஒவ்வொரு செல்லுக்ம் அதனுடன் தொடர்புடைய ஒரு தனிப்பட்ட அடையாளங்காட்டி அல்லது எண் இருக்கும்: 0,1,2,3,… (எண்கள் 0இல் இருந்து தொடங்குகின்றன). உங்களுக்குக் செல்லின் எண் தெரியுமெனில், அதில் தரவைச் சேமிக்கலாம். அல்லது அதிலிருக்கும் தரவைப் பெறலாம். சில செல்கள் நிரலின் குறிமுறையைச் சேமிக்கின்றன. அதாவது செயலிக்கான கட்டளைகளின் தொகுப்பைச் சேமிக்கின்றன. மற்றவை நிரலால் பயன்படுத்தப்படும் தரவை சேமிக்கின்றன. ஒவ்வொரு செல்லின் எண்ணும் அதன் முகவரி என்று அழைக்கப்படுகிறது."

"பேராசிரியர் ஏற்கனவே செயலி (processor) மற்றும் கட்டளைகளைப் பற்றி கூறினார், ஆனால் விரிவாக இல்லை."

"நினைவகத்தில் ஏற்றப்பட்ட கட்டளைகளை எவ்வாறு செயல்படுத்துவது என்று செயலிக்கு தெரியும். ஏறக்குறைய அனைத்து செயலிக் கட்டளைகளும் 'சில செல்களிலிருந்து தரவை எடுத்து, அதைக் கொண்டு ஏதாவது செய்து, முடிவை மற்ற செல்களுக்கு அனுப்புவது' போன்றவற்றையே செய்கின்றன. சிக்கலான, பயனுள்ள கட்டளைகளைப் பெற நூற்றுக்கணக்கான எளிய கட்டளைகளை இணைக்கிறோம்."

"ஆனால் நான் ஏன் இதெல்லாம் செய்ய வேண்டும்?"

"குறிமுறையில் ஒரு மாறியை அறிவிக்கும்போது, ஏற்கனவே பயன்படுத்தப்படாத ஒரு நினைவக பிட் அதற்கு ஒதுக்கப்படுகிறது. இது பொதுவாக சில பைட்டுகளே இருக்கும். ஒரு மாறியை அறிவிப்பதற்கு நிரல் சேமிக்கும் தகவலின் வகையை நீங்கள் குறிப்பிட வேண்டும், அதாவது: எண்கள், உரை அல்லது பிற தரவு. வசதிக்காக, ஒவ்வொரு மாறிக்கும் ஒரு தனித்துவமான பெயர் ஒதுக்கப்படுகிறது."

" மாறி என்பதற்கு பெயர், வகை, நினைவகத்தின் ஒரு பகுதி மற்றும் மதிப்பு என்று அர்த்தமாகுமா?"

"அது எல்லாவற்றையும் ஒன்றாக சேர்த்து. சில எடுத்துக்காட்டுகளைக் காணுங்கள்:"

குறிமுறை: விளக்கம்
1
String s;
இந்த வரி s என்ற பெயர் கொண்ட ஒரு மாறியை உருவாக்குகிறது. நாம் அதன் வகையை String என அறிவிக்கிறோம். ஏனெனில் இது உரையைச் சேமிக்கப் பயன்படுகிறது.
அதே செயல்பாடு அல்லது கிளாஸில் உள்ள அதே பெயருடன் மற்றொரு மாறியை அறிவிக்க முடியாது.
2
String s2 = "I'm Diego";
இந்த வரி s2 என்ற ஒரு சர மாறியை உருவாக்கி உடனடியாக "I'm Diego" என்ற மதிப்பை ஒதுக்குகிறது.
3
int a;
a என்ற பெயர் கொண்ட ஒரு மாறியை இங்கே உருவாக்குகிறோம். அதன் தரவு வகை அதில் சேமிக்கப்படும் வகையைப் பொருத்துகிறது. int தரவு வகையானது முழுஎண் என்பதற்கு குறுகிய வடிவம்.
4
int b = 4;
b என்ற பெயர் கொண்ட ஒரு மாறியை உருவாக்குகிறோம். அதன் தரவு வகை (int) முழுஎண்களை சேமிப்பதற்காகும். 4 என்ற மதிப்பு உடனடியாக உடனடியாக ஒதுக்கப்படுகிறது.

"டியாகோவிற்கான சில பணிகள் இங்கே உள்ளது. ஒரே நேரத்தில் அல்லாமல் கொஞ்சம் கொஞ்சமாக அதில் வேலை செய்யுங்கள்.

1
பணி
Java தொடரியல்,  நிலை 1பாடம் 3
பூட்டப்பட்டது
நாம் இந்த மாறிகளை தனித்தனியாக வெளியிட்டு அறிவிக்க போகிறோம்...
Java-வில், மாறிகள் கட்டாயம் அறிவிக்கப்பட வேண்டும். அதாவது ஒரு குறிப்பிட்ட மாறி வகைக்கு இடத்தை ஒதுக்க வேண்டும். இதைச் செய்த பிறகு தான் ஒரு குறிப்பிட்ட மதிப்பை ஒதுக்க முடியும். இதை நாம் ஒரே வரியில் செய்ய முடியும் என்பது மிகவும் நல்ல விஷயம். இந்தப் பணியில், நீங்கள் பல மாறிகளை அறிவித்து, உடனடியாக அதற்கான மதிப்புகளையும் ஒதுக்க வேண்டும்.
1
பணி
Java தொடரியல்,  நிலை 1பாடம் 3
பூட்டப்பட்டது
நமது திரையில் உள்ள ஒரு மாறி
தொடக்கநிலையில் உள்ள Java நிரலாக்குநர் முதலில் அறிவிக்க (மாறிகள்), ஒதுக்க (மாறிகளுக்கு மதிப்புகள்), மற்றும் காண்பிக்க (மாறிகள் மற்றும் மதிப்புகள்) கற்றுக்கொள்கிறார். இந்தப் பணியில், நாம் இந்த மூன்று அடிப்படைத் திறன்களையும் பயிற்சி செய்வோம். ஒரு String மாறியை உருவாக்கி, அதற்கு ஒரு மதிப்பை ஒதுக்கி, பின்னர் அதைக் காண்பிப்போம்.
1
பணி
Java தொடரியல்,  நிலை 1பாடம் 3
பூட்டப்பட்டது
ஒரு மாறி மட்டும் போதாது
நிரலாக்கக் கற்றுக் கொள்ளும்போது, ஆரம்பத்தில் சில வேலைகளைத் தேவையற்று திரும்பத் திரும்பச் செய்வது போன்று தோன்றலாம். இது ஒரு மாயை: திறன் என்பது மீண்டும் மீண்டும் நிகழ்வது (மாறுபாடுகளுடன்!) இதனை வேறு வழியில் அடைய முடியாது. எனவே, சிணுங்குவதை நிறுத்துங்கள். அதற்குப் பதிலாக, இன்னொரு முறை மாறிகளை அறிவிப்போம். இந்த முறை மூன்று அறிவித்து, அதற்கு சில மதிப்புகளை ஒதுக்குவோம்.
2
பணி
Java தொடரியல்,  நிலை 1பாடம் 3
பூட்டப்பட்டது
ஓர் எண்ணின் வர்க்கத்தைக் காண்பி
முதல் அபிப்பிராயம் சிறப்பாக அமைவது அரிது. ஆனால் அதைத்தான் நம் வாழ்நாள் முழுவதும் நினைவில் கொண்டிருப்போம். புரியவில்லையா, நாம் நிரலாக்கம் பற்றி தான் பேசிக்கொண்டிருக்கிறோம். இந்தப் பணியில், ஒரு எண்ணின் சதுரத்தைக் கணக்கிட்டு, அதைத் திரையில் காண்பிக்க முயற்சிப்போம். மேலும் விசைப்பலகையிலிருந்து தரவைப் படிக்கும் திறனையும் பயன்படுத்துவோம் (நிரல் இயங்கும்போது பயனர் எண்ணை உள்ளிடுவார்).