"ജാവ (പ്രോഗ്രാമിങ് ഭാഷ)" എന്ന താളിന്റെ പതിപ്പുകൾ തമ്മിലുള്ള വ്യത്യാസം
Content deleted Content added
No edit summary |
(ചെ.)No edit summary |
||
വരി 18:
കമ്പ്യൂട്ടറുകളിലും മറ്റും ഉപയോഗിക്കുന്ന വിവിധോദ്ദേശ്യ പ്രോഗ്രാമിങ് ഭാഷയാണ് '''ജാവ'''. [[ജെയിംസ് ഗോസ്ലിങ്ങ്]], [[ബിൽ ജോയ്]] മുതലായവരുടെ നേതൃത്വത്തിൽ [[സൺ മൈക്രോസിസ്റ്റംസ്]] വികസിപ്പിച്ചെടുത്ത [[ഒബ്ജക്റ്റ് ഓറിയന്റഡ് പ്രോഗ്രാമിങ് ഭാഷ|ഒബ്ജക്റ്റ് ഓറിയന്റഡ് പ്രോഗ്രാമിങ് ഭാഷയായ]] ജാവ, ഇന്ന് [[വെബ് സെർവർ|വെബ് സെർവറുകൾ]], [[കമ്പ്യൂട്ടർ|കമ്പ്യൂട്ടറുകൾ]], [[മൊബൈൽ ഫോൺ|മൊബൈൽ ഫോണുകൾ]] തുടങ്ങി ഒട്ടനവധി [[ഇലക്ട്രോണിക്സ്|ഇലക്ട്രോണിക് ഉപകരണങ്ങളിൽ]] ഉപയോഗിക്കപ്പെടുന്നു. വെബ് പ്രോഗ്രാമിങിനാണ് കൂടുതൽ ഉപയോഗിക്കുന്നതെങ്കിലും, അതിലേറെ കാര്യങ്ങൾ ചെയ്യാൻ ഉപയോഗിക്കുന്ന വിവിധോദ്ദേശ്യ പ്രോഗ്രാമിങ് ഭാഷയാണിത്<ref name="LearnJava" />. സൺ മൈക്രോസിസ്റ്റംസിനെ 2009 മദ്ധ്യത്തിൽ [[ഒറാക്കിൾ കോർപ്പറേഷൻ|ഒറാക്കിൾ]] വാങ്ങിയതോടെ ജാവ ഒറാക്കിളിന്റെ നിയന്ത്രണത്തിലായി<ref name="oracle-buys-sun">{{cite web|title=Oracle Buys Sun |url=http://www.oracle.com/us/corporate/press/018363|publisher=ഒറാക്കിൾ|accessdate=28 ജൂൺ 2010}}</ref>.
കമ്പ്യൂട്ടറുകളിൽ തന്നെ [[സെർവർ|സെർവറുകളിലും]] [[ക്സൈന്റ് കമ്പ്യൂട്ടർ|ക്ലൈന്റുകളിലും]] പ്രത്യേകം പ്രത്യേകം പ്രവർത്തിക്കാൻ പ്രാപ്തമായ [[കമ്പ്യൂട്ടർ പ്രോഗ്രാം|പ്രോഗ്രാമുകൾ]] സൃഷ്ടിക്കാൻ ജാവ ഉപയോഗപ്പെടുത്താം. ഇതിനുപുറമേ സ്വതന്ത്രമായി പ്രവർത്തിക്കുന്ന ആപ്ലിക്കേഷനുകൾ നിർമ്മിക്കാനും ജാവ ഉപയോഗിക്കുന്നു. ഓരോ [[ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റം|ഓപ്പറേറ്റിങ് സിസ്റ്റത്തിനുമായി]] വെവ്വേറെ [[സോഫ്റ്റ്വേർ|
ജാവയിൽ
ഏറക്കുറേ [[സി]], [[സി++]] എന്നീ [[പ്രോഗ്രാമിങ് ഭാഷ|പ്രോഗ്രാമിങ് ഭാഷകളുടെ]] വാക്യഘടന (syntax) തന്നെയാണ് ജാവയിലും ഉപയോഗിക്കുന്നത്. [[മൈക്രോസോഫ്റ്റ്|മൈക്രോസോഫ്റ്റിന്റെ]] [[സി ഷാർപ്പ്|സി#]] (സി ഷാർപ്പ്, മുമ്പ് [[ജെ++]]) പോലുള്ള ഭാഷകളിൽ ജാവയുടെ സ്വാധീനം ഏറെയുണ്ട്. സി ഷാർപ്പിൽ നിന്നും ജാവയും ചില പ്രത്യേകതകൾ കടംകൊണ്ടിട്ടുണ്ട്. പേരിലും, ലേഖനരീതിയിലും സാമ്യങ്ങളുണ്ടെങ്കിലും [[ജാവാസ്ക്രിപ്റ്റ്]] എന്ന സ്ക്രിപ്റ്റിങ്ങ് ഭാഷയ്ക്ക് ജാവയുമായി ബന്ധമൊന്നുമില്ല.
വരി 69:
==== വിർച്ച്വൽ മെഷീൻ ====
ജാവയിൽ എഴുതിയ പ്രോഗ്രാമിനെ കമ്പ്യൂട്ടറുമായി ബന്ധപ്പെടുത്തുന്ന ഇടനില സോഫ്റ്റ്വെയറാണ് [[ജാവ വിർച്ച്വൽ മെഷീൻ]]. ഒരു [[കമ്പ്യൂട്ടർ പ്രോഗ്രാം|പ്രോഗ്രാമിനെ]] പ്രവർത്തിപ്പിക്കുവാൻ പറ്റിയ അന്തരീക്ഷം സൃഷ്ടിക്കുക എന്നതാണ് വിർച്ച്വൽ മെഷീന്റെ കടമ, [[ഓപ്പറേറ്റിങ് സിസ്റ്റം|ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റവുമായി]] സംവദിച്ച് യന്ത്രഭാഗങ്ങളെ അഥവാ [[കമ്പ്യൂട്ടർ ഹാർഡ്വെയർ|കമ്പ്യൂട്ടർ ഹാർഡ്വെയറിനെ]], പ്രവർത്തിച്ചു കൊണ്ടിരിക്കുന്ന പ്രോഗ്രാമിന്റെ ആവശ്യാനുസരണം ലഭ്യമാക്കുക, ഒരു കവചം പോലെ നിലനിന്നു കൊണ്ട് പ്രോഗ്രാം ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിൽ അനാവശ്യ ഇടപെടലുകൾ നടത്താതെ നോക്കുക എന്നിങ്ങനെയുള്ള കാര്യങ്ങളാണ് വിർച്ച്വൽ മെഷീൻ ചെയ്യുന്നത്. വിർച്ച്വൽ മെഷീൻ അധിഷ്ഠിതമായ പ്രോഗ്രാമിങ്ങ് ഭാഷകൾ സൃഷ്ടിക്കുന്നതിന്റെ ഉദ്ദേശ്യം ഏതു തരം ഹാർഡ്വെയറിലും, ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റത്തിലും പ്രവർത്തിക്കുന്ന പ്രോഗ്രാമുകൾ എഴുതുക എന്നുള്ളതാണ്. ഇത്തരം പ്രോഗ്രാമുകൾ ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റത്തെയോ, ഹാർഡ്വെയറിനെയോ കാണുന്നില്ല കാരണം ഇവ വിർച്ച്വൽ മെഷീനുമായി മാത്രമേ ബന്ധപ്പെടുന്നുള്ളൂ. ഓപ്പറേറ്റിങ്ങ് സിസ്റ്റവും ഹാർഡ്വെയറും മാറുന്നതിനനുസരിച്ച് പ്രോഗ്രാമുകൾ അപ്പോൾ മാറ്റിയെഴുതേണ്ടി വരില്ല, പകരം എല്ലാ സാഹചര്യങ്ങൾക്കും വേണ്ടിയുള്ള വിർച്ച്വൽ മെഷീനുകൾ ആദ്യം വികസിപ്പിക്കുകയാണ് ചെയ്യുന്നത്. ബൈറ്റ്കോഡ് ഇക്കാരണം കൊണ്ട് വഹനീയം (portable) ആണെന്നു പറയുന്നു. മെമ്മറിയിൽ പ്രോഗ്രാമർ നടത്തുന്ന അനാവശ്യ കൈകടത്തലുകളെ ജാവ വിർച്ച്വൽ മെഷീൻ അനുവദിക്കുന്നില്ല. അതുകൊണ്ട് ജാവയിൽ [[കമ്പ്യൂട്ടർ വൈറസ്|വൈറസുകൾ]] എഴുതുക തീരെ എളുപ്പമല്ല. ഓപ്പറേറ്റിങ് സിസ്റ്റത്തെ അമിതമായി സ്വാധീനിക്കാൻ വിർച്ച്വൽ മെഷീൻ അനുവദിക്കാത്തതിനാൽ ജാവ ഏറെ സുരക്ഷിതമായ പ്രോഗ്രാമിങ് ഭാഷയാണ്. പ്രോഗ്രാമുകൾ പ്രവർത്തിപ്പിക്കാനായി 'ജാവ വിർച്ച്വൽ മെഷീൻ' പ്രോഗ്രാമിനെ പ്രവർത്തനക്ഷമമായി കമ്പൈൽ ചെയ്യുകയും പ്രവർത്തിപ്പിക്കുകയുമാണ് ചെയ്യുന്നത്. ഇത് പ്രോഗ്രാം പ്രവർത്തിക്കുന്നത് മെല്ലെയാക്കുമെങ്കിലും ജാവയിൽ ഈ വൈകൽ തുലോം നിസ്സാരമാണ്. ഒരു പ്രോഗ്രാം പ്രവർത്തിക്കുമ്പോൾ വേണ്ട പലതരത്തിലുള്ള പരിശോധനകൾ നടത്തുക, പ്രവർത്തിക്കാനുള്ള സ്ഥലം അനുവദിച്ചുകൊടുക്കുക തുടങ്ങി ഒട്ടനവധി കാര്യങ്ങൾ ചെയ്യണം, അതിന്റെ കൂടെ ബൈറ്റ്കോഡ് കമ്പൈൽ ചെയ്യുകയും പ്രോഗ്രാം പ്രവർത്തിപ്പിക്കുകയും ചെയ്യേണ്ടതുണ്ട്. ഒരു വലിയ പ്രോഗ്രാമിൽ ഇതെല്ലാം ഒരുമിച്ചു ചെയ്യുക എന്നത് ഏറെ സമയമെടുക്കുന്ന ഒന്നാണ്. അതുകൊണ്ട് സൺ ജെ.വി.എമ്മിൽ ബൈറ്റ്കോഡിനായി ജസ്റ്റ് ഇൻ റ്റൈം കമ്പൈലർ (Just In Time Compiler - JIT) എന്നൊരു [[കമ്പൈലർ]] ചേർത്തിരിക്കുന്നു. ഒരു പ്രോഗ്രാം പ്രവർത്തിക്കുമ്പോൾ പ്രോഗ്രാമിന്റെ ഭാഗങ്ങളെ ആവശ്യമുള്ളപ്പോൾ മാത്രം കമ്പൈൽ ചെയ്തു പ്രവർത്തിപ്പിക്കുന്നതിനാണ് ജെ.ഐ.റ്റി. ഉപയോഗിക്കുന്നത്<ref>http://java.sun.com/docs/white/langenv/Perform.doc1.html</ref><ref>http://publib.boulder.ibm.com/infocenter/javasdk/v6r0/index.jsp?topic=/com.ibm.java.doc.diagnostics.60/html/jit_overview.html</ref>. ഇത് ഉപയോക്താക്കൾക്ക് യാതൊരുവിധ താമസവും അനുഭവപ്പെടാതെ തന്നെ പ്രോഗ്രാം പ്രവർത്തിക്കുന്നതിനു സഹായിക്കുന്നു. ജാവ 2-ലാണ് ജെ.ഐ.റ്റി. രംഗപ്രവേശം ചെയ്തത്. [[ജാവ റൺറ്റൈം എൻവിയറന്മെന്റ്]] അഥവാ ജെ.ആർ.ഇ. എന്നും [[ജാവ സോഫ്റ്റ്വേർ]] എന്നും അറിയപ്പെടുന്ന
ജാവയുടെ അതേ സിന്റാക്സ് ഉപയോഗിക്കുന്ന [[ജി.സി.ജെ.]] (GCJ - Gnu Compiler for Java) കമ്പൈലറിന് ജാവ പ്രോഗ്രാമുകളെ ഒബ്ജക്റ്റ് കോഡ് അഥവാ കമ്പ്യൂട്ടറുമായി സംവദിക്കാൻ പ്രാപ്തമായ കോഡായും ബൈറ്റ്കോഡ് ആയും കംപൈൽ ചെയ്യാൻ കഴിയും<ref>http://gcc.gnu.org/java/index.html</ref>. ജി.സി.ജെ ഉപയോഗിച്ച് ഒബ്ജക്റ്റ്കോഡ് ആണ് സൃഷ്ടിക്കുന്നതെങ്കിൽ വിർച്ച്വൽ മെഷീന്റെ ആവശ്യമില്ല. പക്ഷേ ഇങ്ങനെ ചെയ്യുമ്പോൾ ജാവപ്രോഗ്രാമുകളുടെ വഹനീയത(portability) എന്ന ഗുണം നഷ്ടപ്പെടുന്നു.
വരി 76:
ക്ലൈന്റ് കമ്പ്യൂട്ടറുകളിൽ [[വെബ് ബ്രൗസർ|ബ്രൗസറുകളിൽ]] പ്രവർത്തിക്കുന്ന ജാവ പ്രോഗ്രാമിനെ [[ജാവ ആപ്ലറ്റ്|ആപ്ലറ്റ്]] എന്നു വിളിക്കുന്നു. സ്വതന്ത്രമായി പ്രവർത്തിക്കുന്ന പ്രോഗ്രാമുകളെ ആപ്ലിക്കേഷൻ എന്ന് വിളിക്കുന്നു. [[റ്റി.സി.പി/ഐ.പി.]] അനുസരിച്ച് ആപ്ലറ്റുകളും, ആപ്ലിക്കേഷനുകളും എല്ലാം സമഞ്ജസമായി ഒരുമിപ്പിച്ച് ഒരു [[കമ്പ്യൂട്ടർ നെറ്റ്വർക്ക്|നെറ്റ്വർക്കിൽ]] പടർന്നു കിടക്കുന്ന പ്രോഗ്രാമെഴുതാനും ജാവ ഉപയോഗിക്കുന്നു. പ്രോഗ്രാമിങ് ഭാഷയുടെ ആവശ്യമുള്ള ഭാഗങ്ങൾ മാത്രമേ ഒരു പ്രത്യേക പ്രോഗ്രാമിലുണ്ടാകൂ. ഇത് പ്രോഗ്രാം വളരെ ചെറുതായിരിക്കാൻ സഹായിക്കുന്നു. ഉദാഹരണത്തിന് ഒരു ജാവ ആപ്ലിക്കേഷനിൽ ആപ്ലറ്റിന്റെ അംശം ഉണ്ടായിരിക്കില്ല. പാക്കേജുകൾ എന്നറിയപ്പെടുന്ന ജാവയുടെ പ്രോഗ്രാമിങ് ഭാഷാശകലങ്ങൾ ആവശ്യാനുസരണം ചേർത്താണിത് സാധ്യമാക്കുന്നത്. ഇരുനൂറിലധികം എ.പി.ഐകൾ ജാവ സ്റ്റാൻഡേർഡ് എഡിഷനിൽ ലഭ്യമാണ്. ഒരു പ്രോഗ്രാമറെ സംബന്ധിച്ച് ഇത് പ്രോഗ്രാമിങ് കൂടുതൽ എളുപ്പമാക്കാനും പ്രോഗ്രാമിന്റെ ഘടന പുനരുപയോഗത്തിനായി ആർക്കും മനസ്സിലാകുന്നതരത്തിൽ എഴുതാനും കാരണമാകുന്നു. വെബ് പ്രോഗ്രാമിങ്ങിനായി ജാവയെ ഉപജീവിച്ച് സൃഷ്ടിച്ചിട്ടുള്ള കമ്പ്യൂട്ടർ ഭാഷയാണ് [[ജെ.എസ്.പി.]] . ജാവയുടെ നിർമ്മാണത്തിൽ സൃഷ്ടിച്ചിട്ടുള്ള പ്രത്യേകതകൾകൊണ്ട് ആർക്കും അനുബന്ധങ്ങൾ അഥവാ മറ്റ് എ.പി.ഐ.കൾ ഉണ്ടാക്കാനും അവയുടെ സഹായത്തോടെ പ്രോഗ്രാമിങ് കൂടുതൽ എളുപ്പമാക്കാനും കഴിയും. ജാവമെയിൽ (ഇ-മെയിലുകളുടെ കൈകാര്യത്തിനായുള്ള എ.പി.ഐ.), [[സ്റ്റ്രറ്റ്സ്]], [[ജെ.എസ്.എഫ്.]] (രണ്ടും വെബ് പ്രോഗ്രാമിങ്ങിനായുള്ള ഫ്രെയിംവർക്കുകൾ ) തുടങ്ങിയവ ഇത്തരത്തിലുള്ള അനുബന്ധങ്ങൾക്കുദാഹരണമാണ്. [[ജാവാമെയിൽ]], ജാവ 3ഡി, [[ജാവ സെർവ്ലറ്റ്സ്]], ജാവ മീഡിയ, ജാവ ക്രിപ്റ്റോഗ്രാഫി എന്നിങ്ങനെ ഒരു പിടി അനുബന്ധങ്ങൾ ഔദ്യോഗികമായി ലഭ്യമാണ്.
ഉപയോഗത്തിനനുസരിച്ച് വ്യത്യസ്ത ക്രമീകരണങ്ങൾ അനുവദിക്കുന്ന
== എഴുത്തു രീതി ==
വരി 111:
=== ജാവ എസ്.ഇ. ===
പൊതു ഉപയോഗത്തിനുള്ള
=== ജാവ ഇ.ഇ. ===
വരി 155:
=== ജാവ വെബ് സ്റ്റാർട്ട് ===
[[വെബ് സ്റ്റാർട്ട് എ.പി.ഐ.]] വെബ് ബ്രൌസറിൽ നിന്നുകൊണ്ട് തന്നെ ആപ്ലിക്കേഷനുകൾ ക്ലയന്റ് കമ്പ്യൂട്ടറുകളിൽ ഇൻസ്റ്റോൾ ചെയ്യാനനുവദിക്കുന്നു. വെബ് സ്റ്റാർട്ടിന് സ്വയം
|title = Learning Java, 3rd Edition
|author = Jonathan Knudsen
വരി 217:
== ജാവയും മൈക്രോസോഫ്റ്റും ==
ആദ്യകാലത്ത് ജാവയുടെ നിർമ്മാണപ്രവർത്തനങ്ങളിൽ മൈക്രോസോഫ്റ്റും പങ്കാളിയായിരുന്നു. പിന്നീട് [[മൈക്രോസോഫ്റ്റ്]] [[വിൻഡോസ്|വിൻഡോസിനൊപ്പം]] വിതരണം ചെയ്തുവന്ന ജാവ
| authorlink =
| author = James Niccolai
വരി 279:
== ഭാവി ==
ജാവയുടെ ഭാവി ഇപ്പോഴത്തെ ദൃഷ്ടിയിൽ ശോഭനമാണ്. എക്സ്.എം.എൽ. ഉപകരണങ്ങളിലൂടെയും വെബ് ആപ്ലിക്കേഷൻ ഫ്രെയിംവർക്കുകളിലുമാണ് ഇന്ന് ജാവയുടെ വികാസം ഏറെ നടക്കുന്നത്, ഇന്നത്തെ അവസ്ഥയിൽ ഏറെ വളർച്ചയുള്ള മേഖലകളാണവ എന്നു പൊതുവേ കരുതുന്നു. വെബ് അധിഷ്ഠിതവും സെർവർ സൈഡ് എന്റർപ്രൈസ് ആപ്ലിക്കേഷനുകളിലും ജാവ ഇന്നു തന്നെ അതിന്റേതായ പങ്ക് വഹിക്കുന്നുണ്ട്. ഇടക്കാലത്ത് തടസ്സപ്പെട്ടുപോയ ക്ലൈന്റ് പിന്തുണയും ഇന്ന് കൂടുതൽ കിട്ടിവരുന്നു. മുമ്പത്തേക്കാളും ദൈനംദിന ഉപയോഗത്തിനുള്ള
ചെറിയ ചെറിയ ഉപകരണങ്ങളിൽ ജാവയുടെ സാന്നിദ്ധ്യം ഇനിയും ഏറെ വർദ്ധിച്ചേക്കുമെന്നു കരുതുന്നു. ജാവ എം.ഇ. എന്ന ജാവയുടെ മൈക്രോ എഡിഷൻ പ്രാപ്തികുറഞ്ഞ ചെറിയ ഉപകരണങ്ങളിൽ ജാവ പ്രോഗ്രാമുകൾ പ്രവർത്തിപ്പിക്കാനുള്ള ജാവയുടെ ഒരു ഉപഗണമാണ്. [[പി.ഡി.എ.|പി.ഡി.എ.കൾ]] ആയിരുന്നു ജാവ എം.ഇ.യുടെ പ്രഥമലക്ഷ്യമെങ്കിലും ഇന്ന്, അത് ഡൌൺലോഡ് ചെയ്യാവുന്നതും പുതുക്കാവുന്നതുമൊക്കെയായ ആപ്ലിക്കേഷനുകൾ ഉപയോഗിക്കുന്ന [[മൊബൈൽ ഫോൺ|മൊബൈൽ ഫോണുകൾ]] ഏറെയുണ്ട്. ഇതും നഷ്ടപ്പെട്ടുപോയേക്കാവുന്ന ഒരു വിപണിയല്ല. ജാവയുടെ ഗുണങ്ങളുള്ള മറ്റൊരു പ്രോഗ്രാമിങ് ഭാഷയില്ല എന്നതു തന്നെയാണ് കാരണം.
|