జావా అనేది గట్టిగా టైప్ చేయబడిన ఆబ్జెక్ట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్ లాంగ్వేజ్. 1995లో సృష్టించబడిన ఇది అప్పటి నుండి అనేక మెరుగుదలలను పొందింది. ప్రోగ్రామింగ్ భాషల ర్యాంకింగ్‌లలో అలాగే సాఫ్ట్‌వేర్ డెవలపర్‌ల జీతాల ర్యాంకింగ్‌లలో స్థిరంగా ప్రముఖ స్థానాన్ని ఆక్రమించింది .

మరియు ముఖ్యంగా, జావా యొక్క ర్యాంకింగ్ సంవత్సరానికి ఎగరదు - ఇది స్థిరంగా ఎక్కువగా ఉంటుంది. జావా జనాదరణ పొందినది ఏమిటో అర్థం చేసుకోవడానికి ప్రయత్నిద్దాం.

1. క్రాస్-ప్లాట్‌ఫారమ్ — వ్రాసిన కోడ్ బైట్‌కోడ్‌గా మార్చబడుతుంది, అది JVM ద్వారా అమలు చేయబడుతుంది. వివిధ ప్లాట్‌ఫారమ్‌ల కోసం JVM అమలులు ఉన్నాయి. అంటే ఒకసారి వ్రాసిన కోడ్ Windows, Linux మరియు macOS మరియు Arduino, స్మార్ట్ రిఫ్రిజిరేటర్‌లు మరియు వాక్యూమ్ క్లీనర్‌ల వంటి వివిధ అన్యదేశ ప్లాట్‌ఫారమ్‌లలో కూడా రన్ అవుతుంది. మరో మాటలో చెప్పాలంటే, కోడ్ వివిధ ప్లాట్‌ఫారమ్‌లు మరియు ఆపరేటింగ్ సిస్టమ్‌లలో పని చేస్తుంది, వాటిలో ప్రతిదానికి అనుగుణంగా ఎటువంటి అవసరం లేకుండా.

2. ఆటోమేటిక్ మెమరీ మేనేజ్‌మెంట్ — ర్యామ్‌లో వేరియబుల్స్ ఎక్కడ నిల్వ చేయబడతాయో డెవలపర్ ఆలోచించాల్సిన అవసరం లేదు, వాటిని మాన్యువల్‌గా చదవడం/వ్రాయడం లేదా డేటా సమగ్రత గురించి ఆందోళన చెందడం. కస్టమర్ యొక్క వ్యాపార సమస్యను పరిష్కరించేటప్పుడు, మీరు బైట్‌లను ఎలా మరియు ఎక్కడ వ్రాయాలి అనే దాని గురించి కాకుండా సమస్య గురించి ఆలోచించాలి.

3. స్పీడ్ (JIT కంపైలర్) — "ముందుగానే" జరిగే స్టాటిక్ కంపైలేషన్‌తో పాటు, జావా జస్ట్-ఇన్-టైమ్ (JIT) కంపైలేషన్‌కు మద్దతు ఇస్తుంది. ఇది సర్వర్ కోడ్‌కి చాలా సందర్భోచితమైనది, ఇది ఒకేసారి నెలలు లేదా సంవత్సరాల పాటు అమలు చేయగలదు. తరచుగా అమలు చేయబడిన కోడ్ వివిధ మార్గాల్లో సంకలనం చేయబడుతుంది మరియు దాని అమలు సమయం కొలుస్తారు. ఫలితం ఏమిటంటే, ఒక అప్లికేషన్ ఎంత ఎక్కువసేపు నడుస్తుంది, అది వేగంగా మారుతుంది. మరియు యాక్టివ్‌గా నడుస్తున్న సర్వర్‌కి ఇది నిజం. కూల్, సరియైనదా?

4. బ్యాక్‌వర్డ్ కంపాటబిలిటీ — జావా పాత వెర్షన్‌లలో వ్రాసిన కోడ్ కొత్త వెర్షన్‌లలో కూడా పని చేస్తుంది. ఇది సౌకర్యవంతంగా ఉంటుంది: Java స్పెక్ అప్‌డేట్ అయిన తర్వాత, మీరు "నవీకరణ కారణంగా" మీ ప్రాజెక్ట్‌లో సగం తిరిగి వ్రాయవలసిన అవసరం లేదు, కానీ మీరు ఇప్పటికీ తాజా భద్రతా ప్యాచ్‌లను పొందవచ్చు.

5. ఆబ్జెక్ట్ ఓరియంటేషన్ - మానవులు వస్తువుల పరంగా ఆలోచిస్తారు: టేబుల్, ట్రాలీబస్, స్మార్ట్‌ఫోన్. డెవలపర్‌లు పని చేస్తున్నప్పుడు అసాధారణమైన నమూనాలలో ఆలోచించాల్సిన అవసరం లేదు మరియు ఇది మా కోడ్‌లో అనవసరమైన లోపాలను ఉంచడంలో సహాయపడుతుంది. బదులుగా, మేము పనిలో ముఖ్యమైన వాటిపై మాత్రమే దృష్టి పెట్టగలము. ఉదాహరణకు, ఇంటీరియర్ డిజైనర్ దృష్టికోణంలో, టేబుల్ పరిమాణం మరియు గదిలోని స్థానం ముఖ్యమైనవి. దీని తయారీ తేదీ, టేబుల్‌కు కలపను కత్తిరించిన కార్మికుడి పేరు మరియు డెలివరీ చేసిన ఫెడెక్స్ డ్రైవర్ ఫోన్ నంబర్ ముఖ్యమైనవి కావు. అదనంగా, డేటా మరియు ఆ డేటాతో పని చేసే పద్ధతులు కోడ్‌లో కలిసి నిల్వ చేయబడతాయి.

