Есть некоторые библиотеки, которые доступны в своих версиях, написанных на разных языках программирования, например, Lucene , который написан на Java (как говорится, на 100% чистой Java), но также имеет свои версии на C ++, C, Perl , Ruby, Lisp и некоторые другие языки. И я говорю о реализации на этих языках, а не только интерфейсы FFI .
Почему люди так делают? Я вижу одну очевидную причину: развертывание и распространение (и, возможно, разработка) легче, когда у проекта меньше зависимостей. Но есть ли что-нибудь еще? В каких ситуациях это стоит?