செப்டம்பர் 12, 2010

ஜாவா புரோகிராம் அடிப்படைகள் - ஜாவா தொடர்

இந்த பதிவிலிருந்து ஜாவாவில் நிரலெழுத ஆரம்பித்து விடுவோம்.   இதுவரை ஜே.ஆர்.இ, ஜே.வி.எம் குறித்து சில அடிப்படைகளைத் தெரிந்து கொண்டோம்.

சி, சி++ நிரல் மொழியைப் போலவே ஜாவாவிலும் main() செயல்கூறிலிருந்து (செயல்கூறு - function) இயங்க ஆரம்பிக்கும்.  எனினும் ஜாவா மொழி சில இடங்களில் வேறு படுகிறது.  ஜாவா மொழி மூலம் தனிமேசைப் பயன்பாடுகள் (desktop applications), இணையப் பயன்பாடுகள் (web applications), செல்லிடப் பயன்பாடுகள் (mobile applications) என அனைத்துவகையான தேவைகளுக்கும் மென்பொருட்களை உருவாக்க முடியும்.

ஜாவா தொலைக்காட்சியிலிருந்து செயற்கைகோள் வரை எல்லா இடத்திலும் இயங்கும்.  காரணம் ஜாவா உருவாக்கத்தின் நோக்கமே இதற்காகத்தான்.  ஜாவாவை உருவாக்கிய சன் மைக்ரோசிஸ்டமஸ் மின்னனு சாதனங்களுக்கான மென்பொருள் தீர்வுகளை வழங்கி வந்தது.  வெவ்வேறு வன்பொருள் கட்டமைப்புகளில் ஒரேமாதிரி இயங்கக் கூடிய தேடலில்தான் ஜாவா மலர்ந்தது.  ஒவ்வொரு வகை மையச் செயலிக்கும் (microprocessor) வெவ்வேறு ஆணை அமைவுகள் (instruction set) இருக்கும். வெவ்வேறு கட்டமைப்புகளில் இயங்குவதற்கு நிரல்களை ஒவ்வொரு முறையும் மாற்றிக் கொண்டிருப்பதற்கு பதிலாக ஒரே முறை எழுதிவிட்டு ஜாவா மெய்நிகர் கணினியில் (java virtual machine) இயக்கிக் கொள்ளலாம்.  சென்ற பதிவிலேயே பார்த்துவிட்ட இந்தத் தகவலை ஏன் மறுபடியும் பார்க்க வேண்டும்?   இதுதான் ஜாவாவின் அடிப்படை. முற்றிலும் புதிதாக கற்றுக் கொள்பவர்களுக்காக மீண்டும் மீண்டும் வலியுறுத்தப் படுகிறது.

உங்களுக்கு ஏற்கனவே சி,சி++ போன்ற மொழியில் பரிட்சயம் இருந்தால் ஜாவா கற்றுக் கொள்வது இன்னும் எளிது. for,while,if,int.. என அங்கொன்றும் இங்கொன்றுமாக படித்து வைத்ததை ஜாவாவிற்கு பயன்படுத்திக்  கொள்ளலாம்.  சி, சி++ படிக்காமலேயும் ஜாவா படிக்கலாம். இல்லையே நாங்கள் கேள்விபட்டவரை புதிதாய் கற்றுக் கொள்பவருக்கு சி தான் ஏற்றது என உங்களில் சிலர் முரண்டுபிடிப்பதைப் பார்க்கிறேன். நிரலாக்கத்திற்கு முற்றிலும் புதியவருக்கும் ஜாவாவை அறிமுகப் படுத்தலாம்.   ஆனால் உரிய கருவிகளைக் கொண்டு.  எடுத்த எடுப்பிலேயே முழுவீச்சில் எல்லாவற்றையும் கற்றுக் கொள்ள வேண்டும் என்பதல்ல.   தேவையானதை மட்டும் அவரவர் தேவைக்கேற்றாற் போல் அறிமுகப்படுத்தலாம்.  எக்லிப்ஸ் போன்ற நிரலாக்க கருவிகளைக் கொண்டு ஜாவா நிரல் எழுதும்போது அனைத்து ஜாவா நிரலுக்கும் தேவையான பொதுவான வரிகளை அதுவே எழுதிக் கொடுத்துவிடும்.  இடையில் உங்களுக்குத் தேவையான நிரல் வரிகளை சொருக வேண்டியதுதான்.

