The Shore of Programming - Ep 02

(الف) پروگرامنگ زبان کا انتخاب 

کوئی بھی کام بے مقصد کرنا وقت کا ضائع کرنا ہی ہے۔ چناں چہ پروگرامنگ کی ایسی زبان منتخب کرنا جو موجودہ زمانے میں متروک ہوچکی ہو یا آپ کی ضروریات پوری نہ کرتی ہو، بے فائدہ ہے۔ لہٰذا سب سے پہلے اپنی ضروریات کا جائزہ لیں کہ آپ پروگرامنگ سیکھ کر کرنا کیا چاہتے ہیں؟ اگر آپ پروگرامنگ کی پہلی سیڑھی چڑھنا چاہتے ہیں اور آسان انٹرفیس استعمال کرتے ہوئے اطلاقیے بنانا چاہتے ہیں تو ’سی‘ منتخب کرسکتے ہیں۔ اگر آپ بنیادی طور پر ویب پروگرامنگ تک محدود رہنا چاہتے ہیں تو ’پی۔ایچ۔پی‘ (PHP) ایک بہتر انتخاب ہے۔ اگر آپ ویب اور اطلاقیوں، دونوں پر کام کرنا چاہتے ہیں تو ’پائتھن‘ ایک عمدہ انتخاب ہے۔ اگر آپ طاقتور اطلاقیے اور موبائل گیمز بنانا چاہتے ہیں تو ’جاوا‘ سے بہتر انتخاب کوئی نہیں (اینڈرائیڈ گیمز بھی جاوا ہی پر بنائے جاتے ہیں)۔ غرض، ہمارے پاس ہر خصوصی شعبے سے متعلق پروگرامنگ زبانوں کا ایک اچھا انتخاب موجود ہے۔ لیکن یہاں ہمارا مقصد کیا ہے؟ ہم فی الحال پروگرامنگ کی بنیادی باتیں سمجھنا چاہتے ہیں اور پروگرامنگ کی ابجد سے شناسائی حاصل کرنا چاہتے ہیں، لہٰذا میں نے اس بنیادی تربیت کے لیے جاوا اسکرپٹ کا انتخاب کیا ہے۔
جاوا اسکرپٹ ایک اسکرپٹنگ لینگویج ہے۔ اسکرپٹنگ لینگویج وہ زبان ہوتی ہے جو کسی خاص پروگرام میں ہی چل سکتی ہے۔ سی لینگویج یا جاوا کے برعکس ہم جاوا اسکرپٹ کی مدد سے ڈیسکٹاپ اطلاقیے نہیں بناسکتے۔ جاوا اسکرپٹ خصوصاً ویب براؤزر پر کام کرنے کے لیے تیار کی گئی ہے۔ تاہم اس مرحلے پر جاوا اسکرپٹ منتخب کرنے کا سبب اس کی چند خصوصیات ہیں:
جاوا اسکرپٹ لکھنے اور چلانے کے لیے کسی خاص سوفٹ ویئر کی ضرورت نہیں پڑتی۔ یہ کورس مبتدی افراد کے لیے ہے اور قوی امکان یہ ہے کہ کسی مبتدی کے کمپیوٹر میں پروگرامنگ کے لیے کوئی خاص ٹولز موجود نہیں ہوتے۔ جاوا اسکرپٹ لکھنے کے لیے صرف اور صرف ایک نوٹ پیڈ اور ایک ویب براؤزر چاہیے ہوتا ہے جو تقریباً ہر کمپیوٹر اور ہر آپریٹنگ سسٹم میں موجود ہوتا ہے۔ لہٰذا آپ کو کچھ انسٹال کرنے کی ضرورت نہیں۔
جاوا اسکرپٹ اُن متعدد زبانوں میں سے ایک ہے جن کی بنیاد ’سی‘ لینگویج ہے۔ یوں، اگر آپ جاوا اسکرپٹ سمجھنے لگتے ہیں تو آپ کو ’سی‘ خاندان کی دیگر زبانیں بھی تھوڑی بہت سمجھ آنے لگیں گی، کم از کم آپ اُن کے بنیادی طریقۂ کار اور کوڈ لکھنے کے اُصول و ضوابط سے آگاہ ہوجائیں گے۔
آپ کو جاوا اسکرپٹ کا تجربہ کرنے کے لیے کسی پیشگی تجربے یا بنیادی مہارت کی ضرورت نہیں، سوائے اس کے کہ آپ کمپیوٹر چلانا جانتے ہوں۔
دیگر پروگرامنگ زبانوں کے برعکس آپ جاوا اسکرپٹ میں لکھے جانے والے ہر ہر کوڈ یا فنکشن کا نتیجہ فوری طور پر اپنے ویب براؤزر میں دیکھ سکتے ہیں۔
اگر آپ انٹرنیٹ باقاعدگی سے استعمال کرتے ہیں تو بیشتر مثالیں ایسی ہوں گی جنھیں آپ عملی طور پر دیکھ چکے ہوں گے۔ یوں، کسی مرحلے پر ذہن میں یہ خیال نہیں آئے گا کہ اگر ’ہیلو‘ ہی لکھنا تھا تو وہ ہم خود بھی لکھ سکتے تھے، تین سطور کا کوڈ لکھنے کا جھنجھٹ کیوں کیا؟
ہر پروگرامنگ زبان کی خوبیاں بھی ہوتی ہیں اور ہر ایک میں کوئی نہ کوئی کمی بھی۔ تو پروگرامنگ زبان کے انتخاب کو فی الحال کوئی بڑا مسئلہ سمجھے بغیر ساتھ ساتھ آگے بڑھتے رہیں۔ اگر آپ کوئی دوسری پروگرامنگ زبان بھی سیکھنا چاہتے ہیں تو فکر کی ضرورت نہیں۔ اس کورس کے بعد ایسا وقت آئے گا کہ آپ کے لیے وہ زبان سمجھنا مشکل کام نہیں رہے گا جو آپ دراصل سیکھنے کی زیادہ خواہش رکھتے ہیں۔
آگے بڑھنے سے پہلے جاوا اسکرپٹ کا مختصر سا تعارف جانتے ہیں۔ جاوا اسکرپٹ پہلی بار 1995ء میں نیٹ اسکیپ ویب براؤزر کے ساتھ منظرِ عام پر آئی۔ جاوا اسکرپٹ کے کمالات اور فوائد کو دیکھتے ہوئے اگلے ہی سال مائکروسوفٹ نے اپنے ویب براؤزر انٹرنیٹ ایکسپلورر میں بھی جاوا اسکرپٹ کی سپورٹ شامل کردی۔ نیٹ اسکیپ براؤزر ختم ہوجانے کے بعد جاوا اسکرپٹ کی ڈویلپمنٹ کی ذمہ داری دی موزیلا فاؤنڈیشن نے سنبھال لی، تاہم اس کا ٹریڈمارک اوریکل کارپوریشن کے پاس ہے۔ جاوا اسکرپٹ کی فائل کا ایکسٹیشن (فائل فورمیٹ) .js ہوتا ہے یعنی اس کے فائل نام کے آخر میں .js لکھا جاتا ہے۔ یہاں یہ واضح رہے کہ جاوا اور جاوا اسکرپٹ دو بالکل الگ زبانیں ہیں اور ان میں لفظ ’جاوا‘ کے علاوہ بس یہ بات مشترک ہے کہ دونوں کی بنیاد ’سی‘ لینگویج ہے اس لیے بعض مقامات پر طریقۂ کار ایک جیسا ہے۔ ورنہ ان دونوں کا کوئی جوڑ نہیں۔

