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

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

ஜாவா
தோன்றிய ஆண்டு:1995
உருவாக்குநர்:சண் மைக்ரோசிஸ்டம்ஸ்
இயல்பு முறை:Static, strong, safe, nominative
முதன்மைப் பயனாக்கங்கள்:{{{நடைமுறைப்படுத்துவோர்கள்}}}
பிறமொழித்தாக்கங்கள்:Objective-C, C++, Smalltalk, Eiffel, C#[1]
இம்மொழியினால் ஏற்பட்ட தாக்கங்கள்:C#, D, J#, Ada 2005
இயக்குதளம்:கலப்பு-இயங்குதளம்
இணையத்தளம்:http://www.java.com/
ஜாவா நிரலாக்க மொழியின் ஒரு எடுத்துக்காட்டு.

ஜாவா மற்றும் ஜாவாஸ்கிரிப்ட் ஆகிய மொழிகள் பெயர் மற்றும் நடையளவில் ஒத்திருந்த போதிலும் அவை வெவ்வேறு காரணங்களுக்காகத் தோற்றுவிக்கப்பட்ட மாறுபட்ட மொழிகளாகும். ஜாவா என்பது மிகவும் பிரபலமான மென்பொருள் உருவாக்கி. தற்காலத்தில் பெரும்பாலான மின் கருவிகள் ஜாவாவை அடிப்படையாகக்கொண்டு செயல்படுகின்றன. ஜாவா சன் மைக்ரோசிஸ்டம் என்ற நிறுவனத்த்தை சேர்ந்த ஜேம்ஸ் கோஸ்லிங் என்பவரால் 1991 ம் ஆண்டு கண்டுபிடிக்கப்பட்டது. ஜாவாவின் முதல் பதிப்பு (ஜாவா 1.0) 1995 ம் ஆண்டு வெளியிடப்பட்டது. ஜாவா பொருள் சார்ந்த நிரலாக்க மொழியாகும் (object oriented programming language). இதன் பெரும்பாலான அமைப்புகள் C, C++ ஐ ஒத்து காணப்படும்.

வரலாறு

ஆரம்பகால வரலாறு

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

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

1995 இல் சன் மைக்ரோசிஸ்டம்ஸ் ஜாவா 1.0 ஐ வெளியிட்டது. இது பிரபலமான தளங்களினைப் போலவே "ஒருமுறை எழுதி, எங்கு வேண்டுமானாலும் இயக்கலாம்" உறுதியளித்தார். மிகவும் பாதுகாப்பான இணைய மற்றும் கோப்பு அணுகல் கட்டுப்பாடுகளை அனுமதித்தது. ஜாவா விரைவில் பிரபலமான பின்னர் முக்கிய இணைய உலாவிகளில் வலை பக்கங்களில் உள்ள ஜாவா ஆப்லேட்ஸ்-ஐ இயக்கும் திறன் இணைக்கப்பட்டது.
1998 டிசம்பர் இல் ஜாவா 2 வெளியீட்டிற்கு பின் J2EE நிறுவன பயன்பாடுகள் மற்றும் மொபைல் பயன்பாடுகள் (மொபைல் ஜாவா) பெரிய அளவில் இழந்து கீழே பதிப்பு J2ME இலக்கு. J2SE ஸ்டாண்டர்ட் பதிப்பு நியமிக்கப்பட்ட. 2006 இல், சந்தைப்படுத்தல் நோக்கங்களுக்காக சன், ஜாவா EE, ஜாவா ME, மற்றும் ஜாவா SE புதிய J2 பதிப்புகள் அறிமுகப்படுத்தப்பட்டது.
2006, நவம்பர் 13, அன்று, சன் குனு பொது மக்கள் உரிமத்தின் (GPL) கீழ், இலவச மற்றும் திறந்த மூல மென்பொருலாக ஜாவாவின் பெரும்பகுதி வெளியிடப்பட்டது.
2007, மே 8 அன்று, சன் இதை முழுமையான இலவச திறந்த மூல மென்பொருளாக நிபந்தனைகளின் கீழ் விநியோகம் செய்யப்படுகிறது.
2010 முதல் ஒவ்வொரு ஆண்டும் 930 மில்லியன் ஜாவா நிகழ்நேர சூழல் மற்றும் 3 பில்லியன் மொபைல் தொலைபேசிகளில் ஜாவா பதிவிறக்கம் செய்யப்பட்டன.

