Language Binding

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Language binding (propojování jazyků) je aplikační programové rozhraní poskytující „lepidlový“ kód umožňující programovacímu jazyku nebo systémové službě užití v jiném jazyce, než ve kterém byl původní kód napsán.

Binding běžně znamená mapování jedné věci k druhé. V případě softwarových knihoven se jedná o wrappery, které propojují dva různé jazyky tak, aby knihovna napsána v jednom jazyce mohla být použita v jazyce druhém. +more Spousta knihoven je psána v systémových programovacích jazycích jako je C či C++. Aby se takové knihovny daly použít v jiném jazyce, bežně vysokoúrovňovějších jako Java, Common Lisp, Python nebo Lua, rozhraní k dané knihovně musí být napsáno v daném jazyce s možností rekompilace kódu daného jazyka v závislosti na potřebných změnách. Většina jazyků umožňuje rozhraní ke svým funkcím, jako například Pythoní ctypes či cffi a uffi Common Lispu.

Například, propojování pro Python se používá, když knihovna psaná v jazyce C má být použita v Pythonu. Dalším příkladem je libsvn napsaná v jazce C, aby poskytla rozhraní pro přístup k repozitáři Subversion software. +more Pro přístup k Subversion z Javy lze použít libsvnjavahl, která závisí na faktu, že libsvn knihova již je nainstalována a chová se jakožto most mezi Javou a libsvn, twdy poskytuje API, které volá funkce z libsvn k provedení daného úkonu.

Většina motivuje k tvorbě těchto rozhraní, aby se zabránilo reimplementaci jedné knihovny v několika jazycích a tím pádem i potížím implementace některých algoritmů efektivně v některých vysokoúrovňových jazycích.

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top