J'ai besoin de mettre en œuvre une bibliothèque qui sera appelée à partir de plusieurs langages - Java, Python, Perl et peut-être plus dans le futur. Je détesterais mettre en œuvre (et maintenir) la même chose encore et encore dans plusieurs langues.Comment créer et gérer une bibliothèque pour plusieurs langues?
Une option que je peux penser est d'écrire la fonctionnalité de base en C/C++ et utiliser SWIG pour générer des liaisons pour les langues cibles; ou peut-être écrire les liaisons moi-même.
Voici quelques raisons pour lesquelles ce service ne peut pas être indépendant.
Y a-t-il d'autres solutions de rechange à maturité? Je cherche des options pour comparer avant de m'en contenter.
Idéalement, je voudrais le faire en utilisant un compilateur source à source ou un générateur de code source. Mais je ne peux pas en trouver un qui supporte toutes les langues ci-dessus - avec un potentiel pour les ajouts futurs.
Je peux envisager d'autres générateurs de liaison s'ils offrent des avantages par rapport à SWIG.
Merci d'avance pour les pointeurs!
Cette question, bien que raisonnable en général, est inappropriée sur Stack Overflow. Nous ne faisons pas vraiment de conversation ici et votre question recherche une conversation stratégique plutôt qu'une solution tactique. – mah
En général, vous devez déterminer ce que vous devez tester et corriger les bogues, la plupart du temps. Si vous passez le plus clair de votre temps à écrire du code non-stop, vous êtes dans une situation très inhabituelle. –
@PeterLawrey: Non, je n'écris pas de code non stop. La raison pour laquelle je ne veux pas le réimplémenter en plusieurs langues est d'éviter la duplication de code. Le code dupliqué signifie souvent que le comportement de la bibliothèque diffère de manière subtile ou qu'il comporte des bogues subtils. –