6. స్టాటిక్ టైపింగ్ (ఫాస్ట్ ఫెయిల్) - వేరియబుల్ రకాల అనుకూలత సంకలన దశలో తనిఖీ చేయబడుతుంది. ప్రతి డెవలపర్ కోడ్‌ను కంపైల్ చేస్తారు, కాబట్టి కంపైలేషన్ లోపాలు దాదాపు తక్షణమే క్యాచ్ చేయబడతాయి. లోపం కనుగొనబడిన దశ తరువాత, దాన్ని పరిష్కరించడం చాలా ఖరీదైనది.

7. డాక్యుమెంటేషన్‌గా కోడ్ — జావా ఆంగ్లంలో వాక్యాల వలె చదువుతుంది. దీని ప్రకారం, చాలా సందర్భాలలో, డాక్యుమెంటేషన్ నిర్వహించడానికి ప్రయత్నాలు చేయవలసిన అవసరం లేదు, ఎందుకంటే ఏదైనా డెవలపర్, కోడ్‌ని చూసిన తర్వాత, ఒక పద్ధతి ఏమి చేస్తుందో లేదా ఇంటర్‌ఫేస్ ఏ ప్రవర్తనకు బాధ్యత వహిస్తుందో అర్థం చేసుకుంటుంది. ఇంకా ఏమిటంటే, కోడ్‌లోని అన్ని ఎంటిటీలకు "సరైన" పేరు పెట్టడానికి సంబంధించి తెలివైన సమావేశాలు ఉన్నాయి. ఒక పద్ధతి పేరు తరచుగా అది ఏమి చేస్తుందో స్పష్టం చేస్తుంది.

ఉదాహరణకు, getContext() పద్ధతి సందర్భాన్ని అందిస్తుంది మరియు వయస్సుని నిల్వ చేయడానికి వయస్సు ఫీల్డ్ బాధ్యత వహిస్తుంది. జావాలో, పేర్ల పొడవు ఎంటిటీలతో పని చేయడానికి అవసరమైన సిస్టమ్ వనరులను ప్రభావితం చేయదు. C దీన్ని కూడా నిర్వహించదు: డెవలపర్ కొత్త ప్రాజెక్ట్‌లో చేరినప్పుడు, కోడ్ యొక్క లాజిక్‌ను గ్రహించడానికి బదులుగా, అతను లేదా ఆమె దానిని అర్థంచేసుకోవాలి.

8. చాలా ఓపెన్ సోర్స్ లైబ్రరీలు మరియు ఫ్రేమ్‌వర్క్‌లు — డెవలపర్ రోజువారీ ప్రాక్టీస్‌లో ఎదుర్కొనే 99% టాస్క్‌లను ఇప్పటికే ఎవరైనా పరిష్కరించారు. కాలక్రమేణా, మంచి పరిష్కారాలు లైబ్రరీలుగా మరియు ఫ్రేమ్‌వర్క్‌లుగా కూడా పెరుగుతాయి. ఏది మంచిది — 5 నిమిషాల పాటు గూగ్లింగ్ చేయడం లేదా చదరపు చక్రాలతో మీ స్వంత సైకిల్‌ను మళ్లీ ఆవిష్కరించడం?

9. పెద్ద కమ్యూనిటీ — ఈ ప్రసిద్ధ భాష ఇంటర్నెట్‌లో చాలా ప్రశ్నలు అడుగుతుంది, చాలా సమాధానాలు ఇస్తుంది, చాలా కోడ్‌లను వ్రాస్తుంది మరియు అనేక సమస్యలను ఎదుర్కొంటుంది మరియు పరిష్కరించే భారీ డెవలపర్ బేస్‌ను కలిగి ఉంది. మరియు ఎక్కువ మంది డెవలపర్‌లు ఉంటే, భాష మరింత ప్రజాదరణ పొందింది మరియు అది వేగంగా పెరుగుతుంది. ఇది ధర్మ చక్రం.

జావా యొక్క అనేక సానుకూల "గుణాలు" ఇప్పటికే ప్రస్తావించబడ్డాయి, అయితే నేను మరికొన్ని జోడించాలనుకుంటున్నాను:

  • JVM (జావా వర్చువల్ మెషిన్) మీ కోసం మెమరీని నిర్వహిస్తుంది, ఇది దానిని సురక్షితంగా మరియు ఆర్థిక సాధనాల కోసం #1 భాషగా చేస్తుంది.

  • జావాలో బ్యాకెండ్ సర్వర్ (సర్వర్ లాజిక్) వ్రాయడం చాలా సౌకర్యవంతంగా ఉంటుంది.

  • ఇటీవలి వరకు, ఆండ్రాయిడ్ అప్లికేషన్‌లకు జావా అగ్ర భాష.

    కోట్లిన్, "సింటాక్టిక్ షుగర్" మరియు కొన్ని లక్షణాల ద్వారా జావా నుండి భిన్నమైన JVM భాష ఇప్పుడు దాని స్థానంలో ఉంది. జావా నుండి కోట్లిన్‌కి మరియు వైస్ వెర్సాకి మారడానికి చాలా రోజులు పడుతుంది. మరియు జావా అప్‌డేట్ సైకిల్ ఇప్పుడు ఆరు నెలలు అయినందున, తదుపరి జావా విడుదలలో కోట్లిన్ వ్రాసిన అన్ని హైప్ అంశాలు ఉండవచ్చు.

  • అనేక ప్రసిద్ధ కంపెనీలు జావాను ఉపయోగిస్తాయి: Google, Facebook, Twitter, Amazon, LinkedIn, eBay, CodeGym మరియు మరెన్నో.