Language binding
પ્રોગ્રામિંગ અને સોફ્ટવેર ડિઝાઇનમાં, બંધન એ એક એપ્લિકેશન પ્રોગ્રામિંગ ઇન્ટરફેસ (API) છે જે ખાસ કરીને પ્રોગ્રામિંગ ભાષાને વિદેશી લાઇબ્રેરી અથવા ઓપરેટિંગ સિસ્ટમ સેવાનો ઉપયોગ કરવાની મંજૂરી આપવા માટે બનાવવામાં આવેલ ગુંદર કોડ પ્રદાન કરે છે (જે તે ભાષામાં મૂળ નથી). લાક્ષણિકતાઓ બંધન સામાન્ય રીતે એક વસ્તુથી બીજી વસ્તુનું મેપિંગ દર્શાવે છે. સોફ્ટવેર લાઈબ્રેરીઓના સંદર્ભમાં, બંધન એ આવરણવાળી લાઈબ્રેરીઓ છે જે બે પ્રોગ્રામિંગ ભાષાઓને જોડતી હોય છે, જેથી એક ભાષા માટે લખાયેલ લાઈબ્રેરીનો ઉપયોગ બીજી ભાષામાં થઈ શકે. ઘણી સોફ્ટવેર લાઈબ્રેરીઓ સી અથવા સી + + જેવી સિસ્ટમ પ્રોગ્રામિંગ ભાષાઓમાં લખવામાં આવે છે. જાવા, કોમન લિસ્પ, સ્કીમ, પાયથોન અથવા લુઆ જેવી સામાન્ય રીતે ઉચ્ચ-સ્તરની અન્ય ભાષામાંથી આવી લાઈબ્રેરીઓનો ઉપયોગ કરવા માટે, લાઈબ્રેરી સાથે બંધન તે ભાષામાં બનાવવું આવશ્યક છે, સંભવતઃ ભાષાના કોડને ફરીથી સંકલન કરવાની જરૂર છે, જે જરૂરી ફેરફારની માત્રાને આધારે છે. જો કે, મોટાભાગની ભાષાઓ વિદેશી કાર્ય ઈન્ટરફેસ પ્રદાન કરે છે, જેમ કે પાયથોન અને ઓસીએએમએલના પ્રકારો, અને એમ્બેડેબલ કોમન લિસ્પના સીએફએફઆઈ અને યુએફએફઆઈ. ઉદાહરણ તરીકે, પાયથોનમાંથી કોઈ હેતુ માટે લખાયેલી હાલની સી લાઇબ્રેરીનો ઉપયોગ કરવામાં આવે ત્યારે પાયથોન બંધનનો ઉપયોગ થાય છે. બીજું ઉદાહરણ libsvn છે જે સબવર્ઝન સોફ્ટવેર રીપોઝીટરીને ઍક્સેસ કરવા માટે API પ્રદાન કરવા માટે C માં લખાયેલું છે. જાવા કોડમાંથી સબવર્ઝનને ઍક્સેસ કરવા માટે, libsvnjavhal નો ઉપયોગ કરી શકાય છે, જે libsvn સ્થાપિત થવા પર આધાર રાખે છે અને જાવા અને libsvn ભાષા વચ્ચે સેતુ તરીકે કામ કરે છે, આમ એક API પ્રદાન કરે છે જે કામ કરવા માટે libsvn ના કાર્યોને આમંત્રણ આપે છે. લાઈબ્રેરી બાઈન્ડીંગ બનાવવાના મુખ્ય હેતુઓમાં સોફ્ટવેરનો પુનઃઉપયોગ, ઘણી ભાષાઓમાં લાઈબ્રેરીના પુનઃ અમલીકરણને ઘટાડવા અને કેટલીક ઉચ્ચ-સ્તરની ભાષાઓમાં કેટલાક અલ્ગોરિધમ્સને અસરકારક રીતે અમલમાં મૂકવાની મુશ્કેલીનો સમાવેશ થાય છે. રનટાઇમ એન્વાયર્નમેન્ટ ઓબ્જેક્ટ મોડલ કોમન ઓબ્જેક્ટ રીક્વેસ્ટ બ્રોકર આર્કિટેક્ચર (CORBA)-ક્રોસ-પ્લેટફોર્મ-લેંગ્વેજ મોડલ કમ્પોનન્ટ ઓબ્જેક્ટ મોડલ (COM)-માઈક્રોસોફ્ટ વિન્ડોઝ ઓનલી ક્રોસ-લેંગ્વેજ મોડલ ડિસ્ટ્રિબ્યુટેડ કમ્પોનન્ટ ઓબ્જેક્ટ મોડલ (DCOM)-એક્સ્ટેંશન COM ને નેટવર્ક પર કામ કરવા માટે સક્ષમ કરે છે ક્રોસ પ્લેટફોર્મ કમ્પોનન્ટ ઓબ્જેક્ટ મોડલ (XPCOM)-મોઝિલા એપ્લિકેશન્સ ક્રોસ-પ્લેટફોર્મ મોડલ કોમન લેંગ્વેજ ઇન્ફ્રાસ્ટ્રક્ચર-. NET ફ્રેમવર્ક ક્રોસ-પ્લેટફોર્મ-લેંગ્વેજ મોડલ Freedesktop.org D-Bus-ઓપન ક્રોસ-પ્લેટફોર્મ-લેંગ્વેજ મોડલ વર્ચ્યુઅલ મશીનો એપ્લિકેશન વર્ચ્યુઅલ મશીનોની સરખામણી પોર્ટેબલ ઓબ્જેક્ટ-ક્રોસ-પ્લેટફોર્મ-લેંગ્વેજ ઓબ્જેક્ટ મોડલ વ્યાખ્યા પણ જુઓ એપ્લિકેશન પ્રોગ્રામિંગ ઇન્ટરફેસ (API) એપ્લિકેશન દ્વિસંગી કમ્પાઇલર્સ કમ્પ્યુટર લાઈબ્રેરીઓ