image-ru-00-18

"हाय, नीरज. माझे नाव आहे प्राध्यापक निपुण शास्त्री. मी गॅलॅक्टिक रशवरच्या वैज्ञानिक मंडळाचा प्रमुख आहे. तुला जावा प्रोग्रॅमिंग शिकवण्याच्या आमच्या प्रयत्नांवर लक्ष ठेवणे हे माझेसुद्धा काम आहे."

"नमस्कार, प्राध्यापक निपुण."

"जावा अतिशय कूल प्रोग्रॅमिंग भाषाका आहे, हे मी तुला समजावून सांगतो."

"तुला अनेकवेळा ऐकायला मिळेल की जावाचे एक अतुलनीय वैशिष्ट्य म्हणजे प्लॅटफॉर्मवर अवलंबून नसणे. म्हणजे काय आणि ते कशासाठी लागते? असा तुझा प्रश्न असेल. मी थोडे आडवळणाने सांगतो."

"संगणक फक्त सोप्या संख्यात्मक आज्ञा पाळू शकतो. कुत्र्यांना प्रशिक्षण देताना, आपल्याला त्यांना काही करायला लावायचे असेल तर आपण 'चाल', 'हलव', इ. आज्ञांचा वापर करतो."

"संगणकासाठी, अशा आज्ञांची भूमिका संख्या करतात. प्रत्येक आज्ञा एका विशिष्ट संख्येने किंवा कोडने दर्शवली जाते (कधीकधी याला मशीन कोड म्हटले जाते)."

"पण फक्त संख्या वापरून प्रोग्रॅम लिहीणे खरोखरच अवघड आहे, त्यामुळे लोकांनी प्रोग्रॅमिंग भाषा आणि कम्पायलर्स शोधून काढले. प्रोग्रॅमिंग भाषा मानव आणि कम्पायलर्स दोघांनासुद्धा समजते. कम्पायलर हा एक असा खास प्रोग्रॅम आहे जो प्रोग्रॅमिंग भाषेत लिहिलेल्या प्रोग्रॅमला मशीन कोड्सच्या मालिकेत रुपांतरीत करतो."

"प्रोग्रॅमर सामान्यपणे प्रोग्रॅमिंग भाषेत एक प्रोग्रॅम लिहितो आणि नंतर कम्पायलर चालवतो. प्रोग्रॅमर ने लिहिलेल्या प्रोग्रॅम कोड फाईल्सचे मशीन कोडाच्या एकाच फाईलमध्ये रूपांतर करण्याचे काम कम्पायलर करतो - हाच अंतिम (कम्पाइल्ड) प्रोग्रॅम”

  • सी++ मधील प्रोग्रॅम
  • कम्पायलर
  • मशीन कोड

"तयार होणारा प्रोग्रॅम संगणकाकडून लगेचच एक्झिक्युट केला जाऊ शकतो. यात खोच अशी आहे की अंतिम प्रोग्रॅमचा कोड प्रोसेसर आणि ऑपरेटिंग सिस्टीम यांच्यावर मोठ्या प्रमाणावर अवलंबून असतो. म्हणजेच विंडोजसाठी कम्पाईल केलेला प्रोग्रॅम अँड्रॉईड स्मार्टफोनवर चालणार नाही."

"समजा, मी एक प्रोग्रॅम लिहीला आणि तो अँड्रॉईडसाठी कम्पाईल केला तर तो विंडोजवर चालणार नाही?"

"अगदी बरोबर."

"बरं."

"मात्र, जावा बराच नाविन्यपूर्ण दृष्टीकोन वापरते."

  • जावा मधील प्रोग्रॅम
  • जावा कम्पायलर
  • प्लॅटफॉर्मवर अवलंबून नसलेला खास कोड(बाईटकोड)
  • जेव्हीएम
  • मशीन कोड

"जावा कम्पायलर सगळे क्लासेस एकाच मशीन-कोड प्रोग्रॅममध्ये कम्पाइल करत नाही. त्याऐवजी, तो प्रत्येक क्लास स्वतंत्रपणे कम्पाइल करतो आणि एवढेच नव्हे तर मशीन कोडमध्ये नाही तर एका खास मधल्या कोडमध्ये कम्पाइल करतो (बाईटकोड). जेव्हा प्रोग्रॅम सुरू केला जातो तेव्हा बाईटकोड मशीन कोडमध्ये कम्पाइल केला जातो."

"मग प्रोग्रॅम एक्झिक्युट होत असताना प्रोग्रॅम मशीनकोडमध्ये कोण कम्पाइल करतो?"

"जावा व्हर्च्युअल मशीन(जेव्हीएम) नावाचा एक खास प्रोग्रॅम आहे. जेव्हा तुम्हाला बाईटकोड प्रोग्रॅम रन करायचा असतो, तेव्हा जेव्हीएम सुरू करणे आवश्यक आहे. प्रोग्रॅम इक्झिक्युट होण्यापूर्वी जेव्हीएम बाईटकोडला मशीनकोडमध्ये कम्पाइल करेल."

"इंटरेस्टिंग. त्याची का गरज पडेल?"

"हा एक खूप ताकदवान मार्ग आहे आणि जावाच्या संपूर्ण वर्चस्वाचे हे एक कारण आहे."

"या मार्गामुळे जावामध्ये लिहिलेले प्रोग्रॅम अगदी कोणत्याही उपकरणावर चालवता येतात: संगणक, स्मार्टफोन्स, एटीएम्स, टोस्टर्स, आणि अगदी क्रेडीट कार्ड्स!"

"अरे वाह!"

"या मार्गाचे अनेक फायदे आहेत. त्यामुळेच सर्व अँड्रॉइड प्रोग्रॅमसुद्धा जावामध्येच लिहिले जातात. मोबाईल फोन उद्योगाच्या जलद विकासामुळे, जावाचे प्रोग्रॅमिंगच्या खालील क्षेत्रात वर्चस्व आहे:

1) एंटरप्राईज: बँका, संस्था, गुंतवणूक निधी इ.साठी मोठ्या प्रमाणावर सर्व्हरवर अवलंबून असणारी अॅप्लिकेशन्स.

2) मोबाईल: अँड्रॉइडमुळे, मोबाईल डेव्हलपमेंट (स्मार्टफोन्स, टॅबलेट्स).

3) वेब: पीएचपी आघाडीवर आहे, पण जावाने बाजारपेठेतला मोठा हिस्सा काबीज केला आहे.

4) बिग डेटा: हजारो सर्व्हर्सनी बनलेल्या क्लस्टर्समध्ये वितरीत कॉम्प्युटिंग.

5) स्मार्ट डिव्हायसेस: स्मार्ट घरे, इलेक्ट्रॉनिक उपकरणे, आयओटी फ्रीज, इ. साठी प्रोग्रॅम्स."

"जावा ही केवळ भाषा नाही, तर एक प्रकारची परिसंस्था आहे: तुझ्या प्रोग्रॅममध्ये वापरता येतील अशी लक्षावधी तयार मोड्यूल्स; जिथे तुम्हाला मदत किंवा सल्ला मिळेल असे हजारो ऑनलाईन समुदाय आणि संदेश फलक."

"तुम्ही जावामध्ये जितके जास्त प्रोग्रॅम्स लिहाल, तितकी तुम्हाला "जावाच का?' या प्रश्नाची जास्त उत्तरे मिळतील. आजसाठी एवढेच."

"धन्यवाद, प्राध्यापक. हे खरेच रंजक आणि प्रेरक होते."