CodeGym /جاوا بلاگ /Random-UR /جاوا اور جاوا اسکرپٹ کے بارے میں جانیں۔
John Squirrels
سطح
San Francisco

جاوا اور جاوا اسکرپٹ کے بارے میں جانیں۔

گروپ میں شائع ہوا۔

جاوا کیا ہے؟

جاوا ایک عام مقصد کی پروگرامنگ زبان ہے جسے ذہن میں ایک منتر کے ساتھ ڈیزائن کیا گیا ہے — ” ایک بار لکھیں، کہیں بھی چلائیں ۔ جاوا ایپلی کیشنز کو بائیک کوڈ میں مرتب کیا جاتا ہے جو جاوا ورچوئل مشین (JVM) کے نفاذ پر چل سکتا ہے۔ JVM سورس کوڈ اور 1s اور 0s کے درمیان فرق کو ختم کرنے میں مدد کرتا ہے جسے کمپیوٹر سمجھتا ہے۔ کوئی بھی مشین جس میں JVM انسٹال ہے وہ جاوا چلا سکتی ہے۔ ویب ڈویلپمنٹ میں، جاوا سب سے نمایاں طور پر ایک سرور سائیڈ لینگویج اور اینڈرائیڈ پلیٹ فارم پر موبائل ایپس کے لیے پسند کی پروگرامنگ لینگویج کے طور پر نمایاں ہے۔ یہ اب بھی جاوا ایپلٹ کے طور پر فرنٹ اینڈ پر ایک معقول موجودگی رکھتا ہے، حالانکہ یہ سیکورٹی خدشات کی وجہ سے حق سے باہر ہو رہا ہے۔

جاوا اسکرپٹ کیا ہے؟

HTML اور CSS کے ساتھ ساتھ، JavaScript (ECMAScript کے طور پر معیاری) کو ویب کے بڑے تین بنیادی اجزاء میں سے ایک سمجھا جاتا ہے۔ ویب سائٹس کی اکثریت کے ذریعہ ملازمت میں، JavaScript ایک اسکرپٹنگ زبان ہے جو عام طور پر براؤزر میں چلتی ہے اور ویب صفحات کو متحرک اور انٹرایکٹو بناتی ہے۔ آج JavaScript 2009 میں Node.js کی ریلیز کے بعد سے سرور سائیڈ ٹیکنالوجی کے طور پر تیزی سے ترقی کر رہا ہے۔

جاوا بمقابلہ جاوا اسکرپٹ: اہم مماثلتیں۔

جیسا کہ وہ مختلف ہیں، کچھ اعلی سطحی مماثلتیں قابل غور ہیں، خاص طور پر اگر آپ جاوا کا جاوا اسکرپٹ سے موازنہ کرتے وقت ویب ڈویلپمنٹ کو دیکھ رہے ہیں۔ آبجیکٹ اورینٹڈ پروگرامنگ (OOP) ۔ دونوں زبانیں ڈویلپر سے اشیاء اور ان کے ایک دوسرے سے تعلقات کے لحاظ سے کوڈ کی ضرورت ہوتی ہیں۔ توسیع کے ذریعہ، یہ دونوں زبانوں کو وراثت، encapsulation، اور polymorphism جیسی تکنیکوں تک رسائی فراہم کرتا ہے۔ فرنٹ اینڈ ڈویلپمنٹ دونوں زبانیں فرنٹ اینڈ ڈیولپمنٹ کے پہلوؤں میں استعمال کی جا سکتی ہیں۔ جاوا اسکرپٹ کو براہ راست HTML میں سرایت کیا جا سکتا ہے، اسے ایک فریم ورک یا لائبریری کے طور پر لاگو کیا جا سکتا ہے۔ جاوا کو جاوا ایپلٹ کے طور پر استعمال کیا جا سکتا ہے۔ بیک اینڈ ڈیولپمنٹ دونوں زبانیں سرور سائیڈ پر استعمال کی جا سکتی ہیں۔ جاوا طویل عرصے سے اپاچی، JBoss، اور WebSphere جیسی بیک اینڈ ٹیکنالوجیز کو طاقت دینے کے لیے استعمال ہوتا رہا ہے۔ Node.js JavaScript سے چلنے والے سرورز کے لیے ایک لانچ پیڈ بن گیا ہے۔

