Après les articles de John Siracusa et Jesper (lire : Apple développerait-elle un nouveau langage ?) sur la question, le débat sur Objective-C et son éventuelle évolution, voire remplacement a repris de plus belle. Le développeur Matt Gallagher a ajouté son grain de sel : non, Objective-C ne va pas être remplacé, mais oui, il va devoir évoluer.
Certains points très précis de crispation, dans la syntaxe du langage ou dans ses fonctions, pourraient ainsi être corrigés ou ajoutés dans une simple mise à niveau. Mais le centre de la discussion est encore et toujours la gestion de la mémoire : Objective-C étant une extension du C, il en partage la gestion manuelle de la mémoire, même si un système de garbage collector permet d'en partie l'automatiser.
Le classement TIOBE le montre : les langages avec une gestion directe de la mémoire (dont le C et l'Objective-C) restent certes très employés (lire : L'Objective-C dans le top 10 des langages les plus populaires), mais pourraient perdre du terrain dans les années qui viennent. Gallagher pense que plutôt que de remplacer l'Objective-C, ce qui imposerait une nouvelle transition après l'abandon de Carbon, et casserait la compatibilité avec le C, Apple pourrait s'orienter vers l'utilisation d'une machine virtuelle.
Elle permettrait une plus grande abstraction dans la gestion de la mémoire, un moyen de peut-être attirer de nouveaux développeurs habitués à des systèmes de gestion automatisés de la mémoire. Cette machine virtuelle permettrait aussi à Apple de se préserver une indépendance matérielle, en permettant un passage assez facile de l'ARM v6/v7 au x86 (Intel ou pourquoi pas AMD). Enfin, si Apple devait bel et bien changer de langage dans un futur proche ou plus lointain, cette machine virtuelle servirait de tampon pour assurer la rétro-compatibilité. Voilà donc une troisième opinion sur la question.
Certains points très précis de crispation, dans la syntaxe du langage ou dans ses fonctions, pourraient ainsi être corrigés ou ajoutés dans une simple mise à niveau. Mais le centre de la discussion est encore et toujours la gestion de la mémoire : Objective-C étant une extension du C, il en partage la gestion manuelle de la mémoire, même si un système de garbage collector permet d'en partie l'automatiser.
Le classement TIOBE le montre : les langages avec une gestion directe de la mémoire (dont le C et l'Objective-C) restent certes très employés (lire : L'Objective-C dans le top 10 des langages les plus populaires), mais pourraient perdre du terrain dans les années qui viennent. Gallagher pense que plutôt que de remplacer l'Objective-C, ce qui imposerait une nouvelle transition après l'abandon de Carbon, et casserait la compatibilité avec le C, Apple pourrait s'orienter vers l'utilisation d'une machine virtuelle.
Elle permettrait une plus grande abstraction dans la gestion de la mémoire, un moyen de peut-être attirer de nouveaux développeurs habitués à des systèmes de gestion automatisés de la mémoire. Cette machine virtuelle permettrait aussi à Apple de se préserver une indépendance matérielle, en permettant un passage assez facile de l'ARM v6/v7 au x86 (Intel ou pourquoi pas AMD). Enfin, si Apple devait bel et bien changer de langage dans un futur proche ou plus lointain, cette machine virtuelle servirait de tampon pour assurer la rétro-compatibilité. Voilà donc une troisième opinion sur la question.