(ب) کوڈ لکھنے کی ابتدا

اتنی باتوں کے بعد اب مزید وقت ضایع کیے بغیر کوڈ لکھنے کی ابتدا کرتے ہیں۔ جیساکہ ہم نے پہلے جانا، ہمیں جاوا اسکرپٹ کا کوڈ لکھنے کے لیے کسی خصوصی ٹول یا سوفٹ ویئر کی ضرورت نہیں۔ صرف ایک عدد ٹیکسٹ ایڈیٹر اور ایک عدد ویب براؤزر۔
اگر آپ مائکرو سوفٹ ونڈوز آپریٹنگ سسٹم استعمال کر رہے ہیں تو آپ کے کمپیوٹر میں نوٹ پیڈ (Notepad) نامی سوفٹ ویئر اور انٹرنیٹ ایکسپلورر (Internet Explorer) نامی ویب براؤزر پہلے سے موجود ہوگا۔ اگر آپ لینکس آپریٹنگ سسٹم استعمال کر رہے ہیں تو جی۔ایڈٹ (Gedit) نامی ٹیکسٹ ایڈیٹر اور فائر فوکس یا گوگل کروم بطور ویب براؤزر موجود ہوگا۔ میک آپریٹنگ سسٹم پر ٹیکسٹ ایڈٹ (TextEdit) نامی ٹیکسٹ ایڈیٹر اور سفاری (Safari) ویب براؤزر موجود ہوتا ہے۔
اس کے علاوہ آپ اپنی مرضی کے کسی دوسرے ٹیکسٹ ایڈیٹر کا انتخاب بھی کرسکتے ہیں لیکن کیا آپ ٹیکسٹ ایڈیٹر اور ورڈ پروسیسر میں فرق سے واقف ہیں؟ اگر آپ جس سوفٹ ویئر میں کوڈ لکھنے جا رہے ہیں، اگر اس میں آپ کو فورمیٹنگ ٹولز نظر آ رہے ہیں؛ مثلاً فونٹ، فونٹ سائز، بولڈ، اٹالک، سمت، الائنمنٹ، پیراگراف سیٹنگ وغیرہ؛ تو رک جائیں کیوں کہ یہ ٹیکسٹ ایڈیٹر نہیں، ورڈ پروسیسر ہے اور یہ ہمارے لیے قطعی بہتر نہیں۔ ہمیں ٹیکسٹ ایڈیٹر چاہیے، ایسا ٹول جو صرف ٹیکسٹ ایڈٹ کرتا ہو۔ اس مرحلے پر اگرچہ ہمارا کام اُن بنیادی ٹولز سے بھی چل سکتا ہے جن کا اوپر ذکر ہوا، تاہم اگر آپ اس سے بڑھ کر کچھ منتخب کرنا چاہ رہے ہیں تو ونڈوز کے لیے نوٹ پیڈ پلس پلس اور لینکس پر اسی کا متبادل Notepadqq بہترین انتخاب ہے۔ اس کی خاص بات یہ ہے کہ یہ مختلف پروگرامنگ زبانوں کے کوڈ لکھنے کے لیے ہی بنایا گیا ہے۔ یہ کوڈ کو خودکار طریقے سے مختلف رنگ میں دکھاتا ہے، کوڈ خود مکمل کرنے کی سہولت دیتا ہے، کوڈ کے ساتھ ساتھ لائن نمبر بھی دکھاتا ہے۔ ممکن ہے کہ آپ کو فی الحال یہ سب باتیں بے مقصد لگیں۔ کوئی بات نہیں۔ انھیں سمجھنے کی فی الحال ایسی ضرورت بھی نہیں۔ جیسے جیسے ہم آگے بڑھتے جائیں گے، ویسے ویسے یہ چیزیں واضح ہوتی جائیں گی۔
ہم یہ جان چکے ہیں کہ جاوا اسکرپٹ ویب براؤزر میں چلتا ہے۔ ہم جاوا اسکرپٹ کی فائل کو ویب فائل مثلاً HTML فائل کے ساتھ جوڑ دیتے ہیں۔ پھر جب ہم HTML فائل چلاتے ہیں تو اُسی کے ساتھ جاوا اسکرپٹ بھی چل پڑتا ہے۔ میں نے جاوا اسکرپٹ کے تجربات کے لیے ایک بالکل سادہ سی HTML فائل بنائی ہے جس کا کوڈ یہ ہے:
<!DOCTYPE html>
<html>
<head>
<title>
JavaScript
</title>
<script src="hello.js"></script>
</head>
<body>
<p> A simple html web page </p>
</body>
</html>
اگر آپ HTML سے شدبد رکھتے ہیں تو آپ کے لیے اسے سمجھنا قطعی مشکل نہیں۔ اگر آپ HTML نہیں جانتے تو اسے سمجھنا فی الحال آپ کے لیے لازمی نہیں، تاہم مختصر وضاحت کیے دیتا ہوں۔
  • سب سے پہلی سطر میں ایچ ٹی ایم ایل ڈوک ٹائپ کا بیان ہے جو براؤزر کو بتاتا ہے کہ یہ فائل HTML میں ہے تاکہ براؤزر اسے ٹھیک طرح سے پڑھے۔
  • اگلے مرحلے پر <html> کا ٹیگ شروع ہو رہا ہے۔
  • پھر <head> ٹیگ ہے جو ہیڈر، ٹائٹل اور ویب سائٹ سے متعلق بنیادی معلومات پر مشتمل ہوتا ہے۔
  • <title> ٹیگ براؤزر کو ویب سائٹ کے عنوان/نام سے متعلق بتا رہا ہے۔ یہ ٹائٹل ’’جاوا اسکرپٹ‘‘ ہے جو براؤزر کے ٹائٹل بار میں ظاہر ہوگا۔
  • پھر اسکرپٹ کا ٹیگ ہے جو یہ بتا رہا ہے کہ اس HTML فائل کے ساتھ hello.js نامی فائل بھی پڑھنی ہے۔
  • آخر میں <body> کا ٹیگ ہے جس میں پیراگراف <p> ٹیگ شامل ہے۔ اس میں آپ جو متن لکھیں گے وہ ویب سائٹ کے صفحے پر ظاہر ہوگا۔
