కంపైలర్లు అంటే ఏమిటి?  - 1

"హాయ్, అమిగో. నా పేరు ప్రొఫెసర్ హాన్స్ నూడుల్స్. నేను గెలాక్సీ రష్‌లో సైంటిఫిక్ కౌన్సిల్‌కి అధిపతిని. మీకు జావా ప్రోగ్రామింగ్ నేర్పించే మా ప్రయత్నాలను కూడా నేను పర్యవేక్షిస్తున్నాను."

"హలో, ప్రొఫెసర్ నూడుల్స్."

" జావా ఎందుకు చాలా కూల్ ప్రోగ్రామింగ్ లాంగ్వేజ్ అని నేను మీకు వివరించాలనుకుంటున్నాను . "

"జావా యొక్క సాటిలేని ప్రయోజనం దాని ప్లాట్‌ఫారమ్ స్వాతంత్ర్యం అని మీరు ఒకటి కంటే ఎక్కువసార్లు వింటారు . అది ఏమిటి మరియు దేని కోసం అని మీరు అడగండి? నేను ఒక రౌండ్అబౌట్ విధానాన్ని తీసుకోనివ్వండి."

"కంప్యూటర్ సరళమైన సంఖ్యాపరమైన ఆదేశాలను మాత్రమే అమలు చేయగలదు. కుక్కలకు శిక్షణ ఇచ్చేటప్పుడు, కుక్కను మనం చేయాలనుకున్న పనిని చేయడానికి 'హీల్', 'షేక్' మొదలైన ఆదేశాలను ఉపయోగిస్తాము."

"కంప్యూటర్ల కోసం, సంఖ్యలు అటువంటి ఆదేశాల పాత్రను పోషిస్తాయి. ప్రతి ఆదేశం నిర్దిష్ట సంఖ్య లేదా కోడ్ (కొన్నిసార్లు మెషిన్ కోడ్ అని పిలుస్తారు) ద్వారా సూచించబడుతుంది."

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

"ఒక ప్రోగ్రామర్ సాధారణంగా ప్రోగ్రామింగ్ లాంగ్వేజ్‌లో ప్రోగ్రామ్‌ను వ్రాసి, ఆపై కంపైలర్‌ను నడుపుతాడు, ఇది ప్రోగ్రామర్ వ్రాసిన ప్రోగ్రామ్ కోడ్ ఫైల్‌లను మెషిన్ కోడ్‌తో ఒకే ఫైల్‌గా మారుస్తుంది - చివరి (కంపైల్డ్) ప్రోగ్రామ్."

  • C++లో ప్రోగ్రామ్
  • కంపైలర్
  • మెషిన్ కోడ్

"ఫలిత ప్రోగ్రామ్ కంప్యూటర్ ద్వారా వెంటనే అమలు చేయబడుతుంది. చెడు వార్త ఏమిటంటే తుది ప్రోగ్రామ్ యొక్క కోడ్ ప్రాసెసర్ మరియు ఆపరేటింగ్ సిస్టమ్‌పై బలంగా ఆధారపడి ఉంటుంది. దీని అర్థం Windows కోసం కంపైల్ చేయబడిన ప్రోగ్రామ్ Android స్మార్ట్‌ఫోన్‌లో పనిచేయదు."

"కాబట్టి, నేను ప్రోగ్రామ్‌ను వ్రాసి, ఆండ్రాయిడ్ కోసం కంపైల్ చేస్తే, అది విండోస్‌లో పని చేయలేదా?"

"సరిగ్గా."

"అలాగా."

"అయితే, జావా మరింత వినూత్న విధానాన్ని ఉపయోగిస్తుంది."

  • జావాలో ప్రోగ్రామ్
  • జావా కంపైలర్
  • ప్రత్యేక ప్లాట్‌ఫారమ్-స్వతంత్ర కోడ్ (బైట్‌కోడ్)
  • JVM
  • మెషిన్ కోడ్

