• [^] # Re: Bof, pas d'accord avec lui.

    Posté par . En réponse à la dépêche Critique de C# par James Gosling l'inventeur de Java. Évalué à 9.

    C'est vrai quand c'est toi qui code tes classes, mais si tu fais un héritage de 5éme niveau sur des classes que tu n'as pas codé, à moins de prendre ton papier et ton stylo pour refaire tout le processus de new, tu ne sais pas ce qui se passe (néanmoins tu pourrais savoir ce qui se passe, mais tu n'as pas forcément le temps de disséquer le code pour chaque classe que tu instancie).

    Donc effectivement, il peut y avoir un bug dans le code et je ne code pas en c++, c'est déjà suffisament long de debugger une application car tu n'avais pas prévu un comportement de l'application (je sais théoriquement, ton code doit prévoir tous les cas de figure) pour ne pas t'emmerder à rajouter la recherche des fuites de mémoires parce que ton prédecesseur ou toi-même a oublié une paire new-delete.

    Java permet de coder de manière largement plus crade car c'est le "garbage collector" qui s'occupe de ce problème pour toi et ça simplifie tout un ensemble d'erreurs au débuggage.

    Pour moi C++ doit être vu comme du C avec l'avantage de faire un découpage plus propre de l'application, car tu es obligé d'être plus propre dans ta conception (chaque objet(structure) à toutes les fonctions pour le manipuler dans un fichier) contrairement au C pur ou tes fonctions peuvent se balader n'importe où.

    L'héritage a plusieurs niveaux et multiple du C++, ça existe, mais c'est la première source d'emmerde garantie.
    Le problème est le même en Java, j'ai retravaillé une application existante ou les héritages étaient sur-multipliés, alors quand tu devais connaître le comportement d'une fonction ou du constructeur, tu devais parcourir toutes les classes du fils à l'ancêtre, car selon les niveaux, la fonction était surchargée ou pas.

    Dans ce cas là, je ne trouve pas que l'objet simplifie la programmation, je dirais plutôt au contraire

    C'est un joli modéle en théorie, mais trop en abuser nuit bcp plus à la lisibilité du programme qu'un simple langage procédural.

    C'est comme tout, le mieux est l'ennemi du bien.