Featured Post

தமிழில் போர்னோகிராஃபி இருக்கிறதா என்ன?

இன்று டிவிட்டரில் ஸ்ரீதர் நாராயணன் என்னிடம்,  “@ mohandoss சில எல்லைகளை அநாயசமா கடந்து எழுதறீங்க. ஆனா, எதுக்கு எழுதனும்கிற நோக்கமும...

Tuesday, June 12, 2007

(ஜாவா) ப்ரொக்கிராமிங் ஃபார் டம்மீஸ்

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

எல்லோருக்குமே ஒரு மாதிரி ப்ரொக்கிராமிங்(நிரலி எழுதுதல்) பற்றி ஒரு அடிப்படை ஐடியா இருக்கும். ரொம்ப சிம்பிளா சொன்னா கூட்டல் கழித்தல் கணக்கு போடவதில் இருந்து ப்ரொக்கிராமிங் டெக்னாலஜியை ஆரம்பிக்கலாம். நீங்க ஒரு கடைக்குப் போறீங்க, நாலு ஹமாம் சோப்பு வாங்குறீங்க, 100 கிராம் கோல்கேட் டூத்பேஸ்ட் ஒரு ஐந்து வாங்குறீங்கன்னு வைங்க. இதில் அந்தக் கடைக்காரருக்கான ப்ரொக்கிராமிங் எப்படி இருக்கும்னா, நீங்க வாங்கின அந்த நாலு ஹமாமோட டோட்டலையூம் 100 கிராம் கோல்கேட் ஐந்தோட டோட்டலையும் போட்டு கூட்டி, அதை ஒரு பில் மாதிரி ரெடி பண்ணி கொடுக்கும் விஷயத்தை நீங்கள் பார்த்திருப்பீர்கள். அது ஒரு பகுதி என்று வைத்துக் கொள்ளலாம்; ஆனால் இதில் முக்கியமான பகுதி ஒன்றிருக்கிறது. அதுதான் ஸ்டாக் மேனேஜ்மென்ட்.

எப்படின்னா அந்தக் கடைக்காரர் ஒரு ஐம்பது ஹமாம் சோப்பையும், ஐம்பது 100 கிராம் கோல்கேட் பாக்கெட்களையும் வைத்திருக்கிறார் என்றால். நீங்கள் பர்சேஸ் செய்து முடித்ததும் மொத்த ஹமாம் சோப்பின் எண்ணிக்கை நான்கு குறைந்து 46 ஆகவும். கோல்கேட் 100 கிராம் எண்ணிக்கை 45 ஆகவும் ஆகவேண்டும். இதனால் என்ன நன்மை என்றால் உங்களின் இருப்புக்களின் எண்ணிக்கை ஒரு இலக்கை அடைந்தவுடன்(அதாவது 10 என்று வைத்துக் கொள்வோமே) உங்களுக்குத் தெரியப்படுத்த முடியும். இதைச் சாதாரணமா ஒரு அலமாரியில் வரிசைக்கிரமாக அடுக்கி வைத்தாலே குறையக் குறைய நமக்குத் தெரியும் என்று சொல்லலாம்.

ஆனால் 1000 பொருள்களை விற்கும் அங்காடி உங்களுடையது என்று வைத்துக் கொள்வோம், இதில் ஐம்பது பொருள்கள் குறைவான எண்ணிக்கையில் இருப்பதால் அன்றிரவே வாங்க வேண்டுமென்றால் உங்களால் ஞாபகப் படுத்தியோ இல்லை ஒன்றொன்றாகவோ பார்த்தோ சொல்வது என்பது கடினமாகயிருக்கும். அப்பொழுது உங்களுக்கு ப்ரொக்கிராமிங் உதவக் கூடும். இந்தக் கூட்டல் கழித்தல் வேலைகளையும்; குறைந்திருக்கும் பொருள்களின் எண்ணிக்கையையும் அழகாக கொடுப்பதற்குத்தான் நாங்கள் ப்ரொக்கிராம் எழுதுவோம் என்று வைத்துக் கொள்ளலாம்.

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

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

