Tag (programming)
پروگرامنگ میں، ٹیگ ایک ذیلی روٹین کے لیے ایک دلیل ہے جو اس کو منتقل کیے گئے دیگر دلائل کا تعین کرتا ہے، جسے ذیلی روٹین پر غیر معینہ تعداد میں ٹیگ کیے گئے پیرامیٹرز کو منتقل کرنے کے طریقے کے طور پر استعمال کیا جاتا ہے۔ خاص طور پر، امیگا او ایس v2.0 اور اس کے بعد کی متعدد سسٹم کالز کے لیے ٹیگز استعمال کیے جاتے ہیں۔ امیگا او ایس میں امیگا او ایس کے پہلے ورژن میں، اگر کسی سسٹم کال میں بڑی تعداد میں پیرامیٹرز کو ترتیب دینے کی ضرورت ہوتی ہے، تو انہیں فنکشن آرگیومنٹس کے طور پر منتقل کرنے کے بجائے، فنکشن کو ایک ایسے ڈھانچے کے لیے پوائنٹر کی ضرورت ہوگی جس میں دلائل ہوں (مثال کے طور پر، intuition.library کا اوپن ونڈو () 17 مختلف پیرامیٹرز کے ساتھ نیو ونڈو کی ساخت کی ضرورت ہے)۔ امیگا او ایس 2 میں ٹیگز متعارف کرائے گئے تھے کیونکہ وہ "اصل پیرامیٹرز میں مداخلت کیے بغیر سسٹم فنکشنز میں نئے پیرامیٹرز کو شامل کرنا ممکن بناتے ہیں۔ وہ پیرامیٹر کی فہرستوں کی وضاحت کو بھی بہت واضح اور آسان بناتے ہیں۔ " امیگا او ایس کے لیے متعدد تھرڈ پارٹی سافٹ ویئر لائبریریاں بھی بڑے پیمانے پر ٹیگز کا استعمال کرتی ہیں۔ مثال ٹیگز کے بغیر کوڈ غیر واضح ہے (مثال کے طور پر، 0، 1 ونڈو کے رنگوں کی وضاحت کرتا ہے) جبکہ ٹیگز کے ساتھ کوڈ خود دستاویزی ہے۔ ڈھانچے کے مقابلے میں ٹیگز کے ساتھ کم پیرامیٹرز کی وضاحت کی جانی چاہیے، کیونکہ اوپن ونڈو ٹیگز ڈیفالٹ پیرامیٹرز پر واپس آ جائیں گے۔ امپلیمینٹیشن امیگا او ایس اپنے utility.library میں ٹیگ ہینڈلنگ کے لیے افعال فراہم کرتا ہے۔ عام طور پر ٹیگز کا ایک فائدہ یہ ہے کہ وہ ڈیفالٹ دلائل کے ساتھ کام کو آسان بناتے ہیں کیونکہ پروگرامر کو ان کی یا ان کے متبادلات کی وضاحت کرنے کی ضرورت نہیں ہوتی ہے۔ اس سے ایک اور فائدہ ہوتا ہے، بیرونی کتب خانوں کے ساتھ آگے اور پیچھے دونوں مطابقت حاصل کرنے میں آسانی: لائبریری کے پرانے ورژن کے لیے لکھا گیا پروگرام نئے کے ساتھ کام کرے گا، کیونکہ نئی لائبریری صرف ان تمام پیرامیٹرز کو سیٹ کرے گی جو پروگرام کے ذریعے فراہم نہیں کیے گئے تھے۔ ان کی ڈیفالٹ ویلیوز ؛ اور لائبریری کے نئے ورژن کے لیے لکھا گیا پروگرام پھر بھی پرانے ورژن کے ساتھ کام کرے گا، کیونکہ پرانی لائبریری صرف نئے متعارف کردہ ٹیگز پر کوئی توجہ نہیں دے گی۔ ٹیگز کا ایک نقصان یہ ہے کہ ان کی پروسیسنگ محض کسی ڈھانچے یا اسٹیک سے ڈیٹا کو پڑھنے سے زیادہ سست ہوتی ہے۔ مزید برآں، کمپائل ٹائم ٹائپ چیکنگ ختم ہو جاتی ہے۔ نامزد پیرامیٹر حوالہ جات بیرونی لنکس utility.library آٹوڈوک امیگا روم دانا حوالہ دستی: کتب خانے-ٹیگ انڈیکس امیگا او ایس مورفوس بھی دیکھیں۔