image-ru-00-18

"வணக்கம், அருண். என் பெயர் பேராசிரியர் ஹன்ஸ் நூடுல்ஸ். நான் கேலக்டிக் ரஷ்ஷின் அறிவியல் கவுன்சிலின் தலைவர். உங்களுக்கு Java நிரலாக்கத்தைக் கற்பிப்பதிலான எங்கள்முயற்சிகளையும் நான் மேற்பார்வையிடுகிறேன்."

"வணக்கம், பேராசிரியர் நூடுல்ஸ் அவர்களே."

"Java ஏன் மிகவும் அருமையான நிரலாக்க மொழியாக இருக்கிறது என்பதை உங்களுக்கு விளக்க விரும்புகிறேன்."

"Java வின் ஒப்பற்ற நன்மை அதன் பணித்தளச் சுதந்திரம். அது என்ன, அது எதற்காக, என்று கேட்கிறீர்களா? இன்னும் விரிவாகக் கூறுகிறேன்."

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

"கணினிகளைப் பொறுத்தவரை, எண்கள் அத்தகைய கட்டளைகளின் பங்கைச் செய்கின்றன. ஒவ்வொரு கட்டளையும் ஒரு குறிப்பிட்ட எண் அல்லது குறிமுறையால் குறிக்கப்படுகிறது (சில நேரங்களில் இயந்திரக் குறிமுறை (Machine code) என்று அழைக்கப்படுகிறது)."

"ஆனால் எண்களை மட்டுமே பயன்படுத்தி ஒரு நிரலை எழுதுவது மிகவும் கடினம், எனவே மக்கள் நிரலாக்க மொழிகள் மற்றும் தொகுப்பிகள் (compiler) ஆகியவற்றைக் கண்டுபிடித்தனர். நிரலாக்க மொழியை, மனிதர்கள் மற்றும் தொகுப்பிகள் இருவராலும் புரிந்துகொள்ள முடியும். தொகுப்பி என்பது ஒரு நிரலாக்க மொழியில் எழுதப்பட்ட ஒரு நிரலை, தொடர்ச்சியான இயந்திரக் குறிமுறைகளாக மாற்றும் ஒரு சிறப்பு நிரலாகும்."

"நிரலாக்குநர் வழக்கமாக ஒரு நிரலாக்க மொழியில் நிரலை எழுதிவிட்டு, பின்னர் தொகுப்பியை இயக்கிடுவார். இது நிரலாக்குநரால் எழுதப்பட்ட நிரல் குறிமுறைக் கோப்புகளை இயந்திரக் குறிமுறைக் கொண்ட ஒற்றை கோப்பாக மாற்றிடும் - இதுவே இறுதி (தொகுக்கப்பட்ட) நிரல் ஆகும்."

  • C++ இன் நிரல்
  • தொகுப்பி (Compiler)
  • இயந்திரக் குறிமுறை

"விளைவு நிரலை கணினியால் உடனடியாக செயல்படுத்த முடியும். இதில் மோசமான விஷயம் என்னவென்றால், இறுதி நிரலின் குறிமுறையானது செயலி (Processor) மற்றும் இயக்க முறைமையைப் பொறுத்துள்ளது. அதாவது Windows க்காகத் தொகுக்கப்பட்ட ஒரு நிரல், Android ஸ்மார்ட்போனில் வேலை செய்யாது."

"எனவே, நான் Android க்காக ஒரு நிரலை எழுதித் தொகுத்தால், அது Windows இல் இயங்காதா?"

"ஆம், இயங்காது."

"அப்படியா."

"இருந்தாலும், Java மிகவும் புதுமையான அணுகுமுறையைப் பயன்படுத்துகிறது."

  • Java இன் நிரல்
  • Java தொகுப்பி
  • பணித்தளச் சார்பற்ற சிறப்புக் குறிமுறை (பைட் குறிமுறை)
  • JVM
  • இயந்திரக் குறிமுறை