-------------------------------------------------------------------------

ஓரளவிற்கு ப்ரொக்கிராமிங் பற்றி தெரிந்து கொண்டிருப்பீர்கள் இனி இதில் ஜாவா எங்கிருந்து வருகிறது என்று பார்ப்போம். இப்பொழுது வழக்கத்தில் இருக்கும் அடிப்படையில் பார்த்தீர்கள் என்றால்(ரொம்ப ஜெனரலா) இது போன்ற அப்ளிகேஷன்களை, ப்ரொடக்ட்களை இரண்டு விதமாகப் பிரிக்கலாம். ஒன்று டெக்ஸ்டாப் அப்ளிகேஷன் மற்றொன்று வெப் பேஸ்ட் அப்ளிகேஷன். இரண்டிற்குமான வித்தியாசம் பெயரிலேயே புரிந்திருக்கும், ஒன்று இணையத்தின் தேவையில்லாதது மற்றது இணையத்தின் தேவை உடையது. இரண்டைப் பற்றியும் கொஞ்சம் பார்ப்போம்.

டெக்ஸ்டாப் அப்ளிகேஷன்

இதற்கான உதாரணமாகச் சொல்லவேண்டுமென்றால் மேற்ச்சொன்ன மளிகைக் கடை உதாரணத்தையே எடுத்துக் கொள்ளலாம். இதில் முக்கியமான வித்தியாசம் எங்கே வருமென்றால்(வெப் பேஸ்ட் அப்ளிகேஷன்களுடன்)

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

இன்னும் நிறைய வித்தியாசங்கள் சொல்லலாம் என்றாலும் இதுவே போதும் என்று நினைக்கிறேன். விஷயங்களைப் பற்றி எழுதும் பொழுது நினைவில் எந்த புது விஷயமும் வந்தால் எழுதுகிறேன்.

இந்த டெக்ஸ்டாப் அப்ளிகேஷன்களை எழுதத்தான் ஜாவாவை உபயோகிப்பார்கள். சொல்லப் போனால் நீங்கள் C, C++, Java, VB, COBOL ஆகிய எல்லா ப்ரொக்கிராமிங் லாங்க்வேஜ்களையும் உபயோகித்து டெக்ஸ்டாப் அப்ளிகேஷன் எழுத முடியும். இவைகள் ஒவ்வொன்றிற்கும் அவற்றிற்கான சாதக பாதகங்கள் உண்டு. என்னைப் பொறுத்தவரை இணையத்தின் தேவை இல்லையென்றால் ஜாவாவை விடவும் VB உங்களுக்கு டெக்ஸ்டாப் அப்ளிகேஷன் எழுத அதிகம் உதவக்கூடும்.

ஏனென்றால் உங்களுக்கு மைக்ரோசாஃப்ட் பற்றியும் லினக்ஸ் பற்றியும் தெரிந்திருந்தால் இன்னும் சுலபமாகவே விளக்கமுடியும். வித்தியாசம் யூசர் ப்ரண்ட்லினஸ்; கணிணி என்றாலே என்னவென்று தெரியாதவர் விண்டோஸை உபயோகிப்பது லினக்ஸை உபயோகிப்பதை விட சுலபமாகயிருக்கும். அதைப் போலவே VBக்கும் ஜாவாவிற்குமான வித்தியாசம்.

