ল্যাংগুয়েজ বাইন্ডিং

কম্পিউটার বিজ্ঞানের পরিভাষায় বাংলায় আবদ্ধকরণ বা ইংরেজিতে বাইন্ডিং () বলতে এক ধরনের এপিআই (এপ্লিকেশন প্রোগ্রামিং ইন্টারফেস) বা বিশেষ ধরনের কোডকে (অর্থাৎ কম্পিউটারের জন্য বোধগম্য ভাষায় লিখিত সংকেতসমষ্টি) বোঝানো হয়, যেটি কোন প্রোগ্রামিং ভাষাকে অন্য কোন প্রোগ্রামিং ভাষার পূর্বপ্রস্তুতকৃত প্রোগ্রামসম্ভার (লাইব্রেরি) বা অপারেটিং সিস্টেমের (অর্থাৎ কম্পিউটারের পরিচালক ব্যবস্থার) সেবা ব্যবহারের সুযোগ করে দেয়।

সফটওয়্যার প্রকৌশলের  পরিভাষায় আবদ্ধকরণ বা বাইন্ডিং বলতে এক ধরনের আবরক প্রোগ্রামসম্ভার বা র‍্যাপার লাইব্রেরিকে বোঝানো হয়, যেটি ব্যবহার করে কোন একটি প্রোগ্রামিং ভাষায় লেখা প্রোগ্রামসম্ভার বা লাইব্রেরিতে অন্য একটি প্রোগ্রামিং ভাষা ব্যবহার করে ঢুকে সেগুলির সুবিধা ভোগ করা যায়।http://www.cairographics.org/manual/language-bindings.html অর্থাৎ আবদ্ধকরণ বা বাইন্ডিং দুটি পৃথক প্রোগ্রামিং ভাষার মধ্যে সংযোগসেতু হিসেবে কাজ করে। অনেক সফটওয়্যার প্রোগ্রামসম্ভার সিস্টেম প্রোগ্রামিং ভাষা যেমন সি, সি++ ইত্যাদি ব্যবহার করে লেখা হয়। অন্য কোন প্রোগ্রামিং ভাষা (বিশেষ করে উচ্চস্তরের প্রোগ্রামিং ভাষা) থেকে যেমন জাভা, কমন লিস্প, পাইথন ইত্যাদি ব্যবহার করে এইসব প্রোগ্রামসম্ভার ব্যবহার করতে হলে "আবদ্ধকরণ" বা বাইন্ডিং এপিএই প্রয়োজন হয়। অন্যথায় সি বা সি++ ভাষাতে লেখা কোন প্রোগ্রামসম্ভারে ঢুকতে হলে একজন সফটওয়্যার প্রস্তুতকারক  বা সফটওয়্যার প্রোগ্রামলেখককে সি বা সি++ শিখতেই হত। উদাহরণস্বরূপ বলা যেতে পারে, যখন সি প্রোগ্রামিং ভাষা ব্যবহার করে লেখা কোন লাইব্রেরি বা প্রোগ্রামসম্ভার পাইথন ভাষা দিয়ে ব্যবহার করার প্রয়োজন হয়, তখন পাইথন আবদ্ধকরণ বা পাইথন বাইন্ডিং ব্যবহার করা হয় । আবার জাভা প্রোগ্রামিং ভাষা থেকে সাবভার্শন ব্যবহার করতে হলে লিবসভিএনজাভাএইচএল ব্যবহার করতে হবে।

সফটওয়্যার আবদ্ধকরণ বা বাইন্ডিং তৈরির পিছনে সফটওয়্যার প্রস্তুতকারকের পরিশ্রম লাঘব ও সময় বাঁচানো ছাড়াও আরেকটি উদ্দেশ্য হল সফটওয়্যারের পুনর্ব্যবহার নিশ্চিত করা। কোন একটি সফটওয়্যার যা ইতোমধ্যে কোনও না কোনও প্রোগ্রামিং ভাষা ব্যবহার করে তৈরি করা আছে তা নতুন করে অন্য কোন ভাষায় তৈরি করা সময়সাপেক্ষ ও ব্যয়সাপেক্ষ একটি কাজ। সফটওয়্যার আবদ্ধকরণ বা বাইন্ডিং তৈরি করে এই সময় ও ব্যয় সংকোচন করা যায়। কোন কোন উচ্চ স্তরের ভাষায় নির্দিষ্ট কোন অ্যালগরিদম অনুসরণ করে প্রোগ্রাম লেখা সম্ভব না-ও হতে পারে। এরকম ক্ষেত্রে 
আবদ্ধকরণ বা বাইন্ডিং ব্যবহার করে সহজেই কোন উচ্চ স্তরের ভাষায় ঐসব অ্যালগরিদমকে কাজে লাগানো যেতে পারে।

আরও দেখুন
 এপ্লিকেশন প্রোগ্রামিং ইন্টারফেস
 অ্যালগরিদম

তথ্যসূত্র

বিষয়শ্রেণী:কম্পিউটার প্রোগ্রামসম্ভার
বিষয়শ্রেণী:কম্পাইলার
বিষয়শ্রেণী:কম্পিউটার গ্রন্থাগার