• [^] # Re: Java !

    Posté par (site web personnel, Mastodon) . En réponse au lien De l'intérêt majeur de choisir un langage memory safe pour tout nouveau code d'un projet existant. Évalué à 0.

    Jr ne connais pas ces langages mais si tu peux faire une boucle, ça doit être possible.
    En pseudo code simpliste c'est:

    B b = manager.
    While true {
    A a = New A
    b.append(a)
    # delete a
    }

    Si b garde quelque part une référence sur a, a ne sera jamais détruit.

    Certains langages peuvent limiter ces problèmes. Mais Java le facilite par sa sur-utilisation du pointeur.

    PS: Rust même sans Garbage collector n'est pas à l'abri mais en invitant à éviter les pointeurs (au profit de l'appartenance) limite beaucoup le problème.
    En C tu vire toi même l'objet donc au pire tu fait un segfault mais il n'y a pas ce problème... si tu pense à le virer mais tu est obligé d'y penser.

    PS2: on est d'accord c'est une erreur de conception du programme le langages ne peut pas tout comprendre. Mais Java est terrible pour ça car c'est "caché"

    Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.