@Neckara : J'ai un peu de mal à voir les avantages de ton moteur Last Engine, si j'ai bien compris tu veux forcer l'utilisation de DLL pour les développeurs, donc chacun fait ses DLL de son coté puis ont essai de merger tout ça plus facilement avec ce moteur.
-Le principal inconvénient de cette manière de faire, est la portabilité, si tu veux par exemple compiler sur Android tu fais comment? Il te faut une version différente pour chaque OS de tes .dll, .elf .so, etc. Compilation 32bit/64bit. Alors qu'il est tout simple d'écrire un code universelle. J'imagine déjà de centaines de petit DLL pour un seul projet, et si tu veux une version sur un système différent, il te faudra que chacun des devs compile une version spécialement pour ça.
-Plein de problème de version peu survenir, quelqu'un sort une nouvelle version et tout plante, il est impossible de modifier le code directement, de visionné le code et faire des testes pour détecter le problème ou bien faire une petite patch rapidement et de proposé la solution au dev.
-Impossible de compiler avec un compilateur différent, profité de nouvelles optimisations sur Clang par exemple, ou bien de nouvelles version plus performante.
-Adieu compilation conditionnel! La grande force du C++ vient de disparaitre avec toute ses optimisation possible à la précompilation, avec impossibilité d'avoir de multiples versions d'un programme, si on veut par exemple une version debug et une version release.
-Impossibilité de faire de petit programme léger, normalement on peut compiler uniquement les fichiers nécessaire d'une lib sans la compiler au complet, une dll nous oblige d'avoir le code entier inutilement.
-Éviter d'avoir à recompiler les libs? Normalement on ne recompile pas tout à chaque fois, de plus rien n’empêche à un IDE de recompiler par section.
Il y a tout de même un réel avantage à cette façon de faire, c'est parfait pour les licences LGPL et même qu'on peut rende le code totalement inaccessible, parfait pour ceux qui on peur de se faire piquer leur code.
Partager