ஜாவா நிரலாக்க மொழி

கட்டற்ற கலைக்களஞ்சியமான விக்கிபீடியாவில் இருந்து.

Java
Paradigm: Object-oriented, structured, imperative
Appeared in: 1990s
Designed by: Sun Microsystems
Typing discipline: Static, strong, safe, nominative
Major implementations: Numerous
Influenced by: Objective-C, C++, Smalltalk, Eiffel, C#[1]
Influenced: C#, D, J#, PHPவார்ப்புரு:Verify source, Ada 2005
OS: Cross-platform
Website: http://www.java.com/

ஜாவா சன் மைக்ரோ சிஸ்டம்ஸ் (Sun Microsystems) என்ற நிறுவனத்தினால் இணையத்தை மனதில் கொண்டு C++ கணினி மொழியைப் பின்பற்றி உருவாக்கப் பட்ட பொருள் நோக்கு நிரலாக்க மொழி. C++ மொழியின் மூலங்கள் (Source code) விண்டோஸ் லினக்ஸ் இயங்குதளங்களில் இயங்குவதற்கு ஒவ்வொறு முறையும் compile பண்னவேண்டியிருந்தது. இக்குறைபாடுகளைக் களைந்து உருவாக்கப்பட்ட ஜாவா கணினி மொழியில் இயங்குதளத்தில் Compile பண்ணியவுடன் அவை இயங்குதளங்களைச் சாராத byte code களாக மாற்றப்படும். இந்த byte codeகள் இயக்க நேரத்தில், ஜாவா மெய்நிகர் இயந்திரம் (Java Virtual Machine) என்றழைக்கப்படும், மென்பொருளினால் புரிந்துகொள்ளப்பட்டு அந்தந்த இயங்குதளங்களுக்கு ஏற்றவாறு இயக்கப்படும்.


ஜாவா மற்றும் ஜாவாஸ்கிரிப்ட் ஆகிய மொழிகள் பெயர் மற்றும் நடையளவில் ஒத்திருந்த போதிலும் அவை வெவ்வேறு காரணங்களுக்காகத் தோற்றுவிக்கப்பட்ட மாறுபட்ட மொழிகளாகும்.

[தொகு] வரலாறு

[தொகு] ஆரம்பகால வரலாறு

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


இப்பணிக்காக இவர்கள் முதலில் சி++ மொழியை பாவிப்பதற்கு எண்ணியிருந்த போதிலும், பின்பு பலவித காரணங்களால் அது நிராகரிக்கப்பட்டது. அவர்கள் வளங்கள் வரையறுக்கப்பட்டதொரு உள்ளமைப்பு இயந்திரம் (embedded system) -ஐ உருவாக்க நினைத்திருந்தனர். சி++ மொழியானது ஏற்படுத்தும் நினைவகக் காற்றடங்கள்(memory footprints) இவ்வாறான இலத்திரனியல் உபகரணங்களுக்குத் தேவைக்கதிகமாகப் பெரிதானதாக இருப்பதும், சி++ மொழிக்கேயுரியதான கடினத்தன்மை மென்பொருட் பிழைகள் எற்படக் காரணமாக இருக்கும் என்பதும் இம்மொழி நிராகரிக்கப்பட முக்கியக் காரணங்களாக இருந்தது. அத்துடன் சி++ மொழியானது நினைவகச் சுத்திகரிக்கும்(garbage collection அல்லது GC) வசதிகளைக் கொண்டிருக்கவில்லை. இதனால் மென்பொருளாளர்கள் தாங்களே நினைவகச் சுத்திகரிப்பை ஆற்றவேண்டியிருந்தது. இது மிகக் கடினமானதும் தவறுகள் அதிகமாக எற்பட வாய்ப்புள்ளதுமான ஒரு பணியாகும். மேலும் சி++ மொழியானது மேம்படுத்தப்பட்ட பாதுகாப்பு, பரவலாக்கப்பட்ட நிரலாக்கம்(distributed programming), இயக்க இழை(threading) போன்ற வசதிகளை கொண்டிருக்காதது மட்டுமின்றி பல்வேறுபட்ட கருவிகளில் பாவிக்கத்தக்கவாறு இயங்குதள சார்பின்மையையும்(platform independence) கொண்டிருக்கவில்லை.