"Java தொகுப்பி அனைத்து கிளாஸ்களையும் ஒரே இயந்திரக் குறிமுறை நிரலாகத் தொகுக்காது. அதற்கு பதிலாக, அது ஒவ்வொரு கிளாஸையும் சார்பின்றி தனித்துத் தொகுக்கிறது. மேலும் இயந்திரக் குறிமுறையாக இல்லாமல், ஒரு சிறப்பு இடைநிலைக் குறிமுறையாகத் தொகுக்கிறது (பைட் குறிமுறை). நிரல் தொடங்கும்போது பைட் குறிமுறை இயந்திரக் குறிமுறையாகத் தொகுக்கப்படுகிறது."

"எனவே, நிரலை இயக்கும்போது இயந்திரக் குறிமுறையாகத் தொகுப்பது எது?"

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

"சுவாரஸ்யமாக உள்ளதே. அது ஏன் அவசியம்?"

"இது மிகவும் சக்திவாய்ந்த அணுகுமுறை ஆகும். மேலும் Java-வின் மொத்த ஆதிக்கத்திற்கு இதுவும் ஒரு காரணம்."

"இந்த அணுகுமுறை Java-வில் எழுதப்பட்ட நிரல்களை கணினிகள், ஸ்மார்ட்போன்கள், ATM-கள், டோஸ்டர்கள் அல்லது கிரெடிட் கார்டுகள் போன்ற எந்தவொரு சாதனத்திலும் இயக்க அனுமதிக்கிறது!"

"அற்புதம்!"

"இந்த அணுகுமுறையில் பல நன்மைகள் உள்ளன. அதனால்தான் அனைத்து Android நிரல்களும் Java-வில் எழுதப்பட்டுள்ளன. மொபைல் போன் துறையின் விரைவான வளர்ச்சியின் விளைவாக, பின்வரும் நிரலாக்கப் பகுதிகளில் Java ஆதிக்கம் செலுத்துகிறது:

1) தொழிலகம்: வங்கிகள், நிறுவனங்கள், முதலீட்டு நிதிகள் போன்றவற்றுக்கான கனரக சேவையக அடிப்படையிலான பயன்பாடுகள்.

2) மொபைல்: மொபைல் மேம்பாடு (ஸ்மார்ட்போன்கள், டேப்லெட்டுகள்), Android க்கு நன்றி.

3) வலை: PHP முன்னணியில் இருந்தாலும் கூட, Java சந்தையில் ஒரு நிலையான இடத்தைக் கைப்பற்றியுள்ளது.

4) பிக் டேட்டா: ஆயிரக்கணக்கான சேவையகங்களைக் கொண்ட கொத்துக்களில் செய்யப்படும் விநியோகிக்கப்பட்ட கணிப்பிப்பணி.

5) ஸ்மார்ட் சாதனங்கள்: ஸ்மார்ட் வீடுகள், மின்னணுச் சாதனங்கள், IoT குளிர்சாதன பெட்டிகள் போன்றவற்றுக்கான நிரல்கள்."

"Java வெறும் மொழி மட்டுமல்ல, அது ஒரு வகையான சுற்றுச்சூழல் அமைப்பு: உங்கள் செயற்திட்டத்தில் பயன்படுத்தக்கூடிய மில்லியன் கணக்கான ஆயத்தத் தொகுதிகள்; உங்களுக்கு உதவும் அல்லது ஆலோசனையை அளிக்கும் ஆயிரக்கணக்கான ஆன்லைன் சமூகங்கள் மற்றும் செய்தி பலகைகள்."

"Java-வில் அதிக நிரல்களை எழுதஎழுத, 'ஏன் Java?' என்ற கேள்விக்கான பதிலை நீங்கள் பெறுவீர்கள். இன்றைக்கான பாடம் அவ்வளவுதான்."

"நன்றி, பேராசிரியர் அவர்களே. இது மிகவும் சுவாரஸ்யமாகவும் ஊக்கமளிப்பதாகவும் இருந்தது."