Language binding
پروگرامنگ اور سافٹ ویئر ڈیزائن میں، بائنڈنگ ایک ایپلیکیشن پروگرامنگ انٹرفیس (اے پی آئی) ہے جو گلو کوڈ فراہم کرتا ہے جو خاص طور پر پروگرامنگ زبان کو غیر ملکی لائبریری یا آپریٹنگ سسٹم سروس (جو اس زبان کا مقامی نہیں ہے) استعمال کرنے کی اجازت دیتا ہے۔ خصوصیت بائنڈنگ عام طور پر ایک چیز سے دوسری چیز کی نقشہ سازی سے مراد ہے۔ سافٹ ویئر لائبریریوں کے تناظر میں، بائنڈنگ ریپر لائبریریاں ہیں جو دو پروگرامنگ زبانوں کو جوڑتی ہیں، تاکہ ایک زبان کے لیے لکھی گئی لائبریری کو دوسری زبان میں استعمال کیا جا سکے۔ بہت سی سافٹ ویئر لائبریریاں سسٹم پروگرامنگ زبانوں جیسے سی یا سی + + میں لکھی جاتی ہیں۔ دوسری زبان سے ایسی لائبریریوں کو استعمال کرنے کے لیے، عام طور پر اعلی سطح کی، جیسے جاوا، کامن لسپ، اسکیم، ازگر، یا لوا، لائبریری کے لیے ایک بائنڈنگ اس زبان میں بنائی جانی چاہیے، ممکنہ طور پر زبان کے کوڈ کو دوبارہ مرتب کرنے کی ضرورت ہوتی ہے، جو کہ ترمیم کی مقدار پر منحصر ہے۔ تاہم، زیادہ تر زبانیں ایک غیر ملکی فنکشن انٹرفیس پیش کرتی ہیں، جیسے کہ ازگر اور اوکیمل کے قسم، اور ایمبیڈیبل کامن لسپ کے سی ایف ایف آئی اور یو ایف ایف آئی۔ مثال کے طور پر، ازگر بائنڈنگ کا استعمال اس وقت کیا جاتا ہے جب کسی مقصد کے لیے لکھی گئی موجودہ سی لائبریری کو ازگر سے استعمال کیا جانا ہو۔ ایک اور مثال libsvn ہے جو سبورژن سافٹ ویئر کے ذخیرے تک رسائی کے لیے API فراہم کرنے کے لیے C میں لکھی گئی ہے۔ جاوا کوڈ کے اندر سے سبورژن تک رسائی حاصل کرنے کے لیے، libsvnjavhal استعمال کیا جا سکتا ہے، جو libsvn انسٹال ہونے پر منحصر ہے اور جاوا اور libsvn زبان کے درمیان پل کے طور پر کام کرتا ہے، اس طرح ایک API فراہم کرتا ہے جو کام کرنے کے لیے libsvn سے افعال کو طلب کرتا ہے۔ لائبریری بائنڈنگ بنانے کے بڑے محرکات میں سافٹ ویئر کا دوبارہ استعمال، کئی زبانوں میں لائبریری کو دوبارہ نافذ کرنے کو کم کرنا، اور کچھ اعلی سطحی زبانوں میں کچھ الگورتھم کو مؤثر طریقے سے نافذ کرنے میں دشواری شامل ہیں۔ رن ٹائم انوائرمنٹ آبجیکٹ ماڈل کامن آبجیکٹ ریکویسٹ بروکر آرکیٹیکچر (کوربا)-کراس پلیٹ فارم-لینگویج ماڈل کمپونینٹ آبجیکٹ ماڈل (کام)-مائیکروسافٹ ونڈوز صرف کراس لینگویج ماڈل ڈسٹری بیوٹڈ کمپونینٹ آبجیکٹ ماڈل (ڈی سی او ایم)-ایکسٹینشن جو کام کو نیٹ ورکس پر کام کرنے کے قابل بناتی ہے کراس پلیٹ فارم کمپونینٹ آبجیکٹ ماڈل (ایکس پی سی او ایم)-موزیلا ایپلی کیشنز کراس پلیٹ فارم ماڈل کامن لینگویج انفراسٹرکچر-. نیٹ فریم ورک کراس پلیٹ فارم-لینگویج ماڈل Freedesktop.org ڈی بس-اوپن کراس پلیٹ فارم-لینگویج ماڈل ورچوئل مشینیں ایپلی کیشن ورچوئل مشینوں کا موازنہ پورٹنگ پورٹیبل آبجیکٹ-کراس پلیٹ فارم-لینگ مرتب کرنے والے کمپیوٹر لائبریریاں