జావా

100px|thumb|right|జావా ప్రోగ్రామింగు భాష చిహ్నం
**జావా** అనేది సన్ మైక్రో సిస్టమ్స్ రూపొందించిన ఒక కంప్యూటర్ భాష . దీనిని 1995 లో సన్ సంస్థ యొక్క జావా ప్లాట్ ఫాంలో ప్రధానమైన భాగంగా విడుదల చేశారు. దీని సింటాక్సు చాలా వరకు సీ, సీ ప్లస్ ప్లస్ లను పోలి ఉన్నప్పటికీ, వాటికంటే సులభతరమైన ఆబ్జెక్టు మోడల్ ఆధారంగా అభివృద్ధి చేయబడింది. కానీ ఇది *సీ*/*సీ ప్లస్ ప్లస్* లాగా క్రింది స్థాయి ప్రోగ్రామింగ్ చేయడానికి అంతగా అనుకూలించదు. జావా ప్రోగ్రాములు ఎక్జిక్యూట్ చెయ్యడానికి ముందు జావా కంపైలర్‌చే బైట్ కోడ్ లోకి తర్జుమా చెయ్యాలి. ఈ బైట్ కోడ్ ఫైలును జావా వర్చువల్ మెషీన్ ఎక్జిక్యూట్ చేస్తుంది. జావా వర్చువల్ మెషీన్ అన్ని రకాలైన కంప్యూటర్లలో పనిచేసే విధంగా రూపొందించబడి ఉంటుంది. కాబట్టి జావా డెస్కుటాప్ కంప్యూటర్లు, ల్యాప్ టాప్ లు, మొబైల్ ఫోన్లు, పిడిఏలు మొదలైన అన్ని రకాల కంప్యూటర్లలో పనిచేస్తుంది. 
## చరిత్ర

1991లో ఒక సెట్ టాప్ బాక్సు ప్రాజెక్టు కోసం మొట్టమొదటి సారిగా జావాను తయారుచేసారు. దీని రూపకర్తలు జేమ్స్ గోస్లింగ్, పాట్రిక్ నాటన్, క్రిస్ వర్త్, ఎడ్వర్డ్ ఫ్రాంక్, మైక్ షెరిడాన్. ఇంకా బిల్ జాయ్, జోనాథన్ పేన్, ఫ్రాంక్ యెల్లిన్, ఆర్థర్ వాన్ హాఫ్, టిమ్ లింఢామ్ మొదలైన వారు దీన్ని అభివృద్ధి పరచడంలో పాలు పంచుకొన్నారు. మొట్ట మొదటి పనిచేసే వర్షన్ ను రూపొందించడానికి గోస్లింగ్ బృందానికి 18 నెలల సమయం పట్టింది. మొదట్లో జావాను ఓక్ అని పిలిచేవారు (గోస్లింగ్ పని చేసే ఆఫీస్ బయట ఉండే ఓక్ వృక్షానికి గుర్తుగా ఆ పేరు పెట్టాడు). తరువాత గ్రీన్ అనీ, చివరకు జావా అనీ రూపాంతరం చెందింది.

జావాను ఇప్పుడు ఇంటర్నెట్ అప్లికేషన్లలో విరివిగా వాడుతున్నప్పటికీ నిజానికి మొదట్లో దీన్ని ఇంటర్నెట్ ను దృష్టిలో పెట్టుకొని రూపొందించలేదు. మైక్రోవేవ్ ఒవెన్లు, రిమోట్ కంట్రోళ్ళు తదితర ఎలక్ట్రానిక్ ఉపకరణాలు దీనిని రూపొందించడానికి ప్రేరణ. వీటిలో చాలా రకాలైన సిపియు లను కంట్రోలర్లుగా వాడుతుంటారు. ఒక వర్చువల్ మెషీన్ను తయారు చేసి, దానికోసం సీ/సీ ప్లస్ ప్లస్ భాషలను పోలి ఉండే ఒక కంప్యూటరు భాషను తయారు చేయాలన్నది గోస్లింగ్ మొదట్లో నిర్దేశించుకున్న లక్ష్యాలు.
సీ/సీ ప్లస్ ప్లస్ లతో వచ్చిన సమస్య ఏమిటంటే వీటిలో వ్రాసిన ప్రోగ్రాములు ఏవో కొద్ది ప్లాట్ ఫాం లకోసం కంపైల్ చెయ్యబడేలా రూపొందించబడి ఉంటాయి. సీ/సీ ప్లస్ ప్లస్ ప్రోగ్రామును ఒక సిపియు మీద నడపాలంటే దానికి సంబంధించిన కంపైలర్ వ్రాయాలి. కానీ మార్కెట్లో లభిస్తున్న ప్రతీ సిపియుకూ కంపైలర్ను రూపొందించాలంటే అది ఖర్చు, సమయంతో కూడిన పని. ఈ సమస్యకు పరిష్కారంగానే జావాను కనుగొనడం జరిగింది. జావా మొట్ట మొదటి సారిగా 1995 లో జావా 1.0గా విడుదల అయ్యింది. *ఒక్క సారి ప్రోగ్రామును వ్రాయండి, ఎక్కడైనా నడపండి* అన్న నినాదంతో, ప్రస్తుతం ప్రధానంగా ప్రాచుర్యంలో ఉన్న కొన్ని ప్లాట్ ఫాం లకోసం వర్చువల్ మెషీన్ను తయారు చేశారు. ఈ వర్చువల్ మెషీన్ మంచి రక్షణ వ్యవస్థ కలిగిఉండి, నెట్ వర్క్ యాక్సెస్ ను,, ఫైల్ యాక్సెస్ ను నియంత్రించడం మొదలైన రక్షణపరమైన సౌలభ్యాన్ని కూడా కల్గించింది. అనతి కాలంలోనే ప్రజాదరణ పొందిన వెబ్ బ్రౌజర్లన్నీ జావా అప్లెట్లు నడపడానికి కావాల్సిన సౌకర్యాలను కల్పించాయి. జావా 2 రాకతో వేర్వేరు ప్లాట్ ఫాం లకు వేర్వేరు కాన్ఫిగరేషన్ లతో విడుదల అయ్యింది. ఎంటర్ ప్రైస్ అప్లికేషన్ల కోసం J2EE గా, మొబైల్ అప్లికేషన్ల కోసం J2ME, సాధారణ అప్లికేషన్ల కోసం J2SE సరికొత్త రూపాన్ని సంతరించుకొంది.

## సింటాక్సు
జావా సింటాక్సు చాలా భాగం సి / సి ++ సింటాక్సును పోలి ఉన్నప్పటికీ వాటి వలే ప్రొసీజర్ ఓరియెంటెడ్ ప్రొగ్రామింగ్, ఆబ్జెక్టు ఓరియెంటెడ్ ప్రోగ్రామింగు విధానాలను కలగలిపి కాకుండా, జావా కేవలం ఆబ్జెక్టు ఓరియెంటెడ్ భాష గానే రూపొందించబడింది. అందువల్లనే జావాలో ప్రతీదీ ఆబ్జెక్టు గానే పరిగణించబడుతుంది. ఏది రాసిన క్లాస్ లోపలనే రాయాలి. జావాలో *Hello Java* ప్రోగ్రాము ఇలా ఉంటుంది.


```java
class HelloJavaProgram{
   public static void main(String args[]) {

     System.out.println("Hello Java");
   }
 }

Output: Hello Java
```


## ప్రధాన లక్ష్యాలు
జావా రూప కర్తలు దీనిని రూపొందించేటపుడు ఐదు ప్రధానమైన లక్ష్యాలను దృష్టిలో ఉంచుకున్నారు.

1. ఇది ఆబ్జెక్టు ఓరియెంటెడ్ ప్రోగ్రామింగ్ విధానాన్ని అవలంబించాలి.

2. ఒకే ప్రోగ్రాము వివిధ రకాలైన ఆపరేటింగ్ సిస్టమ్సు మీద నడపగలిగేలా ఉండాలి.

3. నెట్ వర్కింగ్ ప్రోగ్రాములు సులువుగా వ్రాయడం కోసం అవకాశం కలిగించాలి.

4. దూర ప్రాంతాలనుంచి భద్రంగా నడపడానికి అనుగుణంగా రూపొందించబడాలి.

5. ఉపయోగించడానికి సులభంగా ఉండాలి.

## జావా యొక్క ముఖ్య లక్షణాలు

###### డైనమిక్ మరియు అనుకూలత
జావా ప్రోగ్రామ్స్‌ రన్‌టైమ్‌లో కొత్త క్లాసులను లోడ్‌ చేయగలవు, అందువల్ల అవి మార్పులకు సులభంగా స్పందిస్తాయి.

**విస్తరణ సామర్థ్యం:**

జావా చిన్నపాటి అనువర్తనాల నుండి పెద్ద స్థాయి అనువర్తనాల వరకు నిర్వహించగలదు. బహుళసూత్ర విధానం మరియు విభజిత గణన వంటి లక్షణాలతో అభివృద్ధికారులు భారాలను సులభంగా నియంత్రించగలరు.

**వేదిక స్వాతంత్ర్యం:**

ఒకసారి రాసిన జావా కార్యక్రమం ఏ వేదికలోనైనా, అంటే ఏ ఆపరేటింగ్‌ వ్యవస్థలోనైనా మార్పులు లేకుండా నడుస్తుంది.

## విమర్శ
జావా బైట్ కోడ్ ఆ ప్రోగ్రాము నడిపేటపుడు అప్పటికప్పుడు మెషీన్ కోడుకు మార్చడం వలన జావా ప్రోగ్రాములు నెమ్మదిగా నడుస్తాయన్న విమర్శ ఉంది. కొంత విషయాలు కూడా పట్టించుకోవడం కూడా ఇందుకు కారణం. అయితే జావా ఉద్భవించినప్పటినుంచీ ఇప్పటి దాకా ప్రోగ్రాములు తొందరగా నడపబడడానికి కావాల్సిన మార్పులు చేపడుతూనే ఉన్నారు. అందులో ఒకటి జస్ట్ ఇన్ టైమ్ కంపైలర్. ఇది జావా బైట్ కోడును అప్పటికప్పుడు మెషీన్ కోడు లోకి మారుస్తుంది.

## జావా ఐడిఈలు
*ఎక్లిప్స్ - అత్యంత ప్రాచుర్యం పొందినది
*నెట్‌బీన్స్
*ఐడియా
*జెడెవలపర్

## మూలాలు

## బయటి లింకులు
* Java home page
* Java for developers
* Java: The Inside Story
*Java programming examples with source code 
* A history of Java
* M254 Java Everywhere (free open content documents from the Open University)    
* Java Language Specification (pdf)

వర్గం:సాఫ్టువేరు వ్రాయు భాషలు
వర్గం:కంప్యూటర్ సంబంధిత వ్యాసాలు
వర్గం:స్వేచ్ఛా సాఫ్టువేరు