"ఒక జావా కంపైలర్ అన్ని తరగతులను ఒక మెషీన్-కోడ్ ప్రోగ్రామ్‌లోకి కంపైల్ చేయదు. బదులుగా, ఇది ప్రతి తరగతిని స్వతంత్రంగా కంపైల్ చేస్తుంది మరియు ఇంకా చెప్పాలంటే, మెషిన్ కోడ్‌లోకి కాదు, ప్రత్యేక ఇంటర్మీడియట్ కోడ్ (బైట్‌కోడ్). బైట్‌కోడ్ కంపైల్ చేయబడింది ప్రోగ్రామ్ ప్రారంభించబడినప్పుడు మెషిన్ కోడ్."

"కాబట్టి, ప్రోగ్రామ్‌ని ఎగ్జిక్యూట్ చేస్తున్నప్పుడు మెషిన్ కోడ్‌గా ఎవరు కంపైల్ చేస్తారు?"

"జావా వర్చువల్ మెషీన్ (JVM) అని పిలువబడే ఒక ప్రత్యేక ప్రోగ్రామ్ ఉంది. మీరు బైట్‌కోడ్ ప్రోగ్రామ్‌ను అమలు చేయవలసి వచ్చినప్పుడు దీన్ని మొదట ప్రారంభించాలి. ప్రోగ్రామ్ అమలు చేయడానికి ముందు JVM బైట్‌కోడ్‌ను మెషీన్ కోడ్‌గా కంపైల్ చేస్తుంది."

"ఆసక్తికరంగా ఉంది. అది ఎందుకు అవసరం?"

"ఇది చాలా శక్తివంతమైన విధానం మరియు జావా యొక్క మొత్తం ఆధిపత్యానికి కారణాలలో ఒకటి."

"ఈ విధానం జావాలో వ్రాసిన ప్రోగ్రామ్‌లను వాస్తవంగా ఏదైనా పరికరంలో అమలు చేయడానికి అనుమతిస్తుంది: కంప్యూటర్‌లు, స్మార్ట్‌ఫోన్‌లు, ATMలు, టోస్టర్‌లు లేదా క్రెడిట్ కార్డ్‌లు కూడా!"

"కూల్!"

"ఈ విధానం అనేక ప్రయోజనాలను కలిగి ఉంది. అందుకే అన్ని ఆండ్రాయిడ్ ప్రోగ్రామ్‌లు కూడా జావాలో వ్రాయబడ్డాయి. మొబైల్ ఫోన్ పరిశ్రమ యొక్క శీఘ్ర వృద్ధికి ధన్యవాదాలు, జావా క్రింది ప్రోగ్రామింగ్ రంగాలలో ఆధిపత్యం చెలాయిస్తుంది:

1)సంస్థ: బ్యాంకులు, కార్పొరేషన్లు, పెట్టుబడి నిధులు మొదలైన వాటి కోసం భారీ సర్వర్-ఆధారిత అప్లికేషన్లు.

2)మొబైల్: మొబైల్ అభివృద్ధి (స్మార్ట్‌ఫోన్‌లు, టాబ్లెట్‌లు), Androidకి ధన్యవాదాలు.

3)వెబ్: PHP ముందంజలో ఉంది, అయితే జావా మార్కెట్‌లో ఘనమైన వాటాను కైవసం చేసుకుంది.

4)పెద్ద డేటా: వేలకొద్దీ సర్వర్‌లతో కూడిన క్లస్టర్లలో కంప్యూటింగ్ పంపిణీ చేయబడింది.

5)స్మార్ట్ పరికరాలు: స్మార్ట్ హోమ్‌లు, ఎలక్ట్రానిక్ పరికరాలు, IoT రిఫ్రిజిరేటర్లు మొదలైన వాటి కోసం ప్రోగ్రామ్‌లు."

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

"మీరు జావాలో ప్రోగ్రామ్‌లు ఎంత ఎక్కువగా వ్రాస్తే, 'ఎందుకు జావా?' అనే ప్రశ్నకు మీకు ఎక్కువ సమాధానాలు దొరుకుతాయి. ఈ రోజు అంతే."

"ధన్యవాదాలు, ప్రొఫెసర్. ఇది నిజంగా ఆసక్తికరంగా మరియు స్ఫూర్తిదాయకంగా ఉంది."