இங்கு ஜாவா தனிமேசை பயன்பாடுகளுக்கான நிரல் உதவியைக் குறித்துதான் முதலில் காணப் போகிறோம்.  இதற்காக உதவுவது ஜே2.எஸ்.இ (java2 standard edition).  இன்னும் j2ee, j2me, java card.. என நிறைய இருக்கிறது.  இவை அனைத்திலும் இயங்கும் மொழி ஜாவாதான்.  வசதிகள்தான் மாறுபடும்.  எடுத்துகாட்டிற்கு செல்பேசி பயன்பாடுகளுக்கு தனிமேசைக் கணினி செயல்பாடுகளில் இருக்கும் அனைத்து வசதிகளும் தேவைப்படாது.  செல்பேசி பயன்பாட்டிற்கென இருக்கும் java2 micro editionல் என்ன தேவையோ அதுமட்டும் இருக்குமாறு தகவமைக்கப்பட்டிருக்கும்.  நிரல் ஆரம்பிக்கும் மையப் புள்ளி மாறுபடும் அவ்வளவுதான்.  எடுத்துகாட்டிற்கு ஜாவா அப்லெட் (java applets) ஏற்கனவே படித்திருப்பவர்களுக்கு தெரியும்,  அவைகளில் main() செயற்கூறே (function) இருக்காது.  அதற்கு பதிலாக init() இருக்கும். இங்கு நிரலின் ஆரம்பப் புள்ளி ஏன் மாறுகிறது. இதற்கான விடை இந்த ஜாவா நிரல்கள் எங்கு, எதில் இயங்குகிறது என்பதில் இருக்கிறது.  ஆப்லெட்டுகள் உலாவிகளுக்குள்ளே (browsers) இயங்குகின்றன. நீங்கள் எழுதிய நிரல் (ஆப்லெட்) வேறொரு நிரலின் (வலை உலாவி/browser)ன் கட்டுப்பாட்டில் இயங்குகிறது.  தனிமேசை பயன்பாடுகளில் main() செயற்கூறு எழுதக் காரணம் இங்கு கட்டுபாட்டை
நீங்களே ஏற்றுக் கொள்கிறீர்கள்.   அதாவது எங்கிருந்து நிரல் இயங்க வேண்டுமென ஜே.வி.எம் மிற்கு வெளிப்படையாக சொல்ல வேண்டும்.

 ஜாவா மெய்நிகர் கணினிக்கு (JVM) அதை இயக்குவது மட்டும்தான் வேலை. ஆளாளுக்கு ஒரு இடத்தைச் சொன்னால் எவ்வளவு கொளறுபடிகள் வரும்.
அதனால்தான் ஒரு ஜாவா நிரல் இப்படித்தான் இருக்க வேண்டுமென அந்த மொழியை உருவாக்கியவர்கள் வரையறுத்துள்ளனர்.   JVM முதலில் main() செயற்கூறு எங்கேயிருக்கிறது எனத்தான் தேடும்.  அங்கிருந்து நிரல் செயல்பட ஆரம்பிக்கும்.

main() செயற்கூறு இல்லாமல் ஜாவாவில் நிரல் எழுதமுடியுமா?
தாரளமாக முடியும்.   ஜாவா நிரல் கோப்பின் பெயர் (java program's file name), நீங்கள் எழுதியுள்ள publi classன் பெயரோடு ஒத்து இருக்கும்.  நீங்கள் எத்தனை classes எழுதினாலும், அவற்றில் ஏதோ ஒரு classல் main() இருந்தால் போதுமானது.  main() செயற்கூறினுள் (inside main function) மற்ற classற்கான ஆப்ஜெக்ட்களை (பொருள்) உருவாக்க வேண்டும்.  ஒரு ஆப்ஜெக்டை உருவாக்கிய பின் அதிலிருக்கும் மற்ற function, properties அனைத்தையும் பயன்படுத்திக் கொள்ளலாம்.

தாமதமாக வெளியிடுவதற்கு வருந்துகிறேன். காக்க வைத்ததற்கு மன்னிக்கவும்.  பணி பளு காரணமாக தொடர்ச்சியாக சீரான இடைவெளியில் வெளியிட முடியவில்லை.  எந்த சூழ்நிலையிலும் மாதத்திற்கு இருமுறையாவது தொடர் பதிவுகள் வரும் என்பதைத் தெரிவித்துக் கொள்கிறேன்.  நண்பர்களின் வேண்டுகொளுக்கிணங்க இனிமேல் ஜாவா மொழிக் கூறுகள் ஆங்கில வார்த்தையாகவே கையாளப்படும் என்பதைத் தெரிவித்துக் கொள்கிறேன்.  ஊக்கப் படுத்திய அனைத்து நண்பர்களுக்கும் நன்றி.

8 கருத்துகள் :

  1. எந்த சூழ்நிலையிலும் மாதத்திற்கு இருமுறையாவது தொடர் பதிவுகள் வரும் என்பதைத் தெரிவித்துக் கொள்கிறேன்.


    .... Keep writing! :-)

    பதிலளிநீக்கு
  2. வருகைதந்து ஊக்கப்படுத்தியதற்கு நன்றி.

    பதிலளிநீக்கு
  3. நானும் கத்துக்கறனுங்க. எழுதுங்க.

    பதிலளிநீக்கு
  4. வருகைக்கு மிக்க நன்றி அய்யா. நாங்கதான் உங்ககிட்ட பாடம் படிக்கனும்.

    பதிலளிநீக்கு
  5. நன்றி..!! தொடருங்கள்.. www.thangampalani.blogspot.com

    பதிலளிநீக்கு
  6. ஊக்கப்படுத்தும் அனைவருக்கும் நன்றி. கொஞ்ச காலம் எழுதாமல் நிறுத்தி வைத்திருந்த தொடரை தொடர்ந்து எழுத நினைக்கிறேன, நேர நிர்வாகம்தான் செய்ய இயலவில்லை.

    பதிலளிநீக்கு