اگر آپ کو اسے سمجھنے میں مشکل درپیش ہو تو آپ یہ فائل یہاں سے ڈاؤن لوڈ بھی کرسکتے ہیں۔ یاد رکھیں کہ HTML فائل اور جاوا اسکرپٹ کی فائل، ایک ساتھ ایک ہی فولڈر میں رکھنی ہے۔ اب ہم جاوا اسکرپٹ لکھنے کے لیے تیار ہیں۔

(ج) پہلا پروگرام: ہیلو، ورلڈ!

یہ ایک روایت چلتی چلی آ رہی ہے کہ ہر پروگرامنگ زبان میں پہلا پروگرام ’ہیلو، ورلڈ‘ لکھا جاتا ہے۔ یہ گویا اس پروگرامنگ زبان کی دنیا کو رسمی سلام ہوتا ہے۔ یہ پروگرام ہر پروگرامنگ زبان کا مختصر ترین کوڈ ہوتا ہے۔ جاوا اسکرپٹ کا آغاز بھی اسی پروگرام سے کرتے ہیں۔ ٹیکسٹ ایڈیٹر کھولیں اور ٹائپ کریں:
alert(“Hello, World!”);
فائل کو hello.js کے نام سے محفوظ کرلیں۔
اب اپنی HTML فائل پر دو بار کلک کرکے اُسے ویب براؤزر میں کھول لیں۔ اگر اپنی مرضی کے ویب براؤزر میں کھولنا چاہتے ہیں تو HTML فائل پر دایاں کلک کرکے منیو کھولیں اور اُس میں سے Open with کلک کریں اور جب آپ سے سوفٹ ویئر منتخب کرنے کا پوچھا جائے تو اپنی مرضی کا ویب براؤزر منتخب کرلیں۔
آپ دیکھیں گے کہ براؤزر میں وہ ویب صفحہ کھلتے ہی پہلے ایک چھوٹی سی پوپ۔اپ اسکرین ظاہر ہوگی، جس میں لکھا ہوگا، ہیلو، ورلڈ! اوکے کا بٹن دبانے پر ویب صفحہ ظاہر ہوجائے گا۔ مبارک ہو، آپ جاوا اسکرپٹ پر پہلا پروگرام لکھنے میں کام یاب ہوئے۔
جاوا اسکرپٹ پر لکھا جانے والا ایک سطری ہیلو ورلڈ پروگرام بعض پروگرامنگ زبانوں میں دو یا تین سطروں پر مشتمل ہوتا ہے۔ جاوا اسکرپٹ میں اسے سمجھنا بہت آسان ہے۔ سب سے پہلے alert کا حکم (کمانڈ) ہے۔ یہ کمانڈ ویب براؤزر کو حکم دیتی ہے کہ صارف کو ایک اطلاع/ الرٹ ظاہر کرے۔ اس کے بعد قوسین (بریکٹس) ہیں جو اس حکم پر عمل درآمد کا طریقہ واضح کرتے ہیں۔ انورٹڈ کوما (’’‘‘) کے درمیان میں جو عبارت لکھی جائے گی، وہی ویب براؤزر کے پوپ۔اپ باکس میں ظاہر ہوگی۔