நாங்கள் ப்ரொக்கிராமை எழுத உபயோகிக்கும் டூலை நீங்கள் இப்படி(ஆப்பரேட்டிங் ஸிஸ்டமாக) ஒப்பிட்டால் சுலபமாகயிருக்குமென்று நினைக்கிறேன். இருபது டெக்ஸ்ட் பாக்ஸ் உள்ள ஒரு அப்ளிகேஷனை நீங்கள் VBயில் எழுதி உருவாக்குவதற்கும், ஜாவாவில் எழுதி உருவாக்குவதற்கும் ஆகும் நேரம் நிச்சயமாக வித்தியாசப்படும். இப்பொழுது கொஞ்சம் போல் சுலபமாகச் செய்துவிடலாமென்றாலும் VBயில் முடிவது போல் சுலபமாகவும் வேகமாவும் ஜாவாவால் செய்யமுடியாது. இன்னும் கொஞ்சம் விரிவாக VB ஜாவாவிற்கான வித்தியாசங்களை அடுத்தப் பதிவில் பார்ப்போம்.

என்னுடைய ஜாவா அனுபவங்கள் தொடரும்....

முதல் பாகம்

12 comments:

சு. க்ருபா ஷங்கர் said...

ஏதேது, ஜாவாவைப் பத்தி சொல்லி VBக்கு சப்போர்ட் பண்ற மாதிரி பதிவுகள் எழுதப்போறீங்க போலருக்கே?

அப்படியே நம்ப தலையையும் கண்டுக்கோங்க.


க்ருபா

ஆசிப் மீரான் said...

மோகனா

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

என்னைமாதிரி ஆட்களுக்கும் புரியும்படியாக இருப்பதுதான் சிறப்பு. அடுத்த பாகத்தை எதிர்பார்க்கிறேன்(ஆசிரியருக்கு கடிதம் பகுதிக்கு எழுதுற மாதிரியே இல்ல?:-)

சாத்தான்குளத்தான்

Sathia said...

தொடர் நல்லா வருது. புதிதா வருபவர்களுக்கு பகுதி 1-2-3ன்னு மேலே சுட்டி குடுத்தா சுலபமா இருக்கும் முன் பகுதிகளை படிப்பதற்கு

பங்காளி... said...

ஐயா சாமீ...

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

ரொம்ப டாங்ஸ்பா(அட்வான்ஸா வச்சிக்கங்க...)

கப்பி பய said...

தெளிவான விளக்கங்கள்!!

//ஏதேது, ஜாவாவைப் பத்தி சொல்லி VBக்கு சப்போர்ட் பண்ற மாதிரி பதிவுகள் எழுதப்போறீங்க போலருக்கே?//

அப்படியெல்லாம் இல்லைல? :))

Anonymous said...

அழகாக பாடம் நடத்திறீங்க.
தொடருங்க.

வெட்டிப்பயல் said...

Mohan,
I feel its better to start this series in a different blog... Will be helpful for lot of people.

Thx a lot

tamil said...

உங்கள் எழுத்தில் மண் வாசனை மணக்கிறது. என்னுடைய இணைய தளத்தில் நம் மண்ணைப் பற்றி ஏதாவது எழுதுங்களேன்.
http://wwww.tamilcontent.com
tc@tamilcontent.com

tamil said...

Dear Mohan

உங்கள் எழுத்தில் மண் வாசனை மணக்கிறது. நம் மண்ணைப் பற்றி ஏதாவது எழுதுங்களேன், என்னுடைய இணையத்தளத்தில்.

http://www.tamilcontent.com
e-mail: tc@tamilcontent.com

வடுவூர் குமார் said...

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

வடுவூர் குமார் said...

என்னுடைய "லினக்ஸில் தமிழ்" என்னும் பதிவை படித்துவிட்டு திரு ரத்தினகிரி என்பார் ஒரு அறிமுகப்படுத்தினார்,அது இது தான்.
அதில் வேதியல் படித்த
திரு மணி என்பார் VB பற்றி அவ்வளவு அழகாக எழுதியுள்ளார்.ஆர்வம் உள்ளவர்கள் அங்கு போய் எட்டிப்பார்களாம்.

ந.ர.செ. ராஜ்குமார் said...

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