பதிப்புகள்

பதிப்புகள்வெளி வந்த நாள்
JDK 1.0ஜனவரி 21, 1996
JDK 1.1பிப்ரவரி 19, 1997
J2SE 1.2(டிசம்பர் 8, 1998
J2SE 1.3மே 8, 2000
J2SE 1.4பிப்ரவரி 6, 2002
J2SE 5.0செப்டம்பர் 30, 2004
ஜாவா SE 6டிசம்பர் 11, 2006
ஜாவா SE 7ஜூலை 28, 2011
ஜாவா SE 8March 18, 2014

ஜாவாவின் அடிப்படை கொள்கைகள்

ஜாவா மொழி உருவாக்கப்பட்டபோது ஐந்து முதன்மை இலக்குகள் இருந்தன. அவை

  • எளிய பொருள் சார்ந்த மற்றும் இணக்கமாக இருக்க வேண்டும்
  • வலுவான மற்றும் பாதுகாப்பானதாக இருக்க வேண்டும்
  • கட்டமைப்பு-நடுநிலை மற்றும் எங்கும் எடுத்து செல்லக்கூடியதாக இருக்க வேண்டும்
  • உயர் செயல்திறனுடன் இயக்க வேண்டும்

ஜாவாவின் சிறப்பம்சங்கள்

  • எளிமையானது
  • பலமானது
  • பாதுகாப்பானது
  • இயங்குதள சார்பின்மை
  • எளிதில் ஒரு இயங்குதளத்திலிருந்து மற்றொன்றிற்கு மாற்றலாம்

அனைத்து இயந்திரங்களும் புரிந்து கொள்ளக்கூடியது 0 மற்றும் 1 மட்டுமேயாகும். ஜாவா நிரல், நிரல் எழுதப்பட்ட இயந்திரத்திலேயே 0 மற்றும் 1 -ஐ மட்டுமே கொண்ட கோப்புகளாகச் சேமிக்கப்படுகிறது. இதன் மூலம்தான் ஜாவா நிரலாக்க மொழி இயங்குதள சார்பின்மையை அடைகிறது.

தளம் சாரத்தன்மை

ஜேம்ஸ் கோஸ்லிங்

ஜாவாவின் மிக முக்கியமான பண்பு தளம் சாராத்தன்மை (Platform Independent) ஆகும். C, C++ போன்ற கணினி நிரலாக்க மொழிகளைத் தொகுக்கும்போது (compile) அவை குறிப்பட்ட தொகுக்கும் இயந்திரத்தின் தன்மைக்கேற்ப அமையும். ஆனால் ஜாவா தொகுக்கப்படும்போது அவை தளம்சாரா எண்ணுன்மி குறியீடு (platform independent byte code) எனப்படும் தளம் சாரா அமைப்பை உருவாக்கும். இந்த பைட் குறியீடானது ஜாவா மெய்நிகர் பொறி (JVM) எனப்படும் ஜாவா மெய்நிகர் இயந்திரத்தால் பல்வேறு தளங்களில் விளக்கப்படுகின்றன.

ஜாவா மெய்நிகர் இயந்திரம்

ஜாவா அமைப்பில் ஜாவா மெய்நிகர் இயந்திரம் [(Java Virtual Machine (JVM)] மிக முக்கிய பங்கு வகிக்கின்றது. இதில் ஜாவா நிரல்களை இயக்கும் சூழல் உள்ளது. ஜாவா மெய்நிகர் இயந்திரமானது ஒரு மென்பொருளாகும். இவை வன்பொருள் (Hardware) மற்றும் இயக்கு தளம் (Operating System) ஆகியவற்றின் மீது செயல்படுத்தப்படும். ஜாவா மூலக் குறியீடு (source code) அதாவது .java கோப்பானது செயல்படுத்தப்படும் போது இவை எண்ணுன்மி குறியீடுகளாக (Byte Codes) மாற்றப்பட்டு பின் .class கோப்பிற்குள் வைக்கப்படும். இந்த பைட் குறியீடுகளானது பின் ஜாவா மெய்நிகர் இயந்திரத்தால் செயல்படுத்தப்படுகின்றன. ஆகவே இந்த பைட் குறியீடுகளானது ஜாவா மெய்நிகர் இயந்திரத்தின் எந்திர மொழி (Machine Language) எனப்படுகின்றது.

பொருள் சார்ந்த நிரலாக்கம்

ஜாவா ஓர் பொருள் சார்ந்த நிரலாக்க மொழியாகும் (Object Oriented Programming). இவை பின்வரும் தனிச் சிறப்புகளைக் கொண்டுள்ளன.

எளிமையானது

ஜாவா கற்பதற்கு ஏற்ற மிக எளிமையானது. இவை புரிந்துகொள்ள எளிமையான வடிவமைப்பை பெற்றுள்ளன. C, C++ இல் உள்ள குழப்பமான மற்றும் தெளிவற்ற கருத்துக்கள் நீக்கப்பட்டு அல்லது மறு வடிவமைக்கப்பட்டு இவை செயல்படுத்தப்படுகிறது.

வலுவான அமைப்புடையது

ஜாவா பெரும்பாலும் பிழை உள்ள குறியீடுகளை நீக்கி சிறந்த முறையில் செயல்பட முயற்சிக்கும். மேலும் நினைவக மேலாண்மை மற்றும் பிழைகளை கையாளும் வகையில் ஜாவா சிறப்பாக வடிவமைக்கப்பட்துள்ளது.

பாதுகாப்பானது

பாதுகாப்பை கருதும்போது ஜாவா எப்பொழுதும் முதலில் தேர்வாகிறது. இதன் பாதுகாப்பு தன்மையால் நச்சுநிரல் அற்ற (virus free) அமைப்பை உருவாக்க முடியும்.

பல்புரியாக்கம்

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

நடுநிலையான வடிவமைப்புடையது

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

பெயர்வுத் திறன்

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

செயல் திறன்மிக்கது

ஜாவா விளக்கத்தன்மையுடையது இவை C, C++ போன்ற நிரலாக்க மொழிகளைக் காட்டிலும் மேலானது.

பகிர்வுதன்மை

ஜாவா HTTP மற்றும் FTP போன்ற TCP/IP நெறிமுறைகளில் (Protocol) மேம்பட்ட நடைமுறைகளை, பகிர்வுதன்மையைக் (JAVA IS DISTRIBUTED) கொண்டுள்ளது. ஆகவே வலையமைப்பிலுள்ள URL மூலமாக பொருட்களை (objects) அணுக முடியும்.

பயன்பாடுகள்

ஜாவா இயங்குதளம்

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

செயலாக்கங்கள்

ஜனவரி 27, 2010 இல் சன் மைக்ரோசிஸ்டமிடம் ஜாவா SE இயக்குதளத்தை உத்தியோகபூர்வமாக மேம்படுத்த ஆரக்கிள் நிறுவனம் உரிமம் பெற்றது. இதை தொடர்ந்து மாக் X, விண்டோஸ் மற்றும் சோலாரிஸ் இயங்குதளங்களுக்கான ஆரக்கிள் வெளியிடப்பட்டது.

செயல்திறன்

ஜாவாவில் எழுதப்பட்ட நிரல்கள் சி++ ஐ விட மெதுவாகவும்,அதிக இடம் தேவை படுவதாகவும் இருப்பினும் 1997/1998ல் ஜாவா 1.1 ன் ஒரேநேர தொகுப்பு அறிமுகத்தின் பின் ஜாவா நிரல்களின் செயல்படுத்தும் வேகம் குறிப்பிடத்தக்க முன்னேற்றம் அடைந்தது. டிசம்பர் 2012 நிலவரப்படி ஜாவா7 சி++ ஐ விட சுமார் 44% மெதுவானதாக தெரிந்தது.

தானியங்கி நினைவக மேலாண்மை

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

ஜாவாவின் பயன்பாடுகள்

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

மேற்கோள்கள்

  1. In Java 5.0, several features (the enhanced for loop, autoboxing, varargs, annotations and enums) were introduced, after proving themselves useful in the similar (and competing) language C#.

புற இணைய இணைப்புகள்

  • மிக எளிமையாக இந்நிரல் மொழியைக்குறித்து கற்பிக்கும் இணையத் தளம்
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.