Language binding
ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಮತ್ತು ಸಾಫ್ಟ್ವೇರ್ ವಿನ್ಯಾಸದಲ್ಲಿ, ಬೈಂಡಿಂಗ್ ಎನ್ನುವುದು ಅಪ್ಲಿಕೇಶನ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಇಂಟರ್ಫೇಸ್ (ಎಪಿಐ) ಆಗಿದ್ದು, ಇದು ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯನ್ನು ವಿದೇಶಿ ಗ್ರಂಥಾಲಯ ಅಥವಾ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಸೇವೆಯನ್ನು (ಆ ಭಾಷೆಗೆ ಸ್ಥಳೀಯವಲ್ಲದ) ಬಳಸಲು ಅನುಮತಿಸಲು ನಿರ್ದಿಷ್ಟವಾಗಿ ಮಾಡಿದ ಅಂಟು ಸಂಕೇತವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಬೈಂಡಿಂಗ್ ಸಾಮಾನ್ಯವಾಗಿ ಒಂದು ವಿಷಯದಿಂದ ಇನ್ನೊಂದಕ್ಕೆ ಮ್ಯಾಪಿಂಗ್ ಅನ್ನು ಸೂಚಿಸುತ್ತದೆ. ಸಾಫ್ಟ್ವೇರ್ ಲೈಬ್ರರಿಗಳ ವಿಷಯದಲ್ಲಿ, ಬೈಂಡಿಂಗ್ಗಳು ಎರಡು ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳನ್ನು ಬೆಸೆಯುವ ಹೊದಿಕೆಯ ಲೈಬ್ರರಿಗಳಾಗಿವೆ, ಇದರಿಂದಾಗಿ ಒಂದು ಭಾಷೆಗೆ ಬರೆಯಲಾದ ಲೈಬ್ರರಿಯನ್ನು ಮತ್ತೊಂದು ಭಾಷೆಯಲ್ಲಿ ಬಳಸಬಹುದು. ಅನೇಕ ತಂತ್ರಾಂಶ ಗ್ರಂಥಾಲಯಗಳನ್ನು ಸಿ ಅಥವಾ ಸಿ + + ನಂತಹ ಸಿಸ್ಟಮ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ. ಮತ್ತೊಂದು ಭಾಷೆಯಿಂದ ಅಂತಹ ಗ್ರಂಥಾಲಯಗಳನ್ನು ಬಳಸಲು, ಸಾಮಾನ್ಯವಾಗಿ ಜಾವಾ, ಕಾಮನ್ ಲಿಸ್ಪ್, ಸ್ಕೀಮ್, ಪೈಥಾನ್ ಅಥವಾ ಲುವಾ ಮುಂತಾದ ಉನ್ನತ ಮಟ್ಟದ, ಗ್ರಂಥಾಲಯಕ್ಕೆ ಬೈಂಡಿಂಗ್ ಅನ್ನು ಆ ಭಾಷೆಯಲ್ಲಿ ರಚಿಸಬೇಕು, ಬಹುಶಃ ಭಾಷೆಯ ಕೋಡ್ ಅನ್ನು ಮರುಸಂಕಲಿಸುವ ಅಗತ್ಯವಿರುತ್ತದೆ, ಅಗತ್ಯವಿರುವ ಮಾರ್ಪಾಡಿನ ಪ್ರಮಾಣವನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಹೆಚ್ಚಿನ ಭಾಷೆಗಳು ಪೈಥಾನ್ಸ್ ಮತ್ತು ಓ. ಸಿ. ಎ. ಎಂ. ಎಲ್. ನ ಸಿಟೈಪ್ಸ್ ಮತ್ತು ಎಂಬೆಡೆಬಲ್ ಕಾಮನ್ ಲಿಸ್ಪ್ ನ ಸಿ. ಎಫ್. ಐ ಮತ್ತು ಯು. ಎಫ್. ಐ. ನಂತಹ ವಿದೇಶಿ ಕಾರ್ಯ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ನೀಡುತ್ತವೆ. ಉದಾಹರಣೆಗೆ, ಪೈಥಾನ್ನಿಂದ ಕೆಲವು ಉದ್ದೇಶಗಳಿಗಾಗಿ ಬರೆಯಲಾದ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಸಿ ಲೈಬ್ರರಿಯನ್ನು ಬಳಸುವಾಗ ಪೈಥಾನ್ ಬೈಂಡಿಂಗ್ಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಮತ್ತೊಂದು ಉದಾಹರಣೆಯೆಂದರೆ, ಸಬ್ವರ್ಷನ್ ಸಾಫ್ಟ್ವೇರ್ ಭಂಡಾರವನ್ನು ಪ್ರವೇಶಿಸಲು ಎಪಿಐ ಅನ್ನು ಒದಗಿಸಲು ಸಿ ಭಾಷೆಯಲ್ಲಿ ಬರೆಯಲಾದ libsvn. ಜಾವಾ ಕೋಡ್ನೊಳಗಿಂದ ಸಬ್ವರ್ಷನ್ ಅನ್ನು ಪ್ರವೇಶಿಸಲು, libsvnjavhal ಅನ್ನು ಬಳಸಬಹುದು, ಇದು libsvn ಅನ್ನು ಸ್ಥಾಪಿಸುವುದನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ ಮತ್ತು ಜಾವಾ ಮತ್ತು libsvn ಭಾಷೆಯ ನಡುವೆ ಸೇತುವೆಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಹೀಗಾಗಿ ಕೆಲಸ ಮಾಡಲು libsvn ನಿಂದ ಕಾರ್ಯಗಳನ್ನು ಆಹ್ವಾನಿಸುವ API ಅನ್ನು ಒದಗಿಸುತ್ತದೆ. ಗ್ರಂಥಾಲಯದ ಬಂಧಗಳನ್ನು ರಚಿಸುವ ಪ್ರಮುಖ ಉದ್ದೇಶಗಳಲ್ಲಿ ಸಾಫ್ಟ್ವೇರ್ ಮರುಬಳಕೆ, ಹಲವಾರು ಭಾಷೆಗಳಲ್ಲಿ ಗ್ರಂಥಾಲಯವನ್ನು ಮರುಬಳಕೆ ಮಾಡುವುದನ್ನು ಕಡಿಮೆ ಮಾಡುವುದು ಮತ್ತು ಕೆಲವು ಉನ್ನತ ಮಟ್ಟದ ಭಾಷೆಗಳಲ್ಲಿ ಕೆಲವು ಕ್ರಮಾವಳಿಗಳನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಅನುಷ್ಠಾನಗೊಳಿಸುವ ತೊಂದರೆಗಳು ಸೇರಿವೆ. ರನ್ಟೈಮ್ ಎನ್ವಿರಾನ್ಮೆಂಟ್ ಆಬ್ಜೆಕ್ಟ್ ಮಾಡೆಲ್ಗಳು ಕಾಮನ್ ಆಬ್ಜೆಕ್ಟ್ ರಿಕ್ವೆಸ್ಟ್ ಬ್ರೋಕರ್ ಆರ್ಕಿಟೆಕ್ಚರ್ (CORBA)-ಕ್ರಾಸ್-ಪ್ಲಾಟ್ಫಾರ್ಮ್-ಲ್ಯಾಂಗ್ವೇಜ್ ಮಾಡೆಲ್ ಕಾಂಪೊನೆಂಟ್ ಆಬ್ಜೆಕ್ಟ್ ಮಾಡೆಲ್ (COM)-ಮೈಕ್ರೋಸಾಫ್ಟ್ ವಿಂಡೋಸ್ ಓನ್ಲಿ ಕ್ರಾಸ್-ಲ್ಯಾಂಗ್ವೇಜ್ ಮಾಡೆಲ್ ಡಿಸ್ಟ್ರಿಬ್ಯೂಟೆಡ್ ಕಾಂಪೊನೆಂಟ್ ಆಬ್ಜೆಕ್ಟ್ ಮಾಡೆಲ್ (DCOM)-ನೆಟ್ವರ್ಕ್ಗಳಲ್ಲಿ ಕೆಲಸ ಮಾಡಲು COM ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವ ವಿಸ್ತರಣೆ ಕ್ರಾಸ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಕಾಂಪೊನೆಂಟ್ ಆಬ್ಜೆಕ್ಟ್ ಮಾಡೆಲ್ (XPCOM)-ಮೊಜಿಲ್ಲಾ ಅಪ್ಲಿಕೇಶನ್ಗಳು ಕ್ರಾಸ್-ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಮಾಡೆಲ್ ಕಾಮನ್ ಲ್ಯಾಂಗ್ವೇಜ್ ಇನ್ಫ್ರಾಸ್ಟ್ರಕ್ಚರ್-. ಕಂಪೈಲರ್ಗಳ ಕಂಪ್ಯೂಟರ್ ಗ್ರಂಥಾಲಯಗಳು