Apple développerait-elle un nouveau langage ?
par Anthony Nelzin le 06.07.2010 à 18:30
Jesper de Waffle en est sûr : Apple prépare un nouveau langage de programmation, conçu pour dépasser Objective-C. « Après avoir vu les vidéos […] de la WWDC 2010 […] je crois qu'Apple travaille à un nouveau langage pour dépasser Objective-C », écrit-il.
Objective-C a été constamment amélioré ces dernières années, mais il doit porter l'héritage du code produit au fil du temps, et du fait qu'il est une extension du C. Si Apple veut donc aller plus loin, elle se doit de redéfinir un langage.
Elle possède l'expérience de technologies pointues lui permettant de créer un langage moderne, notamment LLVM/Clang. Elle pourrait développer un langage suffisamment bas-niveau pour être aussi performant que l'Objective-C ou le C, tout en en profitant pour définir une nouvelle syntaxe.
Voilà qui permettrait aussi de forcer les développeurs à prendre de nouvelles habitudes, notamment en termes de gestion de la mémoire, où deux écoles s'affrontent, entre ceux qui préfèrent gérer la mémoire manuellement, et ceux qui se reposent entièrement sur le garbage collector. Le passage progressif au parallélisme comble le principal défaut du garbage collector, son impact sur les performances, mais l'utilisation de ce dernier pose toujours des questions sur un OS comme iOS, où le garbage collector ne fait pas assez dans le détail.
Apple pourrait bien forcer la main aux développeurs sur ce point précis, mais d'ailleurs sur l'adoption de ce nouveau langage aussi : si l'Objective-C pourrait rester dans les parages pendant un temps, il suffit de faire de ce nouveau langage le langage par défaut d'iOS pour que près de 50.000 développeurs y passent, pour ne pas descendre du TGV App Store.
Sur le même sujet :
- En route vers Mac OS XI ?
Objective-C a été constamment amélioré ces dernières années, mais il doit porter l'héritage du code produit au fil du temps, et du fait qu'il est une extension du C. Si Apple veut donc aller plus loin, elle se doit de redéfinir un langage.
Elle possède l'expérience de technologies pointues lui permettant de créer un langage moderne, notamment LLVM/Clang. Elle pourrait développer un langage suffisamment bas-niveau pour être aussi performant que l'Objective-C ou le C, tout en en profitant pour définir une nouvelle syntaxe.
Voilà qui permettrait aussi de forcer les développeurs à prendre de nouvelles habitudes, notamment en termes de gestion de la mémoire, où deux écoles s'affrontent, entre ceux qui préfèrent gérer la mémoire manuellement, et ceux qui se reposent entièrement sur le garbage collector. Le passage progressif au parallélisme comble le principal défaut du garbage collector, son impact sur les performances, mais l'utilisation de ce dernier pose toujours des questions sur un OS comme iOS, où le garbage collector ne fait pas assez dans le détail.
Apple pourrait bien forcer la main aux développeurs sur ce point précis, mais d'ailleurs sur l'adoption de ce nouveau langage aussi : si l'Objective-C pourrait rester dans les parages pendant un temps, il suffit de faire de ce nouveau langage le langage par défaut d'iOS pour que près de 50.000 développeurs y passent, pour ne pas descendre du TGV App Store.
Sur le même sujet :
- En route vers Mac OS XI ?
| |
5
4
3
2
1
Vos réactions (61 réactions)
dazz
[06/07/2010 18:37]
ouais ben ce serait une bonne nouvelle :)
il reste que ca finalement a Apple pour finir de "révolutioner" l'informatique, un langage 100% Apple, compatible a rien, nouvelle styntaxe moins abscon plus lisible. Steve jobs pourra alors prendre sa retraite, Apple aura tout changé :)
ouais ben ce serait une bonne nouvelle :)
il reste que ca finalement a Apple pour finir de "révolutioner" l'informatique, un langage 100% Apple, compatible a rien, nouvelle styntaxe moins abscon plus lisible. Steve jobs pourra alors prendre sa retraite, Apple aura tout changé :)
Yohmi
[06/07/2010 18:37]
Ce serait un coup de poker risqué, car beaucoup de nouveaux venus ne seront peut-être pas nécessairement enclins à apprendre un nouveau langage alors qu’ils viennent à peine de se mettre à l’Objective-C. Et Google (+ Adobe) en profiterait probablement pour faire sa pub en mettant en avant le fait que sur Android (ou Flash), vous n’avez pas à sans-cesse réapprendre un langage…
Mais je suppose que c’est bien que ça évolue, ces langages sont si vieux, il doit y avoir des routines que l’on peut éviter maintenant… enfin je dis ça, je n’y connais rien du tout en code ^^
Ce serait un coup de poker risqué, car beaucoup de nouveaux venus ne seront peut-être pas nécessairement enclins à apprendre un nouveau langage alors qu’ils viennent à peine de se mettre à l’Objective-C. Et Google (+ Adobe) en profiterait probablement pour faire sa pub en mettant en avant le fait que sur Android (ou Flash), vous n’avez pas à sans-cesse réapprendre un langage…
Mais je suppose que c’est bien que ça évolue, ces langages sont si vieux, il doit y avoir des routines que l’on peut éviter maintenant… enfin je dis ça, je n’y connais rien du tout en code ^^
eliotus
[06/07/2010 18:41]
Ah un moment en lisant le titre j'ai cru que c'était une allusion a la lettre au sujet de l'iPhone 4 sans queue ni tête mais non ;-)
Je sais où est la sortie merci ;-)
Ah un moment en lisant le titre j'ai cru que c'était une allusion a la lettre au sujet de l'iPhone 4 sans queue ni tête mais non ;-)
Je sais où est la sortie merci ;-)
Hok
[06/07/2010 18:42]
via MacG Mobile
Ouai espérons que apple travaille dessus, car objC a une syntaxe peut commune qui rebute beaucoup de gens. Il faudrait une syntaxe genre C++/java/C# ou même du python ruby. Mais il faudrait que ce soit totalement compatible et melangeable avec objC. Il faudrait que ce soit haut niveau, dynamique et fonctionnel, et garbage collecté.
Ouai espérons que apple travaille dessus, car objC a une syntaxe peut commune qui rebute beaucoup de gens. Il faudrait une syntaxe genre C++/java/C# ou même du python ruby. Mais il faudrait que ce soit totalement compatible et melangeable avec objC. Il faudrait que ce soit haut niveau, dynamique et fonctionnel, et garbage collecté.
mezos
[06/07/2010 18:46]
Avec tout le support qui existe aujourd'hui pour l'objective C, la progression se fera sur du long terme (si nouveau langage il y a). Tel que je l'imagine, si il y a un changement la valeur ajoutée sera de taille pour que le changement se fasse auprès des développeurs.
Avec tout le support qui existe aujourd'hui pour l'objective C, la progression se fera sur du long terme (si nouveau langage il y a). Tel que je l'imagine, si il y a un changement la valeur ajoutée sera de taille pour que le changement se fasse auprès des développeurs.
FloMo
[06/07/2010 18:49]
Avec l'apparition récente des blocks dans ObjC et la grande part du parallélisme, on peut s'attendre à un ObjC 3.0.
De là à voir apparaître un nouveau langage... Le C reste incontournable depuis plus de 30 ans et a été la clé du succès d'Apple : pourquoi changeraient-ils ?
Avec l'apparition récente des blocks dans ObjC et la grande part du parallélisme, on peut s'attendre à un ObjC 3.0.
De là à voir apparaître un nouveau langage... Le C reste incontournable depuis plus de 30 ans et a été la clé du succès d'Apple : pourquoi changeraient-ils ?
Anabys
[06/07/2010 18:51]
AppleScript 2 :D
AppleScript 2 :D
SuMyDi
[06/07/2010 18:52]
Il existe un langage objet qui étend le C : le langage D (non, non ça n'est pas une blague). Sa syntaxe est proche du C++, il en garde certains aspects comme les templates (mais avec une syntaxe différente plus simple et plus claire), en enlève d'autres (héritages multiples, ...).
En fait il a été conçu pour palier aux différents défauts du C++. Plus d'infos ici : [url]http://fr.wikipedia.org/wiki/D_(langage)[/url].
Peut-être Apple va-t-elle utilisé ce langage ? (adaptation rapide pour ceux venant du C, C++ voire de l'Obj-C).
Il existe un langage objet qui étend le C : le langage D (non, non ça n'est pas une blague). Sa syntaxe est proche du C++, il en garde certains aspects comme les templates (mais avec une syntaxe différente plus simple et plus claire), en enlève d'autres (héritages multiples, ...).
En fait il a été conçu pour palier aux différents défauts du C++. Plus d'infos ici : [url]http://fr.wikipedia.org/wiki/D_(langage)[/url].
Peut-être Apple va-t-elle utilisé ce langage ? (adaptation rapide pour ceux venant du C, C++ voire de l'Obj-C).
phoenix73
[06/07/2010 18:53]
via MacG Mobile
Il serait malin de proposer un Java utilisant llvm, soit en natif soit par une étape de pré-compil, comme peut le faire GNU-java.
Objectif C est un frein pour pas mal de monde à commencer par les régiments de Javaistes.
Pourquoi réinventer la roue ?
Il serait malin de proposer un Java utilisant llvm, soit en natif soit par une étape de pré-compil, comme peut le faire GNU-java.
Objectif C est un frein pour pas mal de monde à commencer par les régiments de Javaistes.
Pourquoi réinventer la roue ?
iBorg
[06/07/2010 18:58]
Java : trop limité, trop multi-plateformes.
Java : trop limité, trop multi-plateformes.
mezos
[06/07/2010 19:04]
Il serait malin de proposer un Java utilisant llvm, soit en natif soit par une étape de pré-compil, comme peut le faire GNU-java.
Cette idée me plais bien, mais je ne sais pas si les développeurs actuel adhéreront...
Je suis curieux de savoir ce que vous en pensez d'ailleurs pour ceux qui passent ici :)
Il serait malin de proposer un Java utilisant llvm, soit en natif soit par une étape de pré-compil, comme peut le faire GNU-java.
Cette idée me plais bien, mais je ne sais pas si les développeurs actuel adhéreront...
Je suis curieux de savoir ce que vous en pensez d'ailleurs pour ceux qui passent ici :)
NicolasO
[06/07/2010 19:19]
Des langages mieux que Objectove-C, il y en a des dizaines.
La force de la plate-forme d'Apple, c'est cocoa qui, par sa qualite, comble beaucoup du retard du langage.
Mais ca ne suffira pas a terme. Quelqu'un indiquait que son temps de dev etait 4 * inferieur sur Android que sur iPhone... Et encore, d'autres langages sont autorises sur Android, autorisant plus de productivite.
Le probleme est de changer de langage sans changer de librairie.
Par ailleurs, developper un langage de zero, c'est long et difficile. Surtout quand les plateformes concurrentes (Java, Dadvik, .Net) sont deja tres mures...
Donc une etape necessaire, sur laquelle la pomme est en retard sur ces concurrents (Google a Davdik pour java et travaille sur Go, qui ressemble beaucoup a ce que voudrait Apple, MS a .Net qui a atteint un niveau acceptable).
LLVM peut aider, mais c'est une vm tres bas niveau. Il reste beaucoup a faire autour.
Des langages mieux que Objectove-C, il y en a des dizaines.
La force de la plate-forme d'Apple, c'est cocoa qui, par sa qualite, comble beaucoup du retard du langage.
Mais ca ne suffira pas a terme. Quelqu'un indiquait que son temps de dev etait 4 * inferieur sur Android que sur iPhone... Et encore, d'autres langages sont autorises sur Android, autorisant plus de productivite.
Le probleme est de changer de langage sans changer de librairie.
Par ailleurs, developper un langage de zero, c'est long et difficile. Surtout quand les plateformes concurrentes (Java, Dadvik, .Net) sont deja tres mures...
Donc une etape necessaire, sur laquelle la pomme est en retard sur ces concurrents (Google a Davdik pour java et travaille sur Go, qui ressemble beaucoup a ce que voudrait Apple, MS a .Net qui a atteint un niveau acceptable).
LLVM peut aider, mais c'est une vm tres bas niveau. Il reste beaucoup a faire autour.
Ikari
[06/07/2010 19:20]
@phoenix73
Objective C n'est pas un très bon frein si on considère le succès de l'AppStore ^^
Je trouve l'Objective-C beaucoup plus esthétique et clair que le C++ et le Java. (C'est un avis totalement arbitraire, certes ^^)
@phoenix73
Objective C n'est pas un très bon frein si on considère le succès de l'AppStore ^^
Je trouve l'Objective-C beaucoup plus esthétique et clair que le C++ et le Java. (C'est un avis totalement arbitraire, certes ^^)
kubernan
[06/07/2010 19:25]
Un truc capable de nativement s'intégrer pour le Web. Ni plus, ni moins.
Un truc capable de nativement s'intégrer pour le Web. Ni plus, ni moins.
Artanis
[06/07/2010 19:25]
La syntaxe de l'Objective-C est un de ses avantages, c'est quelque chose qu'on ne peut comprendre qu'en le manipulant. C'est vraiment un des meilleurs langages objets que j'ai vu pour l'instant. Et paradoxalement, il est assez proche de Java dans l'esprit (une fois qu'on veut bien regarder au-delà de la syntaxe de l'envoi de messages). Beaucoup plus que du C++ en tout cas. Et la courbe d'apprentissage n'a _rien à voir_ avec le C++. Ça m'embêterait pas mal qu'un langage replace l'ObjC dans la case "langage par défaut" pour MacOS X.
C'est déjà possible de faire du Java compilé par LLVM, si je ne m'abuse, grâce à Dragonegg. Visiblement certaines personnes font ça, puisque GCJ est encore développé...
La syntaxe de l'Objective-C est un de ses avantages, c'est quelque chose qu'on ne peut comprendre qu'en le manipulant. C'est vraiment un des meilleurs langages objets que j'ai vu pour l'instant. Et paradoxalement, il est assez proche de Java dans l'esprit (une fois qu'on veut bien regarder au-delà de la syntaxe de l'envoi de messages). Beaucoup plus que du C++ en tout cas. Et la courbe d'apprentissage n'a _rien à voir_ avec le C++. Ça m'embêterait pas mal qu'un langage replace l'ObjC dans la case "langage par défaut" pour MacOS X.
C'est déjà possible de faire du Java compilé par LLVM, si je ne m'abuse, grâce à Dragonegg. Visiblement certaines personnes font ça, puisque GCJ est encore développé...
5
4
3
2
1
Réagir
Cinq consignes avant de réagir :
- Rester dans le cadre de la dépêche. Pour des discussions plus générales, vous pouvez utiliser nos forums.
- Développer son argumentation. Les messages dont le seul but est de mettre de l'huile sur le feu seront modifiés ou effacés sans préavis par la rédaction.
- Respecter les acteurs de l'informatique et les autres lecteurs. Les messages agressifs, vulgaires, haineux, etc. seront modifiés ou effacés sans préavis par la rédaction.
- Pour toute remarque concernant le contenu de l'article, pour nous signaler une erreur, une faute d'orthographe, une omission, merci de nous contacter exclusivement par e-mail.
- Relisez-vous, et pour les utilisateurs de Safari profitez de l'aide du navigateur : activez le menu édition > Orthographe > Vérifier l'orthographe lors de la frappe.





Mai 2012
