URL: https://linuxfr.org/users/serge_ss_paille/journaux/pythran-en-plein-delire Title: Pythran, en plein délire Authors: serge_sans_paille Date: 2018年05月23日T20:43:35+02:00 License: CC By-SA Tags: pythran, java, c++ et python Score: 50 Cher journal, je dois te confesser que j'ai déclenché quelque chose dont j'ai un peu honte. Tu te souviens bien sûr de [Pythran](https://github.com/serge-sans-paille/pythran), ce compilateur pour noyau scientifiques écrit en Python, et de ce petit détail d'implémentation qui veut que le compilateur commence par transformer les fonctions Python en fonctions C++ *template* (a.k.a. transformer du code Python en meta-programme C++ pour faire stylé voire pédant). Un choix de design a été de faire en sorte que ces fonctions ne font plus référence à aucune partie la l'API C de Python. C'est du code C++ « normal ». Et voilà ce que ça a donné :-/ 1. Un zozo a décidé qu'au lieu de générer un code appelable depuis Python, on peut utiliser le C++ intermédiaire depuis du code C++ classique. Comme ça on prototype en Python, puis hop, on lance la CLI qui va bien et on a le code de prod avec des perfs décentes et très peu de dépendances. 2. Un autre zozo a décidé que ce même code C++ pouvait être associé à [swig](http://www.swig.org/) pour générer... du code appelable depuis Java. Hop on prototype en Python puis on appelle du code natif depuis Java via JNI, tranquille. Et le plus drôle, c'est que ce genre de monstre a vocation à aller en prod, le délire ne s'arrête jamais :-)