جاوا بمقابلہ جاوا اسکرپٹ: اہم اختلافات

یہ یاد رکھنا ضروری ہے کہ Java اور JavaScript کو مکمل طور پر مختلف مقاصد کے لیے تیار کیا گیا تھا۔ جاوا کو اسٹینڈ اسٹون ایپلی کیشنز بنانے کے لیے ایک عام مقصد کی پروگرامنگ زبان کے طور پر ڈیزائن کیا گیا تھا، جب کہ JavaScript ایک اسکرپٹنگ زبان ہے جو خاص طور پر ویب ٹیکنالوجیز، یعنی HTML کے ساتھ انٹرفیس کے لیے بنائی گئی ہے۔ جب جاوا کو سن کے ذریعہ 1991 میں جاری کیا گیا تھا، تو اسے ابتدائی طور پر صارفین کے الیکٹرانکس جیسے VCRs کو پروگرام کرنے کے لیے استعمال کیا جا رہا تھا۔ جاوا اسکرپٹ کو جاوا کے ساتھ کلائنٹ سائیڈ اسکرپٹنگ زبان کے طور پر استعمال کرنے کے لیے متعارف کرایا گیا تھا جو براؤزر میں بغیر مرتب کیے چل سکتا ہے۔ آئیے ان دو زبانوں کے درمیان کچھ بڑے فرقوں پر گہری نظر ڈالیں۔ مرتب بمقابلہ تشریح شدہ۔ جاوا کو ایک مرتب شدہ پروگرامنگ زبان سمجھا جاتا ہے۔ JavaScript کو ایک تشریح شدہ اسکرپٹ زبان سمجھا جاتا ہے۔ فرق نفاذ میں ہے: جاوا کو بائیک کوڈ میں مرتب کیا جاتا ہے اور ایک ورچوئل مشین پر چلایا جاتا ہے، جب کہ جاوا اسکرپٹ کی ترجمانی براہ راست براؤزر کے ذریعے نحو میں کی جا سکتی ہے (حالانکہ یہ عام طور پر عملی طور پر کم کیا جاتا ہے)۔ جامد بمقابلہ ڈائنامک ٹائپ چیکنگ ۔ جاوا جامد قسم کی جانچ کا استعمال کرتا ہے، جہاں متغیر کی قسم کو مرتب وقت پر چیک کیا جاتا ہے۔ پروگرامر کو اپنے بنائے ہوئے کسی بھی متغیر کی قسم (انٹیجر، ڈبل، سٹرنگ، وغیرہ) بتانا چاہیے۔ JavaScript، زیادہ تر اسکرپٹنگ زبانوں کی طرح، متحرک ٹائپنگ کا استعمال کرتا ہے، جہاں رن ٹائم کے وقت قسم کی حفاظت کی تصدیق کی جاتی ہے۔ پروگرامر کے لیے یہ ضروری نہیں ہے کہ وہ کسی بھی متغیر کی قسم کی وضاحت کرے۔ ان دونوں تمثیلوں کے بہت سے فائدے اور نقصانات ہیں، لیکن جامد قسم کی جانچ پڑتال کا بنیادی فائدہ یہ ہے کہ قسم کی غلطیاں ترقی کے آغاز میں پکڑی جاتی ہیں، اور چونکہ مرتب کرنے والا بالکل جانتا ہے کہ ڈیٹا کی کونسی قسمیں استعمال کی جا رہی ہیں، کوڈ عام طور پر تیزی سے کام کرتا ہے یا کم میموری استعمال کرتا ہے۔ . متحرک قسم کی جانچ کا بنیادی فائدہ پروگرامر کی پیداواری صلاحیت ہے — آپ اپنی فرصت میں اقسام تفویض کرنے کے لیے آزاد ہیں۔ ہم آہنگی جاوا اور جاوا اسکرپٹ کے درمیان ایک ہی وقت میں کئی ہدایات کی ترتیب کو ہینڈل کرنے کی صلاحیت کو بہت مختلف طریقے سے ہینڈل کیا جاتا ہے۔ جاوا متوازی طور پر کام انجام دینے کے لیے متعدد تھریڈز کا استعمال کرتا ہے۔ JavaScript، خاص طور پر جیسا کہ یہ سرور سائڈ ایپلی کیشنز میں Node.js کے طور پر موجود ہے، ایک قطار کے نظام کے ذریعے عمل کے ایک اہم دھاگے پر کنکرنسی کو ہینڈل کرتا ہے جسے ایونٹ لوپ کہتے ہیں، اور ایک فورکنگ سسٹم جسے نوڈ کلسٹرنگ کہتے ہیں۔ زیادہ تر استعمال کے معاملات میں، دونوں طریقے بالکل ٹھیک کام کرتے ہیں، لیکن جاوا عام طور پر تیز ہوتا ہے کیونکہ تھریڈ ٹو تھریڈ لیس بیسڈرنگ انٹر پروسیس کمیونیکیشن (IPC) سے کہیں زیادہ تیز ہے۔ کلاس بیسڈ بمقابلہ پروٹو ٹائپ بیسڈ ۔ جاوا کلاس پر مبنی وراثت کی پیروی کرتا ہے - ایک اوپر نیچے، درجہ بندی، کلاس پر مبنی رشتہ جس کے تحت خصوصیات کی تعریف کلاس میں کی جاتی ہے اور اس کلاس (اس کے ممبروں میں سے ایک) کی مثال سے وراثت میں ملتی ہے۔ JavaScript میں، وراثت پروٹو ٹائپل ہے — تمام اشیاء براہ راست دوسری اشیاء سے وراثت میں مل سکتی ہیں۔ جاوا اسکرپٹ میں کسی شے کو کنسٹرکٹر فنکشن کے ساتھ پروٹو ٹائپ کے طور پر تفویض کرکے درجہ بندی کی تکمیل کی جاتی ہے۔

