Turbo-BASIC XL
ٹربو-بیسک ایکس ایل گھریلو کمپیوٹرز کے اٹاری 8 بٹ خاندان کے لیے بیسک پروگرامنگ زبان کا ایک جدید ورژن ہے۔ یہ اٹاری بیسک کا ایک ہم آہنگ سپر سیٹ ہے جو اٹاری 8 بٹ سسٹمز کے ساتھ بھیج دیا گیا ہے۔ ٹربو بیسک ایکس ایل کو فرینک آسٹروسکی نے تیار کیا تھا اور اسے جرمن کمپیوٹر میگزین ہیپی کمپیوٹر کے دسمبر 1985 کے شمارے میں شائع کیا گیا تھا۔ 400/800 ماڈلز کے لیے ایک ورژن جلد ہی فراسٹ بیسک 1.4 کے طور پر جاری کیا گیا۔ مختلف ڈی او ایس سسٹمز کے ساتھ کام کرنے والے کئی ترمیم شدہ ورژن دوسرے مصنفین نے جاری کیے ہیں۔ ٹربو بنیادی XL اٹاری بنیادی پر عمل درآمد کو بہت بہتر بناتا ہے۔ ٹربو بیسک میں بھرا ہوا اٹاری بیسک پروگرام، جس میں کوئی تبدیلی نہیں کی گئی ہو، عام طور پر تقریبا تین گنا تیز چلتا ہے۔ ایک ٹربو بیسک ایکس ایل مرتب کرنے والے نے بائنری ایگزیکٹو ایبلز بنائے، جس سے پروگرام کی کارکردگی اٹاری بیسک سے تقریبا دس گنا تیز ہو گئی۔ ٹربو بیسک ایکس ایل میں ایک توسیعی ایڈیٹر، نامزد طریقہ کار کے لیے سپورٹ، اور اسی طرح کی بلاک تعمیرات، اور بنیادی ہارڈ ویئر تک اضافی رسائی بھی شامل ہے، جس نے دوسری چیزوں کے علاوہ، ڈی او ایس سے باہر نکلے بغیر منسلک فلاپی ڈرائیوز کے آپریشن کی اجازت دی۔ آسٹروسکی کو جلد ہی جی ایف اے سسٹم ٹیکنیک جی ایم بی ایچ (جو اس وقت انٹیگرل ہائیڈرولک کے نام سے جانا جاتا تھا) میں نوکری مل گئی جہاں انہوں نے ٹربو بیسک ایکس ایل کو اٹاری ایس ٹی کے لیے جی ایف اے بیسک میں ڈھال لیا، جو اس پلیٹ فارم پر زیادہ مقبول بیسک میں سے ایک بن گیا۔ پس منظر 1979 میں ان کی ریلیز کے بعد سے، 8 بٹ فیملی کو عام طور پر روم کارتوس پر اٹاری بیسک کے ورژن کے ساتھ بھیج دیا جاتا ہے، یا بعد کی مشینوں پر اندرونی رومز میں بنایا جاتا ہے۔ بیسک کے اس ورژن میں متعدد کسٹم کمانڈز تھے جو سسٹم کی جدید خصوصیات جیسے گرافکس اور ساؤنڈ تک جزوی رسائی کی اجازت دیتے تھے۔ یہ بدنام زمانہ سست تھا، جو ڈیوڈ ایہل کے تخلیقی کمپیوٹنگ معیار کے اصل ورژن میں مائیکرو کمپیوٹر بیسک کی فہرست کے بالکل نچلے حصے میں ظاہر ہوتا ہے۔ سرکاری اٹاری بیسک کی ناقص کارکردگی بہتر کارکردگی یا زیادہ کمانڈ والے تھرڈ پارٹی بیسک ترجمانوں کے لیے مارکیٹ کا باعث بنی۔ ان میں اٹاری کے ذریعہ فروخت کردہ مائیکروسافٹ بیسک کی ایک سرکاری بندرگاہ، آپٹیمائزڈ سسٹمز سافٹ ویئر کے ذریعہ جاری کردہ کئی بہتر ورژن، جنہوں نے معاہدے کے تحت اصل اٹاری بیسک لکھا تھا، اور بہت سے دوسرے تھے۔ مختلف دکانداروں کے کئی اٹاری بیسک مرتب بھی تھے۔ ٹربو بیسک ایکس ایل اس فہرست میں دیر سے اندراج تھا، جو پہلی بار دسمبر 1985 میں ٹائپ ان پروگرام کے طور پر شائع ہوا تھا۔ یہ اس لحاظ سے منفرد تھا کہ یہ مترجم اور مرتب دونوں ورژن میں آیا تھا۔ اس میں ایکس ایل سیریز مشینوں اور بعد میں ایکس ای سیریز پر دستیاب توسیعی میموری سے فائدہ اٹھانے کے لیے کوڈ شامل تھا۔ اس کا مطلب یہ تھا کہ یہ اصل 400/800 سسٹمز پر نہیں چل سکتا تھا، جس کی وجہ سے آسٹروسکی نے ایک بندرگاہ بنائی جسے فراسٹ بیسک ("فرینک آسٹروسکی" کے لیے مختصر) کے نام سے جانا جاتا تھا جو اٹاری DOS 2.0 سے منسلک تھا۔ اندرونی ڈسک سے متعلق کمانڈز کو ڈی او ایس کے مخصوص ورژن سے منسلک کیا گیا تھا۔ ڈی او ایس کے مختلف ورژن کے لیے متعدد بندرگاہیں دستیاب ہو گئیں۔ کارکردگی ٹربو بیسک کی سب سے قابل ذکر خصوصیت اس کی ڈرامائی طور پر بہتر رفتار تھی۔ ٹربو بیسک میں بھرا ہوا ایک غیر ترمیم شدہ اٹاری بیسک پروگرام عام طور پر تین سے پانچ گنا تیز چلتا تھا، اور پروگرام کے سائز میں اضافے کے ساتھ ساتھ رفتار کا فائدہ بہتر ہوتا گیا۔ یہ بڑی حد تک اصل اٹاری بیسک کوڈ میں معروف مسائل پر بہتری کے سلسلے کی وجہ سے تھا۔ زیادہ تر بیسک میں، گوٹو کو متعلقہ لائن نمبر کو پڑھ کر اور پھر کوڈ کی اس لائن کے لیے پروگرام کے ذریعے تلاش کرکے سنبھالا جاتا تھا۔ ایم ایس سے ماخوذ بیسک میں لائن نمبروں کو ان کے اصل اے ایس سی آئی آئی فارمیٹ میں کوڈ میں 16 بٹ انٹیجرز اور عددی مستقل کے طور پر محفوظ کیا گیا تھا۔ جب اس طرح کی لائن کا سامنا ہوتا تو مترجم "1000" کو 16 بٹ فارمیٹ میں تبدیل کرنے کے لیے خصوصی کوڈ کا استعمال کرتا اور پھر اسے تلاش کرتا۔ اٹاری بیسک نے مختلف طریقے سے کام کیا، جب لائن داخل کی گئی تو تمام عددی مستقلات کو 6 بائٹ فلوٹنگ پوائنٹ فارمیٹ میں تبدیل کیا گیا۔ اس کا مطلب تھا کہ "1000" اب ASCII فارمیٹ میں نہیں تھا اور اسے فلوٹنگ پوائنٹ سے انٹیجر فارمیٹ میں تبدیل کرنا پڑا۔ ایسا کرنے کے لیے کوڈ اچھی طرح سے بہتر نہیں تھا اور اس میں 2 ایم ایس (اوسط 1-1.5 ایم ایس) سے زیادہ وقت لگ سکتا تھا۔ FOR.NEXT لوپس بنیادی پروگراموں میں ایک اور عام تعمیر ہیں۔ زیادہ تر بیسک میں، جب رن ٹائم پر FOR حصے کا سامنا کرنا پڑتا تھا، تو سورس کوڈ میں اس کی میموری لوکیشن کو کال اسٹیک پر دھکیل دیا جاتا تھا تاکہ جب متعلقہ NEXT کا سامنا کرنا پڑے تو یہ آسانی سے اس مقام پر واپس آسکے۔ نامعلوم وجوہات کی بناء پر، اٹاری بیسک نے ایف او آر کے لائن نمبر کو اسٹیک پر دھکیل دیا اور پھر اس لائن کے پورے کوڈ کو دیکھا جب اس کا سامنا اگلے سے ہوا۔ ایسے پروگراموں کے لیے جو اہم لوپنگ کرتے ہیں، جو اکثر بیسک میں ہوتا ہے، یہ ایک ڈرامائی کارکردگی کا سبب بن سکتا ہے۔ ٹربو بیسک نے ایڈریس کا استعمال کرتے ہوئے اپنے ایف او آر لوپس کو لاگو کیا، جیسا کہ ایم ایس بیسک میں ہوا تھا، اور اس طرح ایم ایس کی طرح تقریبا اسی کارکردگی کے ساتھ لوپس چلائے۔ اس کے بعد یہ مزید آگے بڑھا اور گوٹو کی کارکردگی میں بھی بہت بہتری آئی۔ لائن نمبروں کو ایک ہیش فنکشن میں بھیجا گیا جس نے انہیں 256 لائن کے حصوں میں توڑ دیا۔ جیسے ہی پروگرام درج کیا گیا، ان حصوں میں سے ہر ایک کے پہلے حصے کا پتہ 128 ویلیو ٹیبل میں محفوظ کیا گیا۔ رن ٹائم پر، جب لائن نمبر تلاش کرنے کی ضرورت ہوتی تھی، تو یہ پہلے ٹیبل میں قریب ترین لیکن کم قیمت کا انتخاب کرتا، پتہ بازیافت کرتا، اور پھر اس مقام سے لائن کے لیے اسکیننگ شروع کرتا۔ یہ بہتری بڑے پروگراموں میں سب سے زیادہ قابل ذکر تھی جہاں اسکیننگ کا وقت تیزی سے مہنگا تھا، یہی وجہ ہے کہ ٹربو بیسک بڑے پروگراموں میں 5 گنا اضافہ کر سکتا ہے۔ اٹاری بیسک میں ناقص کارکردگی کا دوسرا بڑا ذریعہ اس کا بہت سست بائنری کوڈڈ اعشاریہ (بی سی ڈی) فلوٹنگ پوائنٹ کوڈ تھا۔ لائبریری، جو ایک علیحدہ 2K روم میں موجود ہے اور خود بیسک کے برعکس آپریٹنگ سسٹم کا حصہ سمجھی جاتی ہے، جلدی میں لکھی گئی تھی اور کبھی بہتر نہیں کی گئی تھی۔ کچھ معمولات، خاص طور پر ضرب اور متغیر افعال، اس سے کہیں زیادہ سست تھے جو وہ ہو سکتے تھے۔ ٹربو بیسک نے اپنی مکمل فلوٹنگ پوائنٹ لائبریری کو شامل کرکے اسے ٹھیک کیا، جس نے نہ صرف ان میں سے بہت سے مسائل کو حل کیا بلکہ چھوٹے لوپس کو کھول کر کوڈ کو مزید بہتر بنایا۔ ریاضی کو بڑے پیمانے پر استعمال کرنے والے پروگراموں کے لیے، نئی لائبریری کے نتیجے میں کارکردگی میں ڈرامائی بہتری آئی، جس نے تخلیقی کمپیوٹنگ بینچ مارک کی فہرستوں کے نیچے سے اٹاری کو اوپر کے قریب بھیج دیا، جس نے ہارڈ ویئر میں بہت تیز مشینوں کو پیچھے چھوڑ دیا۔ نئی خصوصیات ٹربو بیسک ایکس ایل کی اضافی خصوصیات میں، جو اٹاری بیسک میں شامل کی گئی ہیں، مندرجہ ذیل ہیں: بہتر آواز اور گرافکس زیادہ لچکدار I/O کمانڈوں کا حکم دیتے ہیں، بشمول ڈسک تک رسائی منظم پروگرامنگ سادہ ڈیبگنگ سہولیات کی تعمیر بھی دیکھیں بنیادی A + حوالہ جات بیرونی لنکس [http://www.tmeyer.de/atari/index.html ٹربو بیسک XL لسٹنگ] ہیپی کمپیوٹر میگزین 1985 کے سافٹ ویئر اٹاری 8 بٹ فیملی سافٹ ویئر ٹربو بیسک XL ٹربو بیسک XL ٹربو بیسک XL پروگرامنگ زبانیں جو 1985 میں بنی تھیں۔