VSI BASIC for OpenVMS
اوپن وی ایم ایس کے لیے وی ایس آئی بیسک بنیادی پروگرامنگ زبان کی ایک بولی کا تازہ ترین نام ہے جسے ڈیجیٹل ایکوپمنٹ کارپوریشن (ڈی ای سی) نے بنایا ہے اور اب یہ وی ایم ایس سافٹ ویئر انکارپوریٹڈ (وی ایس آئی) کی ملکیت ہے۔ اسے اصل میں 1970 کی دہائی میں پی ڈی پی-11 منی کمپیوٹر پر آر ایس ٹی ایس-11 آپریٹنگ سسٹم کے لیے بیسک-پلس کے طور پر تیار کیا گیا تھا۔ اسے بعد میں اوپن وی ایم ایس پر پورٹ کیا گیا، پہلے وی اے ایکس، پھر الفا، اور حال ہی میں انٹیگریٹی پر۔ پروڈکٹ کے ماضی کے ناموں میں شامل ہیں: بیسک-پلس، بیسک پلس 2 (بی پی 2 یا بیسک-پلس-2)، وی اے ایکس بیسک، ڈی ای سی بیسک، اوپن وی ایم ایس کے لیے کمپیک بیسک اور اوپن وی ایم ایس کے لیے ایچ پی بیسک۔ ہارڈ ویئر پلیٹ فارم (وی اے ایکس، الفا سرور، وغیرہ) کو نوٹ کرنے والے عنوانات کی متعدد تغیرات۔ موجود بھی ہے۔ قابل ذکر خصوصیات وی ایس آئی بیسک میں فورٹرن جیسی بہت سی توسیعات کے ساتھ ساتھ اصل ڈارٹماؤتھ بیسک میٹرکس آپریٹرز کی حمایت بھی ہے۔ لائن نمبر اختیاری ہیں، جب تک کہ "ای آر ایل" فنکشن موجود نہ ہو۔ یہ آپ کو محفوظ بیانات کے ارد گرد "WHEN ERROR" ایرر ہینڈلرز لکھنے کی اجازت دیتا ہے۔ زیادہ روایتی لیکن کم خوبصورت "غلطی پر" بیان میں اس طرح کے سیاق و سباق یا دائرہ کار کا فقدان ہے۔ وی ایس آئی بیسک کی زیادہ قابل ذکر خصوصیات میں سے ایک اوپن وی ایم ایس کی طاقتور ریکارڈ مینجمنٹ سروسز (آر ایم ایس) کے لیے بلٹ ان سپورٹ ہے۔ وی اے ایکس بیسک کی ریلیز سے پہلے، مقامی آر ایم ایس سپورٹ صرف ڈی ای سی کے کوبول مرتب میں دستیاب تھا۔ اوپن وی ایم ایس پروڈکٹ کی تاریخ کے لیے وی ایس آئی بیسک 30 سال سے زیادہ کی مدت پر محیط ہے، اور یہ اس وقت میں بہت سے نام اور ملکیت کی تبدیلیوں سے گزرا ہے۔ اسے نئے پلیٹ فارمز کے سلسلے میں بھی پیش کیا گیا ہے کیونکہ انہیں ڈی ای سی، کمپیک، ایچ پی اور وی ایس آئی نے تیار کیا تھا۔ کمپنی اور/یا پلیٹ فارم کا نام اکثر پروڈکٹ کے نام میں شامل کیا جاتا ہے، جو ناموں کے پھیلاؤ میں معاون ہوتا ہے۔ بیسک پلس وی ایس آئی بیسک کا آغاز بیسک پلس کے طور پر ہوا، جسے ڈی ای سی نے اپنے آر ایس ٹی ایس-11 آپریٹنگ سسٹم اور پی ڈی پی-11 منی کمپیوٹر کے لیے بنایا تھا۔ پروگرامنگ زبان کے بیانات کو یا تو براہ راست کمانڈ انٹرپریٹر میں ٹائپ کیا جا سکتا ہے، یا ٹیکسٹ ایڈیٹر میں داخل کیا جا سکتا ہے، فائل میں محفوظ کیا جا سکتا ہے، اور پھر فائل سے کمانڈ انٹرپریٹر میں لوڈ کیا جا سکتا ہے۔ لائن داخل ہونے کے فورا بعد صارف کو سورس کوڈ میں غلطیوں کی اطلاع دی گئی۔ پروگراموں کو "محفوظ کریں" کمانڈ کا استعمال کرتے ہوئے سورس فائل کے طور پر محفوظ کیا گیا تھا۔ اسے "کمپائل" کمانڈ کا استعمال کرتے ہوئے غیر ترمیم کے قابل بائنری فائل میں "مرتب" کیا جا سکتا ہے۔ اس کمانڈ نے حقیقی مشین زبان کے پروگرام تیار نہیں کیے، بلکہ ایک بائٹ کوڈ تیار کیا جسے "ٹوکن" کہا جاتا ہے۔ ٹوکن کی تشریح پھانسی پر زیادہ جدید جاوا کی طرح کی گئی تھی۔ کمانڈ انٹرپریٹر میں 1 سے 32767 تک کے عدد، لائن نمبروں سے شروع ہونے والے پروگرام داخل کیے گئے تھے۔ لائن فیڈ کردار کا استعمال کرتے ہوئے لائنوں کو متعدد لائنوں پر جاری رکھا جا سکتا ہے۔ ماخذ فائل کی بیرونی ترمیم میں آسانی کے لیے، بیسک پلس کے بعد کے ورژنوں نے بھی & کردار کو لائن تسلسل کردار کے طور پر اجازت دی۔ بیان جداکار کے طور پر استعمال کرتے ہوئے ایک ہی لائن پر متعدد بیانات رکھے جا سکتے ہیں۔ ورچوئل میموری (آر ایس ٹی ایس/ای) والے پی ڈی پی-11 سسٹمز کے لیے ایڈریس کی جگہ تقریبا 64 کے بی تک محدود تھی۔ بیسک پلس کے ساتھ، اس کا تقریبا نصف حصہ مشترکہ کمانڈ انٹرپریٹر اور رن ٹائم لائبریری کے ذریعے استعمال کیا جاتا تھا۔ یہ صارف کے پروگراموں کو تقریبا 32 کے بی میموری تک محدود کرتا ہے۔ پرانے آر ایس ٹی ایس-11 سسٹمز میں ورچوئل میموری کی کمی تھی، اس لیے آر ایس ٹی ایس اور بیسک پلس کے اپنا حصہ لینے کے بعد صارف پروگرام کو فزیکل میموری میں جو کچھ بچا تھا اس میں فٹ ہونا پڑا۔ مثال کے طور پر، 32K فزیکل میموری والے PDP-11/35 پر، RSTS-11 V04B-17 چلانے والے، صارف پروگرام 7 KB تک محدود تھے۔ "چین" ہدایات کے استعمال سے بڑے پروگراموں کو مختلف ٹکڑوں میں تقسیم کیا جا سکتا ہے۔ پروگرام ثانوی پروگرام میں مخصوص لائن نمبروں سے منسلک ہو سکتے ہیں۔ مشترکہ میموری سیکشن کے استعمال جسے کور کامن کہا جاتا ہے، نے بھی پروگراموں کو ضرورت کے مطابق ایک دوسرے کے درمیان ڈیٹا منتقل کرنے کی اجازت دی۔ ڈسک فائلیں بھی استعمال کی جا سکتی تھیں لیکن سست تھیں۔ مترجم میں کچرا جمع کرنے والا میموری مینیجر شامل تھا، جو سٹرنگ ڈیٹا اور بائٹ کوڈ دونوں کے لیے استعمال ہوتا تھا۔ چل رہے پروگرام میں خلل ڈالا جا سکتا ہے، متغیرات کی جانچ پڑتال اور ترمیم کی جا سکتی ہے، اور پھر دوبارہ شروع کیا جا سکتا ہے۔ دیگر اعلی سطحی زبانوں میں استعمال ہونے والے بہت سے کنٹرول ڈھانچے بنیادی پلس میں موجود تھے، بشمول WHILE اور UNTIL۔ زبان نے ایک ہی لائن پر مشروط ترمیم کاروں کے استعمال کی بھی حمایت کی۔ مثال کے طور پر، لائن "" I "کی ویلیو پرنٹ کرے گی جب تک کہ I 10 سے کم نہ ہو۔ بیسک پلس 2 بیسک پلس 2 (بی پی 2 یا بیسک پلس 2) کو بعد میں ڈی ای سی نے اضافی خصوصیات شامل کرنے اور کارکردگی بڑھانے کے لیے تیار کیا۔ اس نے تھریڈڈ کوڈ میں حقیقی تالیف کا استعمال کیا، اور اپنی آؤٹ پٹ کو مشین لینگویج آبجیکٹ فائلوں میں لکھا۔ یہ سسٹم پر موجود دیگر آبجیکٹ فائلوں کے ساتھ مطابقت رکھتے تھے، اور لائبریریوں میں جمع کیے جا سکتے تھے۔ ایک لنکر (ٹی کے بی ٹاسک بلڈر) نے پھر ان سے قابل عمل فائلیں بنائیں۔ ٹی کے بی نے اوورلیز کی بھی حمایت کی۔ اس نے انفرادی معمولات کو ضرورت کے مطابق مرکزی میموری کی جگہ میں تبدیل کرنے کی اجازت دی۔ بی پی 2 پروگرام آر ایس ایکس-11 یا آر ایس ٹی ایس/ای کے آر ایس ایکس رن ٹائم سسٹم کے تحت چلتے تھے۔ اس آر ٹی ایس نے صارف کے ایڈریس کی جگہ کے صرف 8 کے بی (بعد میں، 2 کے بی) پر قبضہ کیا، جس سے صارف کے پروگرام کے لیے 56 کے بی رہ گیا۔ ان دو عوامل نے انفرادی بی پی 2 پروگراموں کو بیسک پلس پروگراموں سے بہت بڑا ہونے دیا، جس سے اکثر چیننگ کی ضرورت ختم ہو جاتی ہے۔ بیسک پلس (جو صرف آر ایس ٹی ایس-11 پر دستیاب تھا) کے برعکس، بی پی 2 نے آر ایس ایکس-11 آپریٹنگ سسٹم پر بھی استعمال کی اجازت دی۔ ویکس بیسک اور ڈی ای سی بیسک ویکس منی کمپیوٹر کی تخلیق کے ساتھ، ڈی ای سی نے بیسک-پلس-2 کو نئے وی ایم ایس آپریٹنگ سسٹم میں پورٹ کیا، اور اسے ویکس بیسک کا نام دیا۔ وی اے ایکس بیسک نے معیاری وی ایم ایس کالنگ کے معیارات کا استعمال کیا، لہذا وی اے ایکس بیسک کے ذریعہ تیار کردہ آبجیکٹ کوڈ کو کسی بھی دوسری وی ایم ایس زبانوں کے ذریعہ تیار کردہ آبجیکٹ کوڈ سے جوڑا جا سکتا ہے۔ بیسک پلس 2 کے لیے سورس کوڈ عام طور پر ویکس بیسک پر بڑی تبدیلیوں کے بغیر چلتا ہے۔ جب ڈی ای سی نے اپنا الفا مائکرو پروسیسر بنایا تو وی ایم ایس کو اس میں پورٹ کیا گیا اور اس کا نام بدل کر اوپن وی ایم ایس رکھ دیا گیا۔ ویکس بیسک کو بھی اسی طرح الفا میں پورٹ کیا گیا اور اس کا نام بدل کر ڈی ای سی بیسک رکھ دیا گیا۔ بنیادی مترجم کو اس مقام پر مستقل طور پر چھوڑ دیا گیا تھا، جس کا مطلب یہ تھا کہ ڈی ای سی بنیادی پروگراموں کو صرف اوپن وی ایم ایس کے قابل عمل کے طور پر چلایا جا سکتا ہے، جو ایک مرتب کے بعد ایک لنک کے ذریعے تیار کیا جاتا ہے۔ کمپیک، ایچ پی اور وی ایس آئی جب ڈی ای سی کو کمپیک نے 1997/98 میں خریدا تو مصنوعات کا نام بدل کر اوپن وی ایم ایس وی اے ایکس کے لیے کمپیک بیسک اور اوپن وی ایم ایس الفا کے لیے کمپیک بیسک رکھ دیا گیا۔ اسی طرح، جب کمپیک 2001/02 میں HP کے ساتھ ضم ہوا تو مصنوعات کا نام بدل کر VAX پر اوپن وی ایم ایس کے لیے HP بیسک اور الفا سرور پر اوپن وی ایم ایس کے لیے HP بیسک رکھ دیا گیا۔ ایچ پی نے بعد میں انٹیل کے ایٹینیم پروسیسرز پر مبنی ان کے انٹیگریٹی سرور پلیٹ فارمز کے لیے انٹیگریٹی پر اوپن وی ایم ایس کے لیے ایچ پی بیسک جاری کیا۔ 2014 کے وسط میں، ایچ پی نے پورے اوپن وی ایم ایس ماحولیاتی نظام کو وی ایس آئی کو فروخت کر دیا جس نے اوپن وی ایم ایس کے لیے پروڈکٹ کا نام بدل کر وی ایس آئی بیسک رکھ دیا۔ نمونہ کوڈ وی ایس آئی بیسک بیسک کا ایک منظم ورژن ہے جس میں لائن نمبر اختیاری ہیں، اور زبان سب اور فنکشن دونوں کو سپورٹ کرتی ہے۔ ہیلو، ورلڈ پرنٹ "ہیلو، ورلڈ!" سیلسیس سے فارن ہائیٹ کنورژن فنکشن حقیقی سے فارن ہائیٹ (حقیقی سیلسیس) سے فارن ہائیٹ = (سیلسیس * 1.8) + 32 اختتامی فنکشن بیرونی حقیقی فنکشن سے فارن ہائیٹ (حقیقی) حقیقی درجہ سیلسیس کا اعلان کرتے ہیں جب پرنٹ میں غلطی ہوتی ہے "سیلسیس میں درجہ حرارت درج کریں" ؛ ان پٹ x درجہ سیلسیس = حقیقی (x) پرنٹ کا استعمال کریں "غلطی: براہ کرم ایک درست عددی قدر درج کریں"۔ "درجہ حرارت فارن ہائیٹ میں ہے" پرنٹ کرنے پر ختم ہوتا ہے ؛ تا _ فارن ہائیٹ (ٹیمپ _ سیلسیس) اختتام حوالہ جات بیرونی لنکس اوپن وی ایم ایس کے لیے ایچ پی ایچ پی بیسک پر آفیشل بیسک دستاویزات "سورس کوڈ ڈیمو اور مثالیں" مثال کے طور پر بیسک کوڈ والے مضامین اوپن وی ایم ایس سافٹ ویئر بیسک مرتب کرتا ہے بیسک پروگرامنگ لینگویج فیملی