• [^] # et le mien

    Posté par . En réponse à la dépêche Le langage D 1.00 est disponible !. Évalué à 4.

    Non, ca c'est le gros désavantage :
    on perd la couche d'abstraction avec le matos,


    Ce dont 99% du code ecris se moque royalement. Et pour le reste, ca concerne
    la programmation systeme, justement impossible en C#/Java.

    on perd tous les services de sécurité

    De toute facon c'est au systeme d'exploitation de fournir le confinement/sandboxing; le faire dans le langage c'est un palliatif, pas une solution.


    les services d'introspection

    Si tu penses a typeof/instanceof, il te suffit de coller un tag dans toutes tes structures; tu peux meme faire ca en C si tu veux. Donc la machine virtuelle ne sert toujours a rien

    la portabilité binaire

    Les slims binaries sont une solution bien plus interessante que la compilation
    dans une machine virtuelle pour ca.

    les services de remoting

    Bon ca je sais pas ce que c'est. Enfin le nom me dit rien. Si c'est un truc
    du genre "pouvoir s'attacher a un programme en cours d'execution", tu peux faire ca sans machine virtuelle, c.f. Common Lisp, ou meme GDB.

    L'avantage de la machine virtuelle, c'est pour les applications embarquees,
    quand le temps de compilation doit etre vraiment minimise, parce que c'est facile a traduire en code natif; sur un serveur/desktop/PC moderne ca ne sert a rien.

    Si on regarde un language comme Common Lisp, qui compile en code natif et a toutes les features dont tu parles, on s'apercoit vraiment de l'inutilite de la machine virtuelle.

    Enfin c'est mon avis.