Automatic Reference Counting (ARC)
Paisible.fr
Membre
MacGeneration vient de publier un article intitule LLVM passe la troisième avec Xcode 4.2
On y parle nottament de la technologie ARC (Automatic Reference Counting) qui permettra aux développeurs iOS et Mac OS de ne plus se soucier de la gestion manuelle de la mémoire.
Qu'en pensez-vous ?
Cela m'a l'air fort interressant et prometteur.
On y parle nottament de la technologie ARC (Automatic Reference Counting) qui permettra aux développeurs iOS et Mac OS de ne plus se soucier de la gestion manuelle de la mémoire.
Qu'en pensez-vous ?
Cela m'a l'air fort interressant et prometteur.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Mais je sais plus écrire du code sans gérer la mémoire moi ! ;D
Va falloir tester tout ça, l'efficacité et les perfs bien sûr.
J'aime bien gérer ma mémoire tout seul, moi
(bon, j'aime bien l'autorelease tout de même)
Ca va me perturber ^^
Remplace ta signature par "Moi je suis Garbage Collector, et vous ?"
J'y pense subitement, ça existe un détecteur de mutants sous iOS ? C'est d'actualité avec la sortie du dernier film X-Men.
Donc je ne réponds pas, enfin pas trop.
Si l'ARC résout efficacement les problèmes de gestion mémoire, c'est tout bon pour les développeurs formés aux langages classiques avec Garbage Collector. C'est un verrou de plus qui saute pour les novices.
Bonjour les architectures bien brouillon et les codes grand n'importe quoi sans réflection préalable sur l'archi logicielle du code...
Malheureusement..
C'est triste ...
Ca me plait pourtant bien de manager moi-même ce que je fais en allocation et libération. On comprends mieux comment le bouzin fonctionne et si on le fait bien c'est carrément plus performant que de foutre un garbage collector.
+1, ça donne une grande partie de son sens au mot "Programmation". Personnellement je n'aurais pas l'impression de tout maitriser et je me demanderais si vraiment tout a été optimisé pour que tout tourne au mieux, surtout dans du code devenant complexe. Remarque quand à l'occasion je fais du VB ou Java je ne me pose pas cette question vu que ces langages tournent naturellement avec un GC.... mais Cocoa c'est pas pareil il permet justement de bien maitriser la gestion mémoire donc il serait bête de s'en priver.
Il est même dit que c'est mieux que la gestion manuelle
Je n'aime pas trop le conditionnel.... surtout dans un domaine qui demande quand même de la rigueur. Ensuite je ne suis pas contre, mais tout de même dubitatif dans des cas d'optimisations extrême. Une mauvaise gestion mémoire peu autant (voir plus) plomber les performances d'une application qu'un Garbage Collector.
Je veux dire que si LLVM est capable de savoir quand je devrais faire un retain et quand je devrais faire un release, je préférerais qu'il vérifie que dans mon code je les ai mis, et me mette des warnings là où j'aurai pu en oublier pour m'inciter à en rajouter... plutôt qu'il les rajoute lui-même tout seul dans le binaire compilé sans me dire où il les as mis.
Ca serait à la fois plus pédagogique et plus efficace permettant de toujours tout gérer moi-même tout en étant sûr de ne rien oublier.
En particulier, elle remonte les variables sur lesquelles il y a eu un retain mais pas de release, mais que pour les variables locales. Elle ne remonte pas ce manque de "release" si c'est une ivar (pour laquelle typiquement on fait un retain dans une méthode et un release dans une autre ou dans le dealloc)
En particuleir, elle ne remonte pas, également, les variables à qui on devrait envoyer un retain -- parce qu'elles sont utilisées plus tard -- mais que l'on a pas fait.
Il me semble que pourtant LLVM est capable de faire cela... mais il faut récupérer le code source de LLVM et le recompiler avec les flags qui vont bien pour qu'il soit aussi pointilleux (du moins c'est ce qu'on m'a dit) ; avec la version de LLVM (enfin du module clang de LLVM) fourni avec Xcode ce n'est pas le cas et du coup l'analyse statique n'est pas utilisée au maximum.
Sinon, concrètement c'est juste une option a cocher ?
Cela autorise quelle liberté ?
Bah, avec ta capture, on voit pas trop le rapport avec Arc ! :P
(hors sujet)
Bon, sinon, au lieu de faire de la veille techno, quand c'est que tu nous montres une production maison ?
Pour le reste, attend fin Septembre/début Octobre * croise les doigts *
Pour le moment c'est un peu difficile d'en parler à cause du NDA.
Même pas, ça marche de base. Je présume qu'il doit y avoir quelque part une option à cocher pour désactiver ARC.
Exit les retain et release dans le code. Plus besoin de dealloc. Merci mon dieu !