کیا مجھے اپنے اگلے پروجیکٹ کے لیے جاوا اسکرپٹ یا جاوا استعمال کرنا چاہیے؟

تمام زبانوں کی طرح، انتخاب واقعی اس بات پر منحصر ہے کہ آپ کیا بنانے کی کوشش کر رہے ہیں اور آپ کے اختیار میں کون سے وسائل ہیں۔ جاوا اسکرپٹ اب بھی بہت زیادہ ویب ٹیکنالوجی ہے، جبکہ جاوا ایک عام مقصد کی زبان ہے جو کچھ بھی بنا سکتی ہے۔ آپ کو جاوا پر غور کرنا چاہئے اگر آپ کے پروجیکٹ میں شامل ہے…
  • اینڈرائیڈ ایپس
  • انٹرپرائز سافٹ ویئر
  • سائنسی کمپیوٹنگ
  • بگ ڈیٹا تجزیات
  • ہارڈ ویئر کا عمومی مقصد پروگرامنگ
  • Apache، JBoss، Geronimo، GlassFish، وغیرہ جیسی سرور سائیڈ ٹیکنالوجیز۔
اگر آپ کے پروجیکٹ میں شامل ہے تو آپ کو جاوا اسکرپٹ پر غور کرنا چاہئے…
  • ڈائنامک سنگل پیج ایپلی کیشنز (SPAs)
  • فرنٹ اینڈ ٹیکنالوجیز جیسے jQuery، AngularJS، Backbone.js، Ember.js، ReactJS وغیرہ۔
  • سرور سائیڈ ٹیکنالوجیز جیسے Node.js، MongoDB، Express.js، وغیرہ۔
  • فون گیپ کے ذریعے موبائل ایپ ڈیولپمنٹ، ری ایکٹ نیٹیو وغیرہ۔
  • اس بات کو ذہن میں رکھیں کہ کوئی بھی فہرست وسیع نہیں ہے، یہ صرف ایک نقطہ آغاز کے طور پر ہیں تاکہ آپ کو یہ محسوس کرنے میں مدد ملے کہ آپ کیا توقع کر سکتے ہیں اور آپ اپنی ضروریات کے لیے بہترین زبان کا اندازہ لگانے کے لیے کون سے مطلوبہ الفاظ استعمال کر سکتے ہیں۔
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION