Apple développerait-elle un nouveau langage ?

Anthony Nelzin-Santos |
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 ?
Tags
avatar BeePotato | 
@ Lonesome Boy : « Je suis bien d'accord pour le init, je pensais plutôt à une sorte de "fusion" de l'alloc et de l’init… » Attention à ne pas relancer la très vieille discussion sur le new ! :) « Franchement, qui a déjà eu à faire un alloc sans faire un init juste après? » En fait, c’est plutôt l’inverse : on fait assez régulièrement appel à un init sans avoir fait un alloc juste avant.
avatar ispeed | 
Je viens de terminer le fameux livre programmation Cocoa sous MacOsx de Aaron Hillegass 3ème édition à conseiller au débutant comme moi :)))
avatar phoenix73 | 
L'idée serait moins dans seulement Java mais bien un couplage VM et LLVM. Après ça ouvrirait la porte à Java, mais aussi Scala, Groovy ou JRuby. Cocoa est une API, elle peut donc être mappée en Java ou autre. Une des raisons du succès d'Android est qu'il utilise un langage qui est très largement utilisé dans l'industrie. Et qu'il a donc un immense réservoir de développeur. Autre succès, le multiplateforme. On peut développer de l'Android sur Mac, Linux ou Windows. Le modèle Apple de production logicielle est fermé sur lui même et c'est un frein quoi qu'on en dise, certaines personnes ou entreprises ne peuvent ou veulent investir dans des postes de développement sous OS/X. On a rarement raison tout seul et plus une plate-forme est ouverte plus riche sont les offres et outils. XCode 4 sera certainement excellent mais quand on fait du dev sous Eclipse/Netbeans/IntelliJ toute la journée, rebasculer sur un IDE entièrement différent le soir, c'est juste trop couteux. C'est pour ça qu'Apple doit se poser des maintenant la question sur ses outils de production de code pour ses plateformes iOS et OS/X. Sinon ce sera Android, pour tel et tablette, qui prendra la place de périphérique léger orienté web, de la maison à l'entreprise.
avatar setnan | 
Je vois mal un nouveau langage très diffèrent d'ObjC2 pariant plutot vers une v3. Pourquoi ? Ses possibilités de maitrise et de performance, les efforts, y compris récents, fait par Apple pour XCode 3.2.x et 4, etc.. Par exemple, les suivis des alloc d'objets dans Instrument y compris dans les sources, le "Build & analyse" (si vous vous dites "keskecé??" c'est bien dommage), les Class Models, ... Certes ils sont adaptables à d'autres langages mais.. L'ObjC2 est un langage vraiment intéressant, pour peu qu'on arrive à en saisir toutes les subtiliés (et à mon constat, c'est super rare :) ) Il y aura une évolution, obligé, mais pas pour tout de suite, et du moment qu'Apple ne reponde pas un AppleScript javanisant :)
avatar BeePotato | 
@ phoenix73 : « Objectif C est un frein pour pas mal de monde à commencer par les régiments de Javaistes. » « XCode 4 sera certainement excellent mais quand on fait du dev sous Eclipse/Netbeans/IntelliJ toute la journée, rebasculer sur un IDE entièrement différent le soir, c'est juste trop couteux. » Je trouve que ce frein est en fait un excellent filtre, permettant de ne conserver que les développeurs les plus motivés.
avatar marc_os | 
@ phoenix7 : Un "nouveau" langage à apprendre n'est un frein que pour les amateurs / bricoleurs, pas pour les professionnels. "De mon temps", dans les écoles d'ingénieur, un leitmotiv était qu'on nous apprenais à apprendre. Ne serait-ce plus le cas ? Si une personne dont le métier est le développement de logiciels pense qu'apprendre Objective-C est un frein pour elle, elle ferait bien de changer de métier.
avatar kripton | 
si seulement apple pouvait ressortir Dylan du placard... xcode accepte plusieurs langages. rien n'empeche de laisser objective c et d'ajouter d'autres langages comme ruby ou dylan ma foi...
avatar Yeux | 
Je programme en RealBasic et en Visual Basic. J'ai acheté plusieurs livres pour apprendre à programmer l'iPhone/iPad, et je n'ai toujours rien compris... Existe t'il "Objective C pour les nuls" en français ? Merci. *_* @+
avatar phoenix73 | 
Je ne connais pas beaucoup de professionnel du developement qui excelle à la fois en Java et Objective C et qui jonglent avec brio entre les IDE Java majeurs et XCode. Je serais plutôt enclin à penser que ceux qui croient ça facile, ne sont experts dans aucunes des 2 technos.
avatar spiritmac | 
Etant développeur en .NET C# et accessoirement en J2EE. Passer à l'objective-C c'est comme revenir 50 ans en arrière. On dirait vraiment un langage de dinosaure ... Autant Apple est à la pointe niveau technologies et design. Autant le code est moche moche moche et vraiment chiant à utiliser.
avatar marc_os | 
@ Yeux : Mon avis : Apprends d'abord le C. Car dans Objective-C, il y a C. Ce n'est pas un jeu de mots à deux balles, c'est la réalité : Objective-C est basé sur le C. Et il y a un concept qu'il vaut mieux maîtriser, ce sont les pointeurs. Tiens, ça me rappelle un anecdote : J'ai été amené récemment à épauler une "petite jeune" qui faisait sa première application pour iPhone. Assez douée, elle avait englouti pas mal de bouquins sur le Objective-C et le dev pour iPhone en particulier. A un moment, elle m'a demandé : « C'est quoi ce signe & devant certaines variables ? ». Avant, le seul langage qu'elle connaissant était l'ActionScript de Flash.... Je lui ai parlé de manière succiinte des pointeurs, tout en lui conseillant de se prendre un bon bouquin pour apprendre le C, surtout ce qui concerne ces pointeurs... Tu développes en VB. Les passages de paramètres par référence en VB sont dans ce langage ce qui rappelle le plus les pointeurs de C. A toi de creuser. Avec VB, au moins tu as des notions de programmation orientée objet; tout du moins, tu as manipulé des objets. Mais as-tu écrit des classes toi-même ? Sinon, ... un sujet à creuser aussi. @ phoenix73 : En école d'ingé (il y a longtemps), j'ai commencé par le Fortran et l'assembleur IBM. Si j'étais resté là, je serais à la rue aujourd'hui. Quand à maîtriser à fond deux environnement, ça n'est peut-être pas donné à tout le monde. Mais si tu as un bon bagage informatique, pourvoir changer d'environnement doit être faisable sans trop de difficultés. Au sujet de java / Obj-C, ce n'est pas comme si un dev java devait devenir un pro de Transac-SQL par exemple. Mais c'est sûr, il y a toutes les API spécifiques à apprendre, et pas mal de concepts dans Objective-C et Cocoa qui ne s'apprennent pas en une nuit; ni en se contentant de recherches d'exemples de code dans Google comme le font les jeunes aujourd'hui. C'est sûr, il faut savoir se poser [s]cinq minutes[/s] une heure ou deux, et... lire. Lire sans copier/coller, zut alors.

Pages

CONNEXION UTILISATEUR