JAVA - The begining
- Sree Hari
- Mar 6, 2017
- 2 min read
மனுஷன் படச்சதுல அற்புதமான கண்டுபிடிப்பு இரண்டு!! ஒன்னு computer இன்னொன்னு java!
Computer-க்கு memory இருக்கு. ஆனா brain இல்ல. ஒரு விஷயத்த சொல்லிக் கொடுத்தா புரிஞ்சுக்கும் ஆனா சுயமா சிந்திக்க தெரியாது! சுருக்கமா சொல்லனும்னா Computer பலசாலி; ஆனா முட்டாள். Computer-க்கு எதை எத செய்யலாம் எதையெல்லாம் செய்யக்கூடாது-னு தெளிவா சொல்லிக் குடுக்கறவன் தான் software developer.

சரி! Computer-கிட்ட எப்பிடி பேசறது?! கயல்விழி கிட்ட தமிழ்-ல பேசலாம், ஓமனக்குட்டி கிட்ட மலையாளத்துல பேசலாம், Computer-க்கு தெரிஞ்ச language எது? Computer language பல இருப்பினும் அதில் தலைசிறந்த the best and most flexible language - Java.
Java படிச்சா வேலை கிடைக்குமா? நான் இதை எழுதும் பொழுது உலகம் முழுக்க சுமார் 300 கோடி devices-ல Java install-ஆயிருக்கு. பல ஆயிரம் கோடி applications java-ல run ஆகுது. Changes, Enhancements வந்துகிட்டே இருக்கும். தவிர, புதுப்புது Applications, Digital India போன்ற நல்ல திட்டங்கள் இருக்க, வேலை வாய்ப்பு உறுதி. உங்களுக்கு talent இருக்கா? கல்ல செதுக்கி சிற்பமாக்கற சிற்ப்பியின் முனைப்பும் உழைப்பும் உங்ககிட்ட இருக்கா? இருக்கு-னா வேலை வாய்ப்பு உறுதி!
அப்புடி என்ன தான் இருக்கு Java-ல? அதப்பத்தி சொல்லணும்-னா 25 வருஷத்துக்கு முன்னாடி நடந்த பழைய கதை-ல இருந்து ஆரம்பிக்கணும்.
Computer; research projects மற்றும் defense or military activities-க்கு மட்டும் பயன்பட்டுக் கொண்டு இருந்த காலம். Digital தொழில்நுட்பம் இங்கொன்றும் அங்கொன்றுமாக தலையெடுத்த நேரம். C, C++ னு ரெண்டு Computer language வெகுவாக பயன்பாட்டில் இருக்க, James Gosling and Team, Java-னு புதுசா ஒரு computer language கண்டுபிடிச்சாங்க.
அதுதான் C, C++ இருக்கே, புதுசா எதுக்கு இன்னொரு language? Computer-ங்கறது ஒரு harware, அதுக்கு மேல operating system (software), அதுக்கும் மேல applications run ஆகக்கூடிய ஒரு அமைப்பு. உதாரணத்துக்கு intel (microprocessor), monitor, keyboard, mouse இதெல்லாம் harware; windows - operating system; word, excel, powerpoint, mobile apps இதெல்லாம் applications.
இப்போ பிரச்னை என்னனா, C, C++ வெச்சு windows-க்காக எழுதின application Linux-ல run-ஆகாது, Linux-க்குனு தனியா இன்னொரு தடவ எழுதணும். இப்படி எத்தனை platform இருக்கோ அத்தனைக்கும் தனித்தனியா ஒரே application-எ ஒவ்வொரு தடவையும் re-write பண்ணனும். Effort Intensive! Maintenance is also challenge - அதாவது நம்ம application-ல புதுசா ஒரு feature add பண்றோம்னு வெச்சுப்போம், ஒவ்வொரு platform-க்கும் அதே application-ன தனித்தனியா change பண்ணனும்.
இதெல்லாம் தேவையே இல்ல, "Write once, run anywhere"-னு சொன்னார் James Gosling. Java-ல எழுதின application எந்த platform-ல வேணும்னாலும் run-ஆகும்னு சொன்னார். இந்த feature-க்கு பெயர் தான் Portability. ஆரம்பத்துல, இதொரு feature-ஆனு கேட்டு, software உலகம் java-வ reject பண்ணிடுச்சு. ஆனா, 1996-ல internet வர, computer-எ சாதாரண மனுஷன் கூட use பண்ணலாம்-னு ஒரு சூழ்நிலை உருவாச்சு.
Internet - inter connection of devices (computers, printers, scanners, network devices, etc). நிறைய devices! ஒவ்வொன்னுலயும் ஒவ்வொரு மாதிரியான platform. Maintenance ரொம்ப கஷ்டம். "Write once, run anywhere"-ங்கற feature (portability) கட்டாயம் தேவை-ங்கற சூழ்நிலை உருவாக, அன்று தொடங்கிய java-வின் வெற்றி பயணம், இன்றும் தொடர்கிறது!
Computer-ல இருந்து tablet, tablet-ல இருந்து smart phones - இப்படி technology பல வடிவங்கள் எடுக்கலாம். ஆனா, java-வச்சு computer, tab, smart phones, smart cards-னு எந்த மாதிரியான devices-க்கும் code எழுத முடியும். Famous mobile operating system “Android” எழுதப்பட்டது java-ல தான். Java ஒன்னில்லணா இன்னொரு வடிவில் வாழ்ந்து கொண்டே இருக்கும். வேலை வாய்ப்பு உறுதி!
Computer-ரும் java-வும் ஒரு பக்கம் இருக்கட்டும், ஒரு நல்ல software developer-ருக்கான குணாதிசயங்கள் என்ன?
நான் மொதல்ல சொன்ன மாதிரி computer-க்கு memory இருக்கு. ஆனா, brain இல்ல. அது என்ன செய்யணும், என்ன செய்யக்கூடாதுனு software developer தான் தெளிவா சொல்லிக்குடுக்கனும். Example-க்கு, குட்டியா ஒரு algorithm-எ பாப்போம் –
"ரெண்டு number கொடுத்தா, add பண்ணி சொல்லு "
Computer-கிட்ட இப்படி சொன்னிங்கன்னா, எத்தனை பேர் எத்தனை தடவ கேட்டாலும், கொஞ்சம் கூட tired ஆகம பதில் சொல்லிக்கிட்டே இருக்கும்.
சரி, யாரோ ஒரு புத்திசாலி திடீர்னு வந்து [A + 10] எவ்வோளோனு சொல்லு பாப்போம்னு கேட்டர்னு வெச்சுப்போம். Computer confuse ஆயிரும். Error அடிக்கும்.
அப்ப நாம algorithm-எ மாத்தணும். இன்னும் தெளிவா computer-க்கு சொல்லிக்குடுக்கனும்:
"ரெண்டு number கொடுத்தா, மொதல்ல number-ரானு பாரு. அப்பறம் கூட்டி பதில் சொல்லு. Number இல்லனா, sorry sir தவறான input-னு சொல்லிடு"
இப்படி, எல்லா possibilities-யும் யோசிச்சு code எழுதணும். அவன் தான் talented software programmer! வாங்க java படிக்கலாம்!
Next Blog: JVM - JRE - JDK
Comments