ജാവാ പ്രോഗ്രാമിങ് ഭാഷ
വിക്കിപീഡിയ, ഒരു സ്വതന്ത്ര വിജ്ഞാനകോശം.
| Paradigm: | വസ്തുതാ അധിഷ്ഠിതം, structured, imperative |
|---|---|
| പുറത്തുവന്ന വര്ഷം: | 1995 |
| രൂപകല്പ്പന ചെയ്തത്: | സണ് മൈക്രോസിസ്റ്റംസ് |
| Typing discipline: | Static, strong, safe, nominative |
| പ്രധാന രൂപങ്ങള്: | Numerous |
| സ്വാധീനിക്കപ്പെട്ടത്: | സി, സി++, സ്മോള്റ്റോക്, ഈഫല്,[1] സി#[2] |
| സ്വാധീനിച്ചത്: | സി#, ഡി, ജെ#, അഡ 2005, ഇസിഎംഎ പ്രോഗ്രാമിങ് ഭാഷ, സ്കാല |
| ഓപറേറ്റിങ്ങ് സിസ്റ്റം: | വിവിധം |
| ലൈസന്സ്: | GNU General Public License / Java Community Process |
| വെബ് വിലാസം: | http://java.sun.com/ |
ജെയിംസ് ഗോസ്ലിങ്ങ്, ബില് ജോയ് മുതലായവരുടെ നേതൃത്വത്തില് സണ് മൈക്രോസിസ്റ്റംസ് വികസിപ്പിച്ചെടുത്ത വസ്തുതാ അധിഷ്ഠിത (object oriented) പ്രോഗ്രാമിങ് ഭാഷയാണ് ജാവ. ഇന്ന് വെബ് സെര്വറുകള്, കമ്പ്യൂട്ടറുകള്, മൊബൈല് ഫോണുകള് തുടങ്ങി ഒട്ടനവധി ഇലക്ട്രോണിക്ക് ഉപകരണങ്ങളില് ജാവ പരക്കെ ഉപയോഗിക്കുന്നു. വെബ് പ്രോഗ്രാമിങിനാണ് കൂടുതല് ഉപയോഗിക്കുന്നതെങ്കിലും അതിലേറെ കാര്യങ്ങള് ചെയ്യാന് ഉപയോഗിക്കുന്ന വിവിധോദ്ദേശ പ്രോഗ്രാമിങ് ഭാഷയാണിത്.
കമ്പ്യൂട്ടറുകളില് തന്നെ സെര്വറുകളും ക്ലൈന്റുകളിലും പ്രത്യേകം പ്രത്യേകം പ്രവര്ത്തിക്കാന് പ്രാപ്തമായ പ്രോഗ്രാമുകള് സൃഷ്ടിക്കാന് ജാവ ഉപയോഗിച്ചു കഴിയും. അതിനുപുറമേ സ്വതന്ത്രമായി പ്രവര്ത്തിക്കുന്ന ആപ്ലിക്കേഷനുകള് നിര്മ്മിക്കാനും ജാവ ഉപയോഗിക്കുന്നു. സോഫ്റ്റ്വെയറുകള് പ്രത്യേക ഓപറേറ്റിങ് സിസ്റ്റത്തിന് എന്ന മറ്റുപല പ്രോഗ്രാമിങ്ഭാഷകള്ക്കും ഉള്ള പരിമിതി ജാവയ്ക്കില്ല. പ്ലാറ്റ്ഫോം സ്വതന്ത്രം (Platform Independent) എന്ന ഈ ഗുണം ജാവ സാധ്യമാക്കുന്നത് ജെ.വി.എം(JVM-Java Virtual Machine) ഉപയോഗിച്ചാണ്.
ഇന്ന് ജാവയുടെ വേര്ഷന് 6 (ജാവ 6) ഉം, ജെ.ഡി.കെ വേര്ഷന് 1.6 ഉം ആണ്. ജാവയുടെ പ്രധാന പതിപ്പുകളില് ഏഴാമത്തേതാണിത്. 35 ലക്ഷം ആളുകള് ജാവ പഠിക്കുകയോ പ്രോഗ്രാമിങിനായി ഉപയോഗിക്കുകയോ ചെയ്തിട്ടുണ്ട്. ജാവയില് സോഫ്റ്റ്വെയറുകള് സൃഷ്ടിക്കാന് സണ് മൈക്രോസിസ്റ്റംസ് ജെ.ഡി.കെ. അഥവാ എസ്.ഡി.കെ(JDK-Java Development Kit, SDK-Software Development Kit) എന്നൊരു വികസനോപാധിയും സൃഷ്ടിച്ചിട്ടുണ്ട്. പ്രോഗ്രാമിങ് താരതമ്യേന എളുപ്പമാക്കാന് എക്ലിപ്സ്, നെറ്റ്ബീന്സ്, ബോര്ലാന്ഡ് ജെബില്ഡര് തുടങ്ങിയ ഐ.ഡി.ഇകളും ഇന്ന് ലഭ്യമാണ്.
ഏറക്കുറേ സി, സി++ എന്നീ പ്രോഗ്രാമിങ് ഭാഷകളുടെ ലേഖനവ്യവസ്ഥ (syntax) തന്നെയാണ് ജാവയിലും ഉപയോഗിക്കുന്നത്. മൈക്രോസോഫ്റ്റിന്റെ സി# (സി ഷാര്പ്പ്, മുമ്പ് ജെ++) പോലുള്ള ഭാഷകളില് ജാവയുടെ സ്വാധീനം ഏറെയുണ്ട്. സി ഷാര്പ്പില് നിന്നും ജാവയും ചില പ്രത്യേകതകള് കടംകൊണ്ടിട്ടുണ്ട്. പേരിലും, ലേഖനരീതിയിലും സാമ്യങ്ങളുണ്ടെങ്കിലും ജാവാസ്ക്രിപ്റ്റ് എന്ന സ്ക്രിപ്റ്റിങ്ങ് ഭാഷയ്ക്ക് ജാവയുമായി ബന്ധമൊന്നുമില്ല.
1990 കളുടെ ആദ്യപാദത്തില് സണ് മൈക്രോസിസ്റ്റംസ് വികസിപ്പിച്ച ജാവാ കമ്മ്യൂണിറ്റി പ്രോസസിന്റെ നിര്ദ്ദേശങ്ങള്ക്കനുസൃതമായി ജാവാ കംപൈലര്, ജാവാ വിര്ച്ച്വല് മെഷീന് എന്നിവയ്ക്ക് സണ് മൈക്രോസിസ്റ്റംസ് ഗ്നൂ സാര്വ്വജനിക അനുവാദപത്രം നല്കിയിട്ടുണ്ട്.
ഉള്ളടക്കം |
[തിരുത്തുക] ചരിത്രം
[തിരുത്തുക] പശ്ചാത്തലം
സി പ്രോഗ്രാമിങ് ഭാഷയില് നിന്നും 1980-ല് ബ്യാന് സ്ട്രൗസ്ട്രെപ് അവതരിപ്പിച്ച സി++ ഉം വസ്തുതാ അധിഷ്ഠിത പ്രോഗ്രാമിങ്ങും 1990 ആയപ്പോഴേക്കും ലോകം കീഴടക്കി. പ്രോഗ്രാം പ്രവര്ത്തിക്കാനാവശ്യമായ മെമ്മറി പ്രത്യേകം കുറിച്ചുകൊടുക്കണം എന്നുള്ളതുകൊണ്ടും, അതു കൊണ്ടു തന്നെ ഹാര്ഡ്വെയറിനനുസൃതമായി പ്രോഗ്രാം പുതുക്കേണ്ടി വരുമെന്നതും സി++നു തിരിച്ചടിയായി. മെമ്മറിയുടെ കൈകാര്യം പ്രോഗ്രാമറുടെ കൈയ്യിലായിരുന്നതിനാല് വിനാശബുദ്ധികള്ക്ക് ദോഷകരങ്ങളായ പ്രോഗ്രാമുകള് എഴുതാന് സി, സി++ ഭാഷകളില് എളുപ്പമായിരുന്നു.
[തിരുത്തുക] ജാവയുടെ സൃഷ്ടി
1990-ല് പരസ്പര സംവേദനക്ഷമമായ ഒരു ടിവി പരിപാടി നിര്മ്മിക്കാനുള്ള പദ്ധതിക്കിടയില് ജെയിംസ് ഗോസ്ലിങ്ങ് എന്ന സോഫ്റ്റ്വെയര് വിദഗ്ദ്ധന് സി++ന്റെ ചില പ്രത്യേകതകളില് സംതൃപ്തനാകാതെ പദ്ധതിക്കനുസരിച്ച ഒരു പ്രോഗ്രാമിങ് ഭാഷ നിര്മ്മിക്കാനുള്ള ശ്രമം തുടങ്ങിയെന്നാണ് ചരിത്രം[3]. സി യില് നിന്നും സി++ ഉണ്ടാക്കിയതുപോലെ സി++ല് അനുബന്ധങ്ങള് ചേര്ത്ത് പുതിയൊരു ഭാഷയും, ഏതൊരു ഹാര്ഡ്വെയറുമായി ആശയവിനിമയം നടത്താന് കഴിവുള്ള ഒരു ഇടനിലപ്രോഗ്രാമും നിര്മ്മിക്കാനായിരുന്നു ആദ്യശ്രമമെങ്കിലും അത് വളരെ പെട്ടന്നു തന്നെ തികച്ചും പുതിയൊരു ഭാഷയെന്ന ലക്ഷ്യത്തിലെത്തിച്ചേര്ന്നു. 1991ല് ‘ ഓക് ’ എന്ന പേരിലാണ് ഗോസ്ലിങ് പുതിയ പ്രോഗ്രാമിങ് ഭാഷയ്ക്കുള്ള ശ്രമം തുടങ്ങിയത്. സി, സി++ പ്രോഗ്രാമിംഗ് ഭാഷകളോട് സാമ്യമുള്ള ഒരു പ്രോഗ്രാമിംഗ് ഭാഷ സൃഷ്ടിക്കുകയും, ആ ഭാഷയിലെഴുതുന്ന പ്രോഗ്രാമുകള് എല്ലാത്തരം കമ്പ്യൂട്ടറുകളിലും, ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റങ്ങളിലും എന്നതിനുപരിയായി ഏത് ഇലക്റ്റ്രോണിക് ഉപകരണത്തിലും പ്രവര്ത്തിപ്പിക്കുവാന് സഹായിക്കുന്ന ഒരു വിര്ച്ച്വല് മെഷീന് നിര്മ്മിക്കുകയുമായിരുന്നു അദ്ദേഹത്തിന്റെ ലക്ഷ്യം. ബില് ജോയ്, ആര്തര് വാന് ഹോഫ്, ജോനാതന് പെയ്ന്, ഫ്രാങ്ക് യെല്ലിന്, റ്റിം ലിന്ഡോം തുടങ്ങിയവര് മറ്റു പ്രധാന സഹസൃഷ്ടാക്കളാണ്[4]. പൂര്ത്തിയാകാന് 18 മാസമെടുത്ത ആദ്യരൂപം 1992-ലാണ് പുറത്തിറങ്ങിയത്. ജാവ ആദ്യം എംബഡഡ് സിസ്റ്റങ്ങളേയും കമ്പ്യൂട്ടറുകളേയും ആയിരുന്നു ലക്ഷ്യം വച്ചിരുന്നത്. എംബഡഡ് സിസ്റ്റങ്ങള് ഒന്നിനൊന്നു വ്യത്യസ്തങ്ങളായിരുന്നതിനാല് ഒരേ പ്രോഗ്രാമിന്റെ വിതരണം എപ്പോഴും പ്രശ്നങ്ങളെ നേരിട്ടു, അതേ പ്രോഗ്രാം തന്നെ കമ്പ്യൂട്ടറില് ഉപയോഗിക്കുക എന്നത് പലപ്പോഴും അസാധ്യമായിത്തീര്ന്നു. അപ്പോഴേക്കും ഇന്റര്നെറ്റിന് ഒരു പൂര്ണ്ണത കൈവന്നിരുന്നു. അതോടെ സൃഷ്ടാക്കളുടെ ശ്രദ്ധ പുതിയമേഖലയിലേക്കു തിരിഞ്ഞു. പുതിയ ലക്ഷ്യം ജാവയുടെ വളര്ച്ചയില് നിര്ണ്ണായകമായി. ആര്ക്കിറ്റെക്ചറല് നിഷ്പക്ഷത(Architectural neutral) എന്ന ഗുണം ഏവരുടേയും ശ്രദ്ധ ആദ്യം തന്നെ ജാവയിലേക്കു തിരിയാന് കാരണമായിരുന്നുവെന്നാലും ആത്യന്തികമായി ഇന്റര്നെറ്റാണ് ജാവയുടെ വന്വിജയത്തിന് കാരണമായത്.
സണ്ണിന്റെ സംവേദനക്ഷമമായ ടി.വി. എന്ന പദ്ധതി പൊളിഞ്ഞെങ്കിലും പുതിയൊരു കഴിവുറ്റ ഭാഷയുടെ ഉദയത്തിനതു കാരണമായി. 'ഓക്' 1995-മെയ് മാസത്തില് ജാവ എന്ന പുതിയ പേരില് താരതമ്യേന പൂര്ണ്ണരൂപത്തില് പുറത്തിറങ്ങി. “ ഒരിക്കലെഴുതൂ എവിടെയും പ്രവര്ത്തിപ്പിക്കൂ ” ( Write Once, Run Anywhere -WORA) എന്ന ആപ്തവാക്യവുമായാണ് ജാവ വന്നത്.
[തിരുത്തുക] പ്രത്യേകതകള്
[തിരുത്തുക] ബൈറ്റ്കോഡ്
സി, സി++ തുടങ്ങിയ ഭാഷകളെല്ലാം കംപൈല് ചെയ്യുമ്പോള് പ്രവര്ത്തനക്ഷമമായ (executable) കോഡാണ് ലഭിക്കുന്നത്. എന്നാല് ജാവ ഒരു ബൈറ്റ്കോഡ് ആണ് സൃഷ്ടിക്കുന്നത്. ക്ലാസ് (ഉദാ: Hello.class) എന്നായിരിക്കും ഈ ബൈറ്റ്കോഡ് ഫയലിന്റെ എക്സ്റ്റെന്ഷന്. ഈ ബൈറ്റ്കോഡ് പ്രവര്ത്തിപ്പിക്കണമെങ്കില് ഒരു വിര്ച്ച്വല് മെഷീന് അത്യന്താപേക്ഷമാണ്. അങ്ങെയറ്റം ക്ലിഷ്ടമാക്കിയ നിര്ദ്ദേശങ്ങളുടെ ഗണമാണ് ബൈറ്റ്കോഡ്. പ്രോഗ്രാമിനെ പ്രവര്ത്തിപ്പിക്കുന്ന ബാധ്യത ബൈറ്റ്കോഡിനില്ല, പ്രവര്ത്തിപ്പിക്കുകയെന്നത് ജാവ വിര്ച്ച്വല് മെഷീന്റെ ഉത്തരവാദിത്തമാണ്. അതുകൊണ്ട് തന്നെ ബൈറ്റ്കോഡ് വളരെ ചെറുതും നെറ്റുവര്ക്കുകളിലൂടെ എളുപ്പം കൈമാറ്റം ചെയ്യാനാവുന്നതുമായിരിക്കും.
[തിരുത്തുക] വിര്ച്ച്വല് മെഷീന്
ജാവയില് എഴുതിയ പ്രോഗ്രാമിനെ കമ്പ്യൂട്ടറുമായി ബന്ധപ്പെടുത്തുന്ന ഇടനില സോഫ്റ്റ്വെയറാണ് ജാവ വിര്ച്വല് മഷീന്. ഒരു പ്രോഗ്രാമിനെ പ്രവര്ത്തിപ്പിക്കുവാന് പറ്റിയ അന്തരീക്ഷം സൃഷ്ടിക്കുക എന്നതാണ് വിര്ച്ച്വല് മെഷീന്റെ കടമ, ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റവുമായി സംവദിച്ച് യന്ത്രഭാഗങ്ങളെ അഥവാ കമ്പ്യൂട്ടര് ഹാര്ഡ്വെയറിനെ പ്രവര്ത്തിച്ചു കൊണ്ടിരിക്കുന്ന പ്രോഗ്രാമിന്റെ ആവശ്യാനുസരണം ലഭ്യമാക്കുക, ഒരു കവചം പോലെ നിലനിന്നു കൊണ്ട് പ്രോഗ്രാം ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തില് അനാവശ്യ ഇടപെടലുകള് നടത്താതെ നോക്കുക എന്നിങ്ങനെയുള്ള കാര്യങ്ങളാണ് വിര്ച്ച്വല് മെഷീന് ചെയ്യുന്നത്. വിര്ച്ച്വല് മെഷീന് അധിഷ്ഠിതമായ പ്രോഗ്രാമിങ്ങ് ഭാഷകള് സൃഷ്ടിക്കുന്നതിന്റെ ഉദ്ദേശ്യം ഏതു തരം ഹാര്ഡ്വെയറിലും, ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റത്തിലും പ്രവര്ത്തിക്കുന്ന പ്രോഗ്രാമുകള് എഴുതുക എന്നുള്ളതാണ്. ഇത്തരം പ്രോഗ്രാമുകള് ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റത്തെയോ, ഹാര്ഡ്വെയറിനെയോ കാണുന്നില്ല കാരണം ഇവ വിര്ച്ച്വല് മെഷീനുമായി മാത്രമേ ബന്ധപ്പെടുന്നുള്ളൂ. ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റവും ഹാര്ഡ്വെയറും മാറുന്നതിനനുസരിച്ച് പ്രോഗ്രാമുകള് അപ്പോള് മാറ്റിയെഴുതേണ്ടി വരില്ല, പകരം എല്ലാ സാഹചര്യങ്ങള്ക്കും വേണ്ടിയുള്ള വിര്ച്ച്വല് മെഷീനുകള് ആദ്യം വികസിപ്പിക്കുകയാണ് ചെയ്യുന്നത്. ബൈറ്റ്കോഡ് ഇക്കാരണം കൊണ്ട് വഹനീയം (portable) ആണെന്നു പറയുന്നു. മെമ്മറിയില് പ്രോഗ്രാമര് നടത്തുന്ന അനാവശ്യ കൈകടത്തലുകളെ ജാവ വിര്ച്ച്വല് മെഷീന് അനുവദിക്കുന്നില്ല. അതുകൊണ്ട് ജാവയില് വൈറസുകള് എഴുതുക തീരെ എളുപ്പമല്ല. ഓപ്പറേറ്റിങ് സിസ്റ്റത്തെ അമിതമായി സ്വാധീനിക്കാന് വിര്ച്ച്വല് മെഷീന് അനുവദിക്കാത്തതിനാല് ജാവ ഏറെ സുരക്ഷിതമായ പ്രോഗ്രാമിങ് ഭാഷയാണ്. പ്രോഗ്രാമുകള് പ്രവര്ത്തിപ്പിക്കാനായി 'ജാവ വിര്ച്ച്വല് മെഷീന്' പ്രോഗ്രാമിനെ പ്രവര്ത്തനക്ഷമമായി കമ്പൈല് ചെയ്യുകയും പ്രവര്ത്തിപ്പിക്കുകയുമാണ് ചെയ്യുന്നത്. ഇത് പ്രോഗ്രാം പ്രവര്ത്തിക്കുന്നത് മെല്ലെയാക്കുമെങ്കിലും ജാവയില് ഈ വൈകല് തുലോം നിസ്സാരമാണ്. ഒരു പ്രോഗ്രാം പ്രവര്ത്തിക്കുമ്പോള് വേണ്ട പലതരത്തിലുള്ള പരിശോധനകള് നടത്തുക, പ്രവര്ത്തിക്കാനുള്ള സ്ഥലം അനുവദിച്ചുകൊടുക്കുക തുടങ്ങി ഒട്ടനവധി കാര്യങ്ങള് ചെയ്യണം, അതിന്റെ കൂടെ ബൈറ്റ്കോഡ് കമ്പൈല് ചെയ്യുകയും പ്രോഗ്രാം പ്രവര്ത്തിപ്പിക്കുകയും ചെയ്യേണ്ടതുണ്ട്. ഒരു വലിയ പ്രോഗ്രാമില് ഇതെല്ലാം ഒരുമിച്ചു ചെയ്യുക എന്നത് ഏറെ സമയമെടുക്കുന്ന ഒന്നാണ്. അതുകൊണ്ട് സണ് ജെ.വി.എമ്മില് ബൈറ്റ്കോഡിനായി ജസ്റ്റ് ഇന് റ്റൈം കമ്പൈലര് (Just In Time Compiler - JIT) എന്നൊരു കമ്പൈലര് ചേര്ത്തിരിക്കുന്നു. ഒരു പ്രോഗ്രാം പ്രവര്ത്തിക്കുമ്പോള് പ്രോഗ്രാമിന്റെ ഭാഗങ്ങളെ ആവശ്യമുള്ളപ്പോള് മാത്രം കമ്പൈല് ചെയ്തു പ്രവര്ത്തിപ്പിക്കുന്നതിനാണ് ജെ.ഐ.റ്റി. ഉപയോഗിക്കുന്നത്. ഇത് ഉപയോക്താക്കള്ക്ക് യാതൊരുവിധ താമസവും അനുഭവപ്പെടാതെ തന്നെ പ്രോഗ്രാം പ്രവര്ത്തിക്കുന്നതിനു സഹായിക്കുന്നു. ജാവ 2-വിലാണ് ജെ.ഐ.റ്റി. രംഗപ്രവേശം ചെയ്തത്. ജാവ റണ്റ്റൈം എന്വിയറന്മെന്റ് അഥവാ ജെ.ആര്.ഇ. എന്നും ജാവ സോഫ്റ്റ്വെയര് എന്നും അറിയപ്പെടുന്ന സോഫ്റ്റ്വെയറിലാണ് വിര്ച്ച്വല് മെഷീനുള്ളത്. ജെ.ആര്.ഇ. ആര്ക്കും സണ്ണിന്റെ സൈറ്റില് നിന്നും ശേഖരിക്കാനും പുനര്വിതരണം ചെയ്യാനും കഴിയും.
ജാവയുടെ അതേ സിന്റാക്സ് ഉപയോഗിക്കുന്ന ജി.സി.ജെ. (GCJ - Gnu Compiler for Java) ജാവാ പ്രോഗ്രാമുകളെ ഒബ്ജക്റ്റ് കോഡ് അഥവാ കമ്പ്യൂട്ടറുമായി സംവദിക്കാന് പ്രാപ്തമായ കോഡായാണ് കംപൈല് ചെയ്യുന്നത്. ജി.സി.ജെ ഉപയോഗിച്ചാല് വിര്ച്ച്വല് മെഷീന്റെ ആവശ്യമില്ല. പക്ഷേ ജി.സി.ജെ ഉപയോഗിച്ചാല് ജാവപ്രോഗ്രാമുകളുടെ വഹനീയത്വം(portability) എന്ന ഗുണം നഷ്ടപ്പെട്ടുപോകും.
[തിരുത്തുക] പ്രോഗ്രാമിങ്
ക്ലൈന്റ് കമ്പ്യൂട്ടറുകളില് ബ്രൌസറുകളില് പ്രവര്ത്തിക്കുന്ന ജാവാ പ്രോഗ്രാമിനെ ആപ്ലറ്റ് എന്നു വിളിക്കുന്നു. സ്വതന്ത്രമായി പ്രവര്ത്തിക്കുന്ന പ്രോഗ്രാമുകളെ ആപ്ലിക്കേഷന് എന്ന് വിളിക്കുന്നു. റ്റി.സി.പി/ഐ.പി. അനുസരിച്ച് ആപ്ലറ്റുകളും, ആപ്ലിക്കേഷനുകളും എല്ലാം സമഞ്ജസമായി ഒരുമിപ്പിച്ച് ഒരു നെറ്റ്വര്ക്കില് പടര്ന്നു കിടക്കുന്ന പ്രോഗ്രാമെഴുതാനും ജാവ ഉപയോഗിക്കുന്നു. പ്രോഗ്രാമിങ് ഭാഷയുടെ ആവശ്യമുള്ള ഭാഗങ്ങള് മാത്രമേ ഒരു പ്രത്യേക പ്രോഗ്രാമിലുണ്ടാകൂ. ഇത് പ്രോഗ്രാം വളരെ ചെറുതായിരിക്കാന് സഹായിക്കുന്നു. ഉദാഹരണത്തിന് ഒരു ജാവ ആപ്ലിക്കേഷനില് ആപ്ലറ്റിന്റെ അംശം ഉണ്ടായിരിക്കില്ല. പാക്കേജുകള് എന്നറിയപ്പെടുന്ന ജാവയുടെ പ്രോഗ്രാമിങ് ഭാഷാശകലങ്ങള് ആവശ്യാനുസരണം ചേര്ത്താണിത് സാധ്യമാക്കുന്നത്. വെബ് പ്രോഗ്രാമിങ്ങിനായി ജാവയെ ഉപജീവിച്ച് സൃഷ്ടിച്ചിട്ടുള്ള കമ്പ്യൂട്ടര് ഭാഷയാണ് ജെ.എസ്.പി. . ജാവയുടെ നിര്മ്മാണത്തില് സൃഷ്ടിച്ചിട്ടുള്ള പ്രത്യേകതകള്കൊണ്ട് ആര്ക്കും അനുബന്ധങ്ങള് ഉണ്ടാക്കാനും അവയുടെ സഹായത്തോടെ പ്രോഗ്രാമിങ് കൂടുതല് എളുപ്പമാക്കാനും കഴിയും. ജാവമെയില് (ഇ-മെയിലുകളുടെ കൈകാര്യത്തിനായി), സ്റ്റ്രറ്റ്സ്, ജെ.എസ്.എഫ്. (രണ്ടും വെബ് പ്രോഗ്രാമിങ്ങിനായുള്ളത് ) തുടങ്ങിയവ ഇത്തരത്തിലുള്ള അനുബന്ധങ്ങള്ക്കുദാഹരണമാണ്. ജാവാമെയില്, ജാവ 3ഡി, ജാവ സെര്വ്ലറ്റ്സ്, ജാവ മീഡിയ, ജാവ ക്രിപ്റ്റോഗ്രാഫി എന്നിങ്ങനെ ഒരു പിടി അനുബന്ധങ്ങള് ഔദ്യോഗികങ്ങളായി ലഭ്യമാണ്.
ഉപയോഗത്തിനനുസരിച്ച് വ്യത്യസ്ത ക്രമീകരണങ്ങള് അനുവദിക്കുന്ന സോഫ്റ്റ്വെയറുകള് ഔദ്യോഗികമായി തന്നെ സണ് നിര്മ്മിച്ചിട്ടുണ്ട്. എന്റര്പ്രൈസ് ആപ്ലിക്കേഷനുകള്ക്കായി ജാവ ഇ.ഇ.(Java EE - Java Enterprise Edition), മൊബൈല് ആപ്ലിക്കേഷനുകള്ക്കായി ജാവ എം.ഇ. (Java ME-Java Mobile Edition) എന്നിങ്ങനെ; മാനക പതിപ്പിനെ ജാവ എസ്.ഇ. (Java SE-Java Standard Edition) എന്നുവിളിക്കുന്നു. ജാവ എസ്.ഇ., ജെ.ഡി.കെ. ആയി ലഭ്യമാകുന്നു. ജെ.ഡി.കെ. - ജാവ കമ്പൈലര്, ഡീബഗ്ഗര്, ജാവാഡോക്, ജാര് ഫയല് നിര്മ്മാണത്തിനുള്ള സോഫ്റ്റ്വെയര് എന്നിവ ഉള്ക്കൊള്ളുന്നു.
[തിരുത്തുക] പ്രോഗ്രാം വിഭാഗങ്ങള്
പ്രധാനമായും മൂന്ന് വിധത്തിലുള്ള പ്രോഗ്രാമുകളാണ് ജാവയിലുള്ള. സ്വയം പ്രവത്തിക്കുന്നവ (stand alone applications or desktop applications), അപ്ലെറ്റുകള് (Applets), ജാവ സെര്വ്ലെറ്റുകള് എന്നിവയാണവ.
[തിരുത്തുക] അപ്ലെറ്റ്
മറ്റുള്ള പ്രോഗ്രാമുകളില് സന്നിവേശിക്കപ്പെടുന്ന ജാവാ പ്രോഗ്രാമുകളെയാണ് പൊതുവെ ജാവാ അപ്ലെറ്റുകള് എന്ന് പറയുന്നത്, വെബ് പേജുകളില് സന്നിവേശിക്കപ്പെട്ട രീതിയിലാണ് ഇവ കൂടുതലും ഉപയോഗിക്കപ്പെടുന്നത്.
[തിരുത്തുക] സെര്വ്ലെറ്റ്
സെര്വര് കമ്പ്യൂട്ടറുകളില് പ്രവര്ത്തിക്കുന്ന ജാവാ പ്രോഗ്രാമുകളാണ് ജാവാ സെര്വ്ലെറ്റുകള്. അതേ കമ്പ്യൂട്ടറിലുള്ളതോ മറ്റുള്ള കമ്പ്യൂട്ടറില് പ്രവര്ത്തിക്കുന്നതോ ആയ പ്രോഗ്രാമുകളില് നിന്ന് (പ്രധാനമായും വെബ് ബ്രൗസറുകള്) വരുന്ന നിര്ദേശങ്ങള്ക്കനുസരിച്ച് സേവനം പ്രാധാനം ചെയ്യുന്ന (വെബ് പേജുകള് തയ്യാറാക്കുക പോലുള്ള) ജാവാ പ്രോഗ്രാമുകളാണ് സെര്വ്ലെറ്റുകള്.
[തിരുത്തുക] എഴുത്തു രീതി
ജാവയുടെ എഴുത്തു രീതി സി പ്ലസ് പ്ലസ്സില് നിന്നും രൂപപ്പെടുത്തിയിട്ടുള്ളതാണ്. എങ്കിലും, സി പ്ലസ് പ്ലസില് നിന്നും വ്യത്യസ്തമായി, ജാവ, വസ്തുതാ അധിഷ്ഠിത പ്രോഗ്രാമുകള്ക്കു (Object Oriented Programs) മാത്രമായാണ് രൂപപ്പെടുത്തിയിരിക്കുന്നത്. താഴെ ജാവയില് ഉള്ള ഒരു ഹലോ വേള്ഡ് പ്രോഗ്രാം കൊടുത്തിരിക്കുന്നു. കമാന്ഡ് ലൈനില് “Hello, World!" എന്നു പ്രിന്റ് ചെയ്യുകയാണ് ഈ പ്രോഗ്രാം ചെയ്യുക.
// Hello.java public class Hello { public static void main(String[] args) { System.out.println("Hello, World!"); } }
ജി.യു.ഐ. സൃഷ്ടിക്കാനും ജാവ ഉപയോഗിച്ചു സാധിക്കും.
import javax.swing.*; //HelloWorld.java public class HelloWorld { public static void main( String[] args ) { JFrame frame = new JFrame( "ലോകമേ വന്ദനം" ); JLabel label = new JLabel("Hello World!", JLabel.CENTER ); frame.add( label ); frame.setSize( 300, 300 ); frame.setVisible( true ); } }
[തിരുത്തുക] ഗുണങ്ങള്
ഒരു നല്ലപ്രോഗ്രാമര്ക്ക് ജാവയിലെഴുതിയ പ്രോഗ്രാം എന്താണെന്ന് പെട്ടന്നു മനസ്സിലാക്കാന് കഴിയും. ജാവയില് പരിചയമില്ലങ്കില് തന്നെയും സി, സി++ തുടങ്ങിയ പ്രോഗ്രാമിങ് ഭാഷകള് ഏതെങ്കിലും വശമുള്ളയാളാണെങ്കില് ജാവയുടെ കോഡിങ് രീതി അപ്രാപ്യമായിരിക്കില്ല. മെമ്മറിയുടെ കൈകാര്യം മുമ്പൊക്കെ പ്രോഗ്രാമറുടെ മുന്നിലെ കീറാമുട്ടികളായിരുന്നുവെങ്കില് ജാവ അതു സ്വയം കൈകാര്യം ചെയ്യുന്നതിനാല് ഉപയോഗം ഏറെ ഏളുപ്പമാക്കുന്നു. ഉപയോഗിച്ചശേഷം പ്രയോജനരഹിതമാകുന്ന മെമ്മറിയെ പുനരുപയോഗിക്കാന് ഓട്ടോമാറ്റിക് ഗാര്ബേജ് കളക്ഷന് എന്ന വിദ്യ ജാവ ഉപയോഗിക്കുന്നു. കമ്പൈല് ചെയ്യുമ്പോഴും പ്രവര്ത്തിപ്പിക്കുമ്പോഴും ജാവ കോഡിങ് പരിശോധിക്കുന്നുണ്ട്. ഇത് പ്രോഗ്രാമറുടെ കണ്ണില് പെടാതെ പോകുന്ന തെറ്റുകളെ തിരിച്ചറിയാന് സഹായകമാകുന്നു. വ്യത്യസ്തമായ സാഹചര്യങ്ങളില് ഒരേ ജാവ പ്രോഗ്രാം എപ്രകാരമൊക്കെ പ്രവര്ത്തിക്കാനിടയുണ്ടെന്നു മുന്കൂട്ടി പറയാന് കഴിയും. പ്രവര്ത്തന സമയത്തുണ്ടാകാവുന്ന ഒഴിവാക്കേണ്ട പ്രശ്നങ്ങള് അഥവാ എക്സെപ്ഷനുകള് (Exceptions- ഉദാ:പൂജ്യം കൊണ്ട് ഹരിക്കുക) തികച്ചും ഒബ്ജക്റ്റ് ഓറിയന്റഡ് രീതിയില് കൈകാര്യം ചെയ്യാന് ഈ പ്രോഗ്രാമിങ് ഭാഷയില് കഴിയും. ഒരു പ്രോഗ്രാമര്ക്ക് പ്രോഗ്രാമിനെ വിവിധ ഭാഗങ്ങളായി തിരിക്കാനും ഈ ഭാഗങ്ങളെ ഒരേസമയം പ്രവര്ത്തിപ്പിക്കാനും അങ്ങിനെ പ്രോഗ്രാമിന്റെ വേഗത വര്ദ്ധിപ്പിക്കാനും കഴിയും, പ്രോഗ്രാം ഭാഗങ്ങള്ക്ക് ഫലപ്രദമായ രീതിയില് പ്രോസസ്സറില് പ്രവര്ത്തിക്കാനുള്ള സമയം പങ്ക് വെച്ചു നല്കിയാണിത് സാധ്യമാക്കുന്നത്. ജാവയുടെ ഈ ഗുണത്തെ മള്ട്ടിത്രെഡിങ് എന്നു വിളിക്കുന്നു. ആര്ക്കിറ്റെക്ചല് നിഷ്പക്ഷമായ ഒരു ഭാഷയാണ് ജാവ. മറ്റുഭാഷകളില് ഒരു പ്രത്യേക യന്ത്രത്തിനായി കമ്പൈല് ചെയ്യുന്ന പ്രോഗ്രാം അതേ യന്ത്രത്തിന്റെ ഭാഗങ്ങള് മാറിയാല് പോലും പ്രവര്ത്തിക്കാതെ വരാം. എന്നാല് ജാവയ്ക്കീ പ്രശ്നമില്ല. ജാവ വിര്ച്ച്വല് മെഷീനുമായി മാത്രമേ ആശയവിനിമയം നടത്തുന്നുള്ളു എന്നതാണിതിനു കാരണം. ജാവ വിര്ച്ച്വല് മെഷീനുള്ള ഏതൊരു കമ്പ്യൂട്ടറിലും യന്ത്രത്തിലും ഏതൊരു ജാവാ പ്രോഗ്രാമും പ്രവര്ത്തിക്കും. മുന് പ്രോഗ്രാമിങ് ഭാഷകള് ആസ്കി അക്ഷരങ്ങളെയായിരുന്നു ഉപയോഗിച്ചിരുന്നത്. അതുകൊണ്ട് അവയ്ക്ക് ലാറ്റിന് അക്ഷരങ്ങള്ക്കപ്പുറത്തേയ്ക്ക് പോകാന് കഴിയില്ലായിരുന്നു. ജാവ യൂണീകോഡ് അംഗീകരിച്ചിട്ടുള്ള അക്ഷരങ്ങളെയെല്ലാം പിന്തുണയ്ക്കുന്നു. അതുകൊണ്ട് ഒരു ഉപയോക്താവിനാവശ്യമുള്ള ഭാഷയില് സോഫ്റ്റ്വെയര് നിര്മ്മിച്ചു നല്കാന് ജാവ ഉപയോഗിച്ചു കഴിയും.
[തിരുത്തുക] നാള്വഴി
സണ് നിര്മ്മിച്ചു വിതരണം ചെയ്യുന്ന ജെ.ഡി.കെ. ആണ് ജാവയുടെ പതിപ്പുകളുടെ മാനകം. ജാവയുടെ ആദ്യരൂപമായിരുന്നു 1995 മെയില് ഇറങ്ങിയ ജാവ 1.0. ആപ്ലറ്റുകളും, ലഘുവായ ആപ്ലിക്കേഷനുകളുമെല്ലാമെഴുതാന് ജാവ 1.0 ഉപയോഗിച്ചു സാധിക്കുമായിരുന്നു. ജാവയുടെ തൊട്ടടുത്ത വേര്ഷന് 1.1 ഇറങ്ങിയതോടെ ജാവ 1.0 കാലഹരണപ്പെട്ടു.
ജെ.ഡി.കെ. 1.1 തൊട്ടുപിറകേ തന്നെ വന്നു. ജി.യു.ഐ നിര്മ്മിക്കാനുള്ള അബ്സ്റ്റ്രാക്റ്റ് വിന്ഡോയിങ് റ്റൂള്കിറ്റ് (AWT) പാക്കേജ്, ഇവന്റ് പാറ്റേണുകള്, ഇന്നര് ക്ലാസ്സുകള് തുടങ്ങി ഒട്ടനവധി നിര്ണ്ണായക കൂട്ടിച്ചേര്ക്കലുകളുമുണ്ടായിരുന്നു. നെറ്റ്സ്കേപ്, ഇന്റര്നെറ്റ് എക്സ്പ്ലോറര് ബ്രൌസറുകള് അക്കാലത്ത് ജാവയെ പിന്തുണക്കുമായിരുന്നു. പിന്നീട് മൈക്രോസോഫ്റ്റ് ജാവയ്ക്കുള്ള പിന്തുണ ഇന്റര്നെറ്റ് എക്സ്പ്ലോററിനോടൊപ്പം വിതരണം ചെയ്യുന്നത് നിര്ത്തിക്കളഞ്ഞു.
സണ് “ജാവ 2“എന്നു വിളിച്ച വലിയൊരു മാറ്റമാണ് 1998 ഡിസംബറില് പുറത്തിറങ്ങിയ എസ്.ഡി.കെ.1.2-വില് ഉണ്ടായിരുന്നത്. പല മെച്ചപ്പെടുത്തലുകളും കൂട്ടിച്ചേര്ക്കലുകളും ഈ പതിപ്പിലുണ്ടായിരുന്നു. ദ്വിമാന ചിത്രീകരണത്തിനായി സ്വിങ് (Swing) എന്ന ഒരു പൂര്ണ്ണമായ ആപ്ലിക്കേഷന് പ്രോഗ്രാമിങ് ഇന്റര്ഫേസ്(API) കോര് എ.പി.ഐയില് ചേര്ത്തതാണ് ഏറ്റവും വലിയ മാറ്റം. പഴയ അബ്സ്റ്റ്രാക്റ്റ് വിന്ഡോയിങ് റ്റൂള്കിറ്റിനെ അധികരിക്കുന്ന കഴിവുകള് സ്വിങ്ങിനുണ്ട്. കളക്ഷന് എ.പി.ഐയുടെ ശരിയായ സംയോജനവും ജാവ 2-വില് ചേര്ത്തിരുന്നു. ഈ വേര്ഷനില് അതുവരെ ജെ.ഡി.കെ. (JDK-Java Development Kit) എന്നു വിളിച്ചിരുന്ന ഡിവലപ്മെന്റ് കിറ്റിനെ സണ് എസ്.ഡി.കെ.(SDK-Software Developement Kit) എന്നു വിളിക്കാന് തുടങ്ങി.
2000 ആരംഭത്തില് 1.3 പുറത്തുവന്നു. പ്രവര്ത്തനക്ഷമത മെച്ചപ്പെടുത്താനുള്ള അനവധി ചെറുമാറ്റങ്ങളോടെയായിരുന്നു ഈ പതിപ്പു പുറത്തുവന്നത്. സ്വിങിന്റെ പ്രവര്ത്തനത്തില് മെച്ചപ്പെട്ട വേഗത മിക്ക പ്ലാറ്റ്ഫോമുകളിലും ജാവ ഈ പതിപ്പോടെ കൈവരിച്ചു.
കാത്തിരുന്ന പലസൌകര്യങ്ങളോടെയുമാണ് 2002-ല് ജാവ 1.4 പുറത്തിറങ്ങിയത്. പുതിയ ഐ/ഒ സിസ്റ്റം, എ.ഡബ്ല്യു.റ്റിയിലും സ്വിങിലും ഉണ്ടായ അടിസ്ഥാനപരമായ മാറ്റം എന്നിവയാണിതില് പ്രധാനം.
2004-ല് ഇറങ്ങിയ ജെ.ഡി.കെ 1.5-വില് കാതലായ മാറ്റങ്ങളുണ്ടായിരുന്നു. കോഡിങ് ശൈലിയെ വരെ സ്വാധീനിക്കാവുന്ന മാറ്റങ്ങള് ഈ പതിപ്പിലുണ്ടായി. ജെനെറിക്സ്, എനുമറേഷന്സ്, സ്റ്റാറ്റിക് ഇംപോര്ട്ട്സ്, ഓട്ടോബോക്സിങ്, അണ്ബോക്സിങ് തുടങ്ങി ഒട്ടുവളരെ പുതിയ പ്രോഗ്രാമിങ് ശൈലികള് ജാവയും ഈ പതിപ്പോടെ ഉപയോഗിക്കാന് തുടങ്ങി. സ്റ്റാന്ഡേര്ഡ് എക്സ്.എം.എല്. എ.പി.ഐയില് വലിയതോതിലുള്ള കൂട്ടിച്ചേര്ക്കലുകളും ഈ മാറ്റത്തിലുണ്ടായിരുന്നു. ഇവയില് ചില രീതികള് സി ഷാര്പ്പില് നിന്നും കടംകൊണ്ടതും മറ്റുചിലത് ജാവാ കമ്യൂണിറ്റി വികസിപ്പിച്ചെടുത്തതുമായിരുന്നു. ഈ മാറ്റത്തില് ജാവയെ ‘ജാവ 5‘ എന്നും ഡിവലപ്മെന്റ് കിറ്റിനെ ജെ.ഡി.കെ എന്നും സണ് വിളിച്ചു.
ക്ലാസ്സ് ഫയലിന്റെ പ്രവര്ത്തനസമയത്തുള്ള പരിശോധനയിലെ വലിയവ്യത്യാസവും, സ്വിങ്, ആര്.എം.ഐ., ജാവാ ഡി.ബി. തുടങ്ങിയവയില് മാറ്റങ്ങളുമായാണ് 2006 ഡിസംബര് 6-നു ജാവ 6 പുറത്തിറങ്ങിയത്.
[തിരുത്തുക] വികസനം
ഇന്ന് ജാവയുടെ വികസനം നടക്കുന്നത് ജാവ കമ്മ്യൂണിറ്റി പ്രോസസ് എന്നറിയപ്പെടുന്ന സണ് മൈക്രോസിസ്റ്റംസിന്റെ മേല്നോട്ടത്തില് നടക്കുന്ന ഒരു പ്രക്രിയയിലൂടെയാണ്. കമ്പനികളോ വ്യക്തികളോ ആയ സന്നദ്ധസേവകരുടെ ശ്രമഫലമായാണ് ജാവയുടെ വികസനം നടക്കുന്നത്. ജാവയുടെ പകര്പ്പവകാശം സണ്ണിന്റെ കൈയ്യില് തന്നെയാണെങ്കിലും 2007 മേയ് എട്ടോടെ ജാവയുടെ അടിസ്ഥാന കോഡില് ബഹുഭൂരിഭാഗവും സണ് “ഗ്നൂ സാര്വ്വജനിക അനുവാദപത്രം“ (GNU General Public License-GPL) പ്രകാരം സ്വതന്ത്രവും ഓപ്പണ് സോഴ്സുമായി നല്കി. സണ്ണിന്റെ കൈയ്യില് പകര്പ്പവകാശമില്ലാത്ത ചില ഭാഗങ്ങള് മാത്രമേ ഇനി സ്വതന്ത്രമാകാനുള്ളു.
[തിരുത്തുക] ജാവയും മൈക്രോസോഫ്റ്റും
മൈക്രോസോഫ്റ്റ് വിന്ഡോസിനൊപ്പം വിതരണം ചെയ്തുവന്ന ജാവ സോഫ്റ്റ്വെയറില് ശരിക്കുമുള്ള ജാവയിലെ ചില ഭാഗങ്ങള് പ്രവര്ത്തിക്കില്ലായിരുന്നു. അതേസമയം മൈക്രോസോഫ്റ്റിന്റെ സ്വന്തമായ പ്രത്യേകതകളെ അത് പിന്തുണക്കുകയും ചെയ്യുമായിരുന്നു. ഇത് ജാവയുടെ വ്യാപാരാനുമതിയുടെ ലംഘനമായതിനാല് സണ് മൈക്രോസോഫ്റ്റിനെതിരേ കോടതിനടപടികള് സ്വീകരിക്കുകയും 2 കോടി ഡോളര് നഷ്ടപരിഹാരം നേടുകയും ചെയ്തു. മറുപടിയായി മൈക്രോസോഫ്റ്റ് ജാവ വിന്ഡോസിനൊപ്പം വിതരണം ചെയ്യുന്നതു നിര്ത്തി. പിന്നീട് ഇന്റ്റര്നെറ്റ് എക്സ്പ്ലോററില് നിന്നും ആപ്ലറ്റുകള്ക്കുള്ള പിന്തുണ നീക്കം ചെയ്യുകയും ചെയ്തു. എന്നാല് സണ് തരുന്ന പ്ലഗ്ഗിന്നുകള് ഉപയോഗിച്ച് ഇന്റര്നെറ്റ് എക്സ്പ്ലോററില് ആപ്ലറ്റുകള് പ്രവര്ത്തിപ്പിക്കാവുന്നതാണ്. മുമ്പ് ജെ++ എന്നൊരു ഭാഷയും മൈക്രോസോഫ്റ്റ് രൂപകല്പന ചെയ്തിരുന്നു. അതും വിവാദത്തിലായതിനെ തുടര്ന്ന് പിന്വലിക്കുകയും, ലേഖനവ്യവസ്ഥയിലും ഉള്ളടക്കത്തിലും ജാവയെ അനുസ്മരിപ്പിക്കുന്നതും ജാവയോടു കിടപിടിക്കുന്നതുമായ സി ഷാര്പ്പ് എന്ന പുതിയ ഭാഷ നിര്മ്മിക്കുകയും ചെയ്തു. ഇന്ന് ജാവയും സി ഷാര്പ്പും സമാന്തരങ്ങളായി മുന്നോട്ടു പോകുന്നു. സി ഷാര്പ്പില് നിന്നും ‘ജാവ 5‘ ചില വിശേഷഗുണങ്ങള് കടംകൊണ്ടിട്ടുമുണ്ട്.
[തിരുത്തുക] വിമര്ശനങ്ങളും മറുപടികളും
ജാവ ബൈറ്റ്കോഡിനെ വീണ്ടും കംപൈല് ചെയ്തു പ്രവര്ത്തിപ്പിക്കുന്നതിനാല് ജാവ പ്രോഗ്രാമുകളുടെ പ്രവര്ത്തനം മെല്ലെയാണെന്ന് വിമര്ശനമുണ്ടായിരുന്നു. എന്നാല് ഇക്കാര്യത്തില് നടന്ന പലപരീക്ഷണങ്ങളും ജാവ മറ്റുഭാഷകളോട് തുല്യമായതോ കൂടുതല് മെച്ചപ്പെട്ടതോ ആയ വേഗത കാണിക്കുന്നുണ്ടെന്നു വെളിവാക്കി. ജാവയുടെ പ്രിമിറ്റീവ് ഡേറ്റാ റ്റൈപ്പുകള് ഒബ്ജക്റ്റ് ഓറിയന്റഡ് ആശയത്തിന്റെ പരിധിയില് വരില്ല. അതുകൊണ്ട് ജാവ ഒരു ഒബ്ജക്റ്റ് ഓറിയന്റഡ് പ്രോഗ്രാമിങ് ഭാഷയാണെന്നു പറയാന് കഴിയില്ലന്നു വാദമുണ്ടായിരുന്നു. എന്നാല് ജാവയുടെ സൃഷ്ടാക്കള് മനഃപൂര്വ്വം ചെയ്ത ഒരു കാര്യമായിരുന്നു ഇത്. ജാവയുടെ പ്രവര്ത്തന ക്ഷമത വര്ദ്ധിപ്പിക്കുന്നതിന്റെ ഭാഗമായിട്ടാണ് ഭാഷയെ ഇത്തരത്തില് നിര്വ്വചിച്ചത്. ‘ജാവ 5’വോടു കൂടി ഓട്ടോബോക്സിങ് എന്ന വിശേഷഗുണമുപയോഗിച്ച് പ്രിമിറ്റീവ് ഡേറ്റകളേയും റാപ്പര് ക്ലാസ്സുകള് ഉപയോഗിച്ച് ഒബ്ജക്റ്റുകളാക്കാവുന്നതുമാണ്. സി പ്ലസ് പ്ലസ്സില് ഉള്ളതുപോലെ മള്ട്ടിപ്പിള് ഇന്ഹെറിറ്റന്സ് ഇല്ലാത്തതും വിമര്ശനവിധേയമായിട്ടുണ്ട്.
[തിരുത്തുക] കൂടുതല് വിവരങ്ങള്ക്ക്
- http://java.sun.com/ : ജാവയുടെ ഔദ്യോഗിക വെബ് സൈറ്റ് സോഫ്റ്റ്വെയര് വികസനത്തില് വൈദഗ്ദ്ധ്യമുള്ളവര്ക്കായി
- http://www.java.com/ : ജാവയുടെ ഔദ്യോഗിക വെബ് സൈറ്റ് സാധാരണ ഉപയോക്താക്കള്ക്കായി
[തിരുത്തുക] അവലംബം
- ↑ The Java Language Environment (May 1996).
- ↑ Java 5.0 added several new language features (the enhanced for loop, autoboxing, varargs and annotations), after they were introduced in the similar (and competing) C# language. [1][2]
- ↑ Teach Yourself Java 6 in 21 Days ISBN 978-0-672-32943-2
- ↑ Java 2: Complete Reference, Fifth Edition ISBN 0-07-049543-2
| ||||||||||||||||
