• [^] # Re: personnellement : je préfère gnome à kde

    Posté par . En réponse à la dépêche LinuxFR, vainqueur du choix des lecteurs du Linux Journal. Évalué à 1.

    Plus précisément : un binding C++ pour une bibliothèque C est intrinsèquement moins bon qu'une lib écrite directement en C++.

    Cela dépend. Il y a deux cas extrêmes:
    - soit tu écris simplement une interface pour chaque fonction d'origine
    - soit tu reconçois l'ensemble et tu écris en quelque sorte une nouvelle bibliothèque (qui va tout de même faire des appels à celle en-dessous)

    Dans le premier cas, c'est de la cosmétique. Elle est d'ailleurs à peu près inutile entre le C++ et le C car le C++ comprend directement le C (pratiquement). Alors, les bindings ne collent pas à la philosophie du langage.

    Dans le second cas, les bindings se sont libérés du design sous-jacent et ça peut être véritablement propre. Mais ça demande un gros effort. Peut-être que tout réécrire paraît séduisant en pareil situation. Surtout que, en pratique, il demeure toujours des contraintes dû à la bibliothèque sous-jacente. Par exemple, le constructeur en C++ fera plus que l'allocation de la mémoire, disons une ouverture de fichier. Et le plus qu'il pourra faire sera peut-être une partie d'une fonction C, qui, en plus d'ouvrir le fichier, le lira. A moins de découper la fonction C, l'objet restera avec un constructeur mal conçu.