• [^] # Re: À boire et à manger

    Posté par . En réponse au journal Un développeur qui dénonce. Évalué à 2.

    La méta programmation n’empêche rien je pense, en C++ par exemple tu commences par constuire un équivalent de programme C++ sans template après avoir étendu les modèles (c’est déjà Turing complet par contre), une fois que tu as fais ça tu te retrouves avec un programme C++ exempt de méta programmation donc sur lequel tu peux faire la même chose que sur un langage sans méta programmation.

    Pour la réflexivité, ou pour les programmes qui prévoient des plug-ins donc du chargement dynamique de code c’est autre chose effectivement. Imaginons un shell incorporé qui récupère et expose l’API par introspection du modèle du programme, tout ce qui est introspecté ne peut plus être éliminé parce que susceptible d’être appelé par l’utilisateur à l’exécution. Après c’est pareil, si l’introspection se fait sur les classes à l’étape de compilation, il doit être possible de faire l’élimination de code à la compil après cette phase. Si c’est dynamique il me semble effectivement impossible de savoir ce qui ne va pas être introspecté à la phase de compilation.