پال گراہم نے ایک نئی پروگرامنگ زبان بیل کا اعلان کیا۔

بیل زبان بیل زبان میں لکھی جاتی ہے۔

پال گراہم نے ایک نئی پروگرامنگ زبان بیل کا اعلان کیا۔
1960 میں، جان میکارتھی نے لِسپ کو بیان کیا، جو ایک نئی قسم کی پروگرامنگ زبان ہے۔ میں "نئی قسم" کہتا ہوں کیونکہ Lisp صرف ایک نئی زبان نہیں تھی، بلکہ زبانوں کو بیان کرنے کا ایک نیا طریقہ تھا۔

لِسپ کی تعریف کرنے کے لیے، اس نے بیانات کے ایک چھوٹے سے مجموعے سے شروع کیا، ایک قسم کے محور، جسے وہ خود زبان کے لیے ترجمان لکھنے کے لیے استعمال کرتے تھے۔

اس نے عام معنوں میں کسی پروگرامنگ زبان کی وضاحت نہیں کی تھی - ایک زبان جو کمپیوٹر کو بتاتی تھی کہ کیا کرنا ہے۔ ان کے 1960 کے کام میں، لِسپ کو ٹورنگ مشین کے مشابہ حساب کے ایک باقاعدہ ماڈل کے طور پر سمجھا گیا۔ میک کارتھی نے اسے کمپیوٹر پر استعمال کرنے کے بارے میں نہیں سوچا جب تک کہ اس کے گریجویٹ طالب علم اسٹیو رسل نے اسے تجویز نہیں کیا۔

1960 میں لِسپ میں پروگرامنگ زبانوں میں عام خصوصیات نہیں تھیں۔ مثال کے طور پر، کوئی نمبر، غلطیاں یا I/O نہیں تھے۔ اس لیے جو لوگ کمپیوٹر پروگرام کرنے کے لیے استعمال ہونے والی زبانوں کی بنیاد کے طور پر Lisp کا استعمال کرتے تھے، انھیں یہ خصوصیات خود شامل کرنا پڑیں۔ اور انہوں نے یہ کام محوری نقطہ نظر کو ترک کر کے کیا۔

اس طرح، لِسپ کی ترقی دو میں آگے بڑھی - اور بظاہر کافی آزاد - مراحل: ایک رسمی مرحلہ، جو 1960 کے ایک مقالے میں متعارف کرایا گیا تھا، اور ایک نفاذ کا مرحلہ، جس میں زبان کو کمپیوٹر پر چلانے کے لیے ڈھال لیا گیا اور بڑھایا گیا۔ اہم کام، اگر نافذ شدہ مواقع کی تعداد سے ماپا جاتا ہے، تو عمل درآمد کے مرحلے پر ہوا تھا۔ Lisp from 1960، Common Lisp میں ترجمہ ہوا، صرف 53 لائنوں پر مشتمل ہے۔ یہ صرف وہی کرتا ہے جو تاثرات کی تشریح کے لیے ضروری ہے۔ باقی سب کچھ نفاذ کے مرحلے میں شامل کیا گیا تھا۔

میرا مفروضہ یہ ہے کہ، اپنی مشکل تاریخ کے باوجود، لِسپ کو اس حقیقت سے فائدہ ہوا کہ اس کی نشوونما دو مراحل میں ہوئی۔ کہ کسی زبان کو اس میں مترجم لکھ کر اس کی تعریف کرنے کی اصل مشق نے لِسپ کو اس کی بہترین خصوصیات عطا کیں۔ اور اگر ہے تو آگے کیوں نہیں جاتے؟

خوبصورت اس سوال کا جواب دینے کی کوشش ہے: کیا ہوگا اگر، ابتدائی مرحلے میں رسمی مرحلے سے پھانسی کے مرحلے کی طرف جانے کے بجائے، یہ منتقلی جتنی دیر سے ممکن ہوسکے؟ اگر آپ اس وقت تک محوری نقطہ نظر کو استعمال کرتے رہتے ہیں جب تک کہ آپ کے پاس مکمل پروگرامنگ زبان کے قریب کچھ نہ ہو، تو آپ کو کن محوروں کی ضرورت ہوگی، اور نتیجے میں آنے والی زبان کیسی نظر آئے گی؟

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

کس لیے؟ رسمی مرحلہ کیوں بڑھایا؟ ایک جواب یہ ہے کہ یہ دیکھنا ہے کہ محوری نقطہ نظر ہمیں کہاں لے جا سکتا ہے، جو اپنے آپ میں ایک دلچسپ مشق ہے۔ اگر کمپیوٹر اتنے ہی طاقتور ہوتے جتنے ہم چاہتے ہیں کہ زبانیں کیسی نظر آئیں گی؟

لیکن میں یہ بھی مانتا ہوں کہ پابندیاں شامل کر کے بیل پر مبنی ایک موثر نفاذ لکھنا ممکن ہے۔ اگر آپ ایک ایسی زبان چاہتے ہیں جس میں اظہار کی طاقت، وضاحت اور کارکردگی ہو، تو اس کا آغاز اظہار کی طاقت اور وضاحت سے کرنا، اور پھر مخالف سمت میں جانے کے بجائے پابندیاں شامل کرنے کے قابل ہو سکتا ہے۔

لہذا اگر آپ بیل پر مبنی عمل کو لکھنے کی کوشش کرنا چاہتے ہیں تو آگے بڑھیں۔ میں پہلے صارفین میں سے ایک ہوں گا۔

بالآخر، میں نے پچھلی بولیوں سے کچھ چیزیں دوبارہ پیش کیں۔ یا تو ان کے ڈیزائنرز نے اسے ٹھیک سمجھا، یا پہلے استعمال ہونے والی بولیوں سے متاثر ہو کر، مجھے صحیح جواب نظر نہیں آ رہا ہے - وقت بتائے گا۔ میں نے بھی کوشش کی کہ لِسپ کنونشنز سے بہت دور نہ بھٹکوں۔ جس کا مطلب ہے کہ اگر آپ Lisp کنونشنز سے ہٹتے ہوئے دیکھتے ہیں تو اس کی کوئی وجہ ہو سکتی ہے۔

یہاں زبان کی مسلسل وضاحت.

ترجمہ کے لئے شکریہ: ڈینس Mitropolsky

PS

ماخذ: www.habr.com

نیا تبصرہ شامل کریں