(د) بلاگ پن

ارادہ تھا کہ مزید ایک دو باتیں بھی لکھوں گا لیکن ابتدا کرنے کے لیے ضروری باتیں ہی اچھی خاصی ہوگئیں۔ اس قسط میں اسی پر اکتفا کرتے ہیں۔ جاوا اسکرپٹ کے ہیلو ورلڈ پروگرام کی فائل یہاں سے ڈاؤن لوڈ بھی کرسکتے ہیں۔ کوئی مشکل ہو یا کوئی نکتہ غیر واضح رہ گیا ہو تو تبصروں کے ذریعے سوالات کیے جاسکتے ہیں۔

Comments

  1. بہت اچھا سلسلہ ہے۔

    ReplyDelete
  2. عمار بھائی اچھی شروعات ہیں ۔۔۔۔۔
    ذرا یہ درجہ ذیل نشانات کی تو وضاحت کر دیں۔۔۔شکریہ
    +;/=

    ReplyDelete
    Replies
    1. شکریہ وسیم۔ آپ کو ان نشانات کی وضاحت کس تناظر میں درکار ہے؟ اگر جاوا اسکرپٹ میں ان علامات کی وضاحت مقصود ہے تو + کا نشان اعداد یا جملے آپس میں ملانے کے لیے، سیمی کولن ؛ کی علامت اسٹیٹمنٹ پورا ہونے پر، سلیش / کی علامت تقسیم کے لیے اور مساوی = کی علامت ویری ایبل کو کوئی ویلیو تفویض کرنے کے لیے استعمال ہوتی ہے۔ ان کے بارے میں تفصیل آئندہ اسباق میں آئے گی۔

      Delete
  3. شکریہ عمار بھائی ۔۔۔۔۔ جاوا اسکرپٹ کے تناظر میں ہی وضاحت مطلوب تھی

    ReplyDelete

Post a Comment