Es gibt einige Bibliotheken, die in ihren Versionen in vielen verschiedenen Programmiersprachen verfügbar sind, wie zum Beispiel Lucene , das in Java geschrieben ist (sozusagen 100% reines Java), aber auch seine Versionen in C ++, C, Perl hat , Ruby, Lisp und einige andere Sprachen. Und ich spreche von Implementierungen in diesen Sprachen, nicht nur von FFI- Schnittstellen.
Warum machen die Leute das? Ich kann einen offensichtlichen Grund erkennen: Bereitstellung und Verteilung (und wahrscheinlich auch Entwicklung) sind einfacher, wenn ein Projekt weniger Abhängigkeiten aufweist. Aber gibt es noch etwas? In welchen Situationen lohnt es sich?