Native Client, la technologie RIA de Google qui risque de faire long feu
La sortie de Native Client, une technologie encore expérimentale du Google Labs, est passée complètement inaperçue à quelques rares billets près. Le problème n’est pas que les blogueurs soient peu inspirés par cette nouvelle, mais plutôt que ce produit a tellement été mal présenté au public que personne ne sait trop à quoi ça va servir. Pour information il m’a fallu près de deux semaines de cogitation avant d’attaquer la rédaction de ce billet.
Pas réellement un concurrent de Flash ou de AIR
Force est de constater que ce nouveau produit est plutôt obscur, que les explications sont rares et que même les équipes à l’origine de ce projet sont incapables de fournir une explication claire (cf. Native Client: An OS in Your Browser). Pour faire simple, Native Client est une extension que vous installez sur votre ordinateur pour pouvoir exécuter au travers de votre navigateur des applications en ligne écrites en code natif (C ou C++). Si vous avez le courage vous pouvez toujours lire l’annonce officielle mais vous n’y apprendrez pas grand chose de plus : Native Client, A Technology for Running Native Code on the Web.
Ne vous y trompez pas, même s’il est beaucoup question de RIA, NaCl n’est ni un plugin à la Flash ou Silverlight, ni un runtime à la AIR. Ce n’est pas non plus une technologie qui exploite une machine virtuelle à la JavaFX et pour finir c’est encore moins un mini-système d’exploitation. En fait c’est un peu tout ça à la fois (bien que pas tout à fait). Lire à ce sujet : Why Google Native Client is not a Flash competitor.
En tout cas le moins que l’on puisse dire c’est que Native Client laisse un certain nombre d’observateurs avertis très sceptiques : Google Native Client: A Game Changer or an Also-Ran? et Google Native Client: web deluxe, or ActiveX redux?.
Avec Native Client ne gaspillez plus la ressource de votre processeur
Pour bien comprendre tout l’intérêt de Native Client (NaCl pour les intimes), il faut se pencher sur l’architecture des ordinateurs et surtout sur le fonctionnement des plug-in. Pour faire simple un ordinateur est composé de couches matérielles (la carte mère, le processeur, la carte graphique…) et de couches logiciels (le système d’exploitation, les applications…). Quand vous consultez une interface riche en Flash, celle-ci repose sur du code qui est interprété par le plug-in, par le navigateur, par le système d’exploitation et finalement par le processeur. Ce dernier traite l’instruction et remonte un résultat dans l’autre sens. Toutes ces couches sont autant d’intermédiaires qui traduisent, interprêtent et ne font que vous gaspiller de la ressource (mémoire et puissance de calcul). Voilà pourquoi les animations 3D exécutées dans Flash vous paraissent minables comparé à ce que votre carte graphique est capable de faire.
Avec Native Client, la promesse est de ne plus gaspiller cette ressource en évitant les intermédiaires (les différentes couches logicielles) et de faire en sorte que les applications en ligne exécutées dans votre navigateur ne soient que 1% moins lentes que celles qui sont installées sur le système d’exploitation. Lire à ce sujet l’excellent mais très technique article de Samy : Avec Native Client, Google invente l’OS dans le navigateur.
Si la promesse est belle (des performances sans commune mesure) et l’exploit technologie réel, il y a une contre-partie : les applications en ligne doivent être développées en C ou C++. Et c’est là où ça coince : le C et le C++ sont des langages de programmation contraignants qui ne sont pas réellement adaptés aux interfaces riches. Il existe maintenant de nouveaux langages beaucoup plus sophistiqués qui se sont imposés sur ce créneau avec des environnement de développement dédiés beaucoup plus productifs (à l’image d’Eclipse ou de Flex Builder). Donc concrètement pour bénéficier des performances de NaCl il faut revenir 20 ans en arrière et se réapproprier des langages qui font dramatiquement chuter la productivité. En clair il va vous falloir beaucoup plus de temps pour développer la même application. Tout ça pour quoi ? Pour de meilleures performances, mais est-ce que la performance est réellement un problème ?
PS : Ceci est une tentative naïve de l’auteur d’expliquer de façon simple le fonctionnement des ordinateurs pour pouvoir mieux comprendre la prise de position sur NaCl. Les premières versions de cette explication étaient approximatives et ont engendrés des commentaires très aggréssifs qui ont polués la discussion avec un débat de forme (”le C n’est pas mort et il est plus performant que Java”) au détriment d’une discussion de fond (NaCl est une belle avancée technologique mais qui ne trouvera pas forcément son public dans la mesure où les usages de l’outil informatique sont amenés à beaucoup changés dans les prochaine années, notamment avec les approches centrées sur la collaboration de l’Entreprise 2.0).
Le faux débat de la performance
Oui, la performance est importante, car il en faut pour faire tourner dans votre navigateur des applications équivalentes à ce que vous avez sur votre disque dur. Mais d’un autre côté est-ce que c’est un but légitime ? Traduction : Quel est l’intérêt de faire tourner Word 2007 dans votre navigateur quand un wiki peut vous apporter un bien meilleur service ? Quel est l’intérêt de faire tourner un mastodonte comme Photoshop dans votre navigateur alors que dans 90% des cas vous pouvez vous suffir de Photoshop Express ou de Picnick ?
Nous entrons ici dans la partie délicate de la discussion autour de NaCl, la partie où l’on va se rendre compte que cette technologie est surtout révolutionnaire pour les éditeurs de logiciels, pas pour les concepteurs d’interfaces riches. L’industrie du logiciel est en effet en train de se scinder en deux clans : d’un côté les applications lourdes (Photoshop, 3DSMax…) qui sont avant tout destinées à un petit nombre de professionnels spécialisés dans un domaine et nécessitant beaucoup de ressources (mémoire, puissance de calcul, capacité de stockage…), de l’autre des applications plus légères (SalesForce, Basecamp…) qui sont avant tout orientées collaboration et qui consomment très peu de ressources. Le modèle SaaS est donc parfaitement adapté à la seconde catégorie avec des technologies parfaitement maîtrisées (HTML + Javascript, Flash…) qui ne posent pas de problème de performance.
Vous pourriez me dire que le débat sur la performance est revenu sur le devant de la scène avec la mode des ordinateurs low cost (les EeePC et autres netbooks) qui ne disposent pas du tout de la même puissance de calcul. Pour ce segment bien particulier il serait intéressant de voir s’il est rentable d’adapter des applications desktop existantes pour les reformater aux contraintes de ces ordinateurs (petit écran…). Mais encore une fois la solution se trouve plutôt dans une nouvelle approche de l’outil informatique (avec les intranets wikifiés et les mashups d’entreprise) plutôt que dans l’exploit technique de faire tourner Office 2007 et Vista sur un EeePC.
Ceci est d’autant plus vrai que les dernières versions de navigateurs comme Firefox, Opera ou Chrome ont fait un bond spectaculaire et ont réussi à décupler les performances d’exécution de code Javascript. Et comme une bonne nouvelle ne vient jamais seule, les plug-in progressent aussi à pas de géant puisque Flash 11 et Silverlight 3 devront également marquer une nette rupture de performance avec une prise en charge beaucoup plus poussée de l’accélération matériel, donc un recours plus intensif aux composants hardware (notamment la carte graphique) et moins de gaspillage de mémoire. Ca ne vous rappelle rien ? Bref, toutes ces améliorations à venir nous font relativiser le gain de performance annoncé par NaCl. Mais bon… l’idée n’est pas neuve car Microsoft avait tenté d’introduire une technologie équivalente avec les fameux ActvieX (cf. Google Native Client : Un ActiveX-Like ?) et n’oublions pas non plus que le javascript a ses limites (cf. L’invasion des machines virtuelles).
Donc au final NaCl doit être avant tout considéré comme un environnement d’exécution et de déploiement révolutionnaire car il permet aux éditeurs de ne développer qu’une seule version de leurs applications et de les distribuer via le web (en évitant les circuits de distribution classique avec boîtes et DVD). Vous noterez au passage que cette solution n’a été rendu viable que depuis l’adoption d’une architecture commune (x86) par les constructeurs et éditeurs de système d’exploitation (Microsoft / Windows, Apple / Mac OSX, Linux). Pour en savoir plus sur le potentiel de NaCl dans ce domaine je vous recommande cet article de Louis Naugès : Web 2.0, Lla marginalisation, définitive, de Windows sur les PC.
C’est quoi déjà une interface riche ?
Mais revenons à nos moutons : les interfaces riches. Dans la vision de Google, les interfaces riches sont avant tout destinées à être exploitées dans le cadre d’applications en ligne. Mais cette vision est très réductrice car que fait-on des innombrables interfaces riches qui reposent sur de la vidéo, des animations, du son, des transitions et autres effets spéciaux ?
Même si Native Client intègre un moteur de rendu vectoriel, Flash (et dans une certaine mesure Silverlight) reste la technologie la plus appropriée et de très loin pour faire ce type d’interface. Est-ce que vous vous imaginez faire un carrousel, un configurateur ou un assistant au choix en C ou C++ ? Non bien évidement car ce n’est pas pour cela que ces langages ont été conçus. L’avantage de Flash est d’autant plus net qu’il est couplé avec un environnement de production parfaitement adapté à ce type d’interface ainsi qu’une infinité de bibliothèques prêtes à l’emploi pour gagner du temps. Vous noterez que l’approche de Google centrée sur les applications en ligne se vérifie également avec d’autres produits comme GWT, un framework Ajax qui est exclusivement tourné vers une logique applicative.
Bref, ce n’est pas demain que nous allons voir des studios de production comme 2advanced, Blitz, Megalos ou Soleil Noir abandonner Flash pour faire du C. Ces studios sont capables de faire des prouesses que le C n’autorise pas.
Conclusion
Si nous résumons :
- NaCl n’est pas un plug-in, c’est un projet encore expérimental qui n’est même pas en phase alpha ;
- NaCl n’est pas un mini-système d’exploitation, c’est un complément qui permet de court-circuiter des intermédiaires pour profiter des pleines performances du matériel ;
- NaCl n’est pas concurrent de Flash ou Silverlight qui sont bien plus performants pour faire de belles interfaces riches ;
- NaCl dépend de langages de programmation (C et C++) qui sont plus plus performant mais plus contraignant ;
- NaCl propose une approche tout à fait intéressante de la distribution de logiciels, mais les gros éditeurs disposent de leviers très puissants (accords cadres, partenariats, lobbying…) pour défendre leur modèle de distribution (et je ne parle pas que de Microsoft).
Voilà pourquoi NaCl va très certainement chambouler la longue traîne de l’industrie logiciel bien que cette technologie ne soit en l’état pas viable pour survivre sur le marché des RIA. Marché déjà bien encombré avec Flash, Silverlight, JavaFX ou des acteurs de niche comme Curl ou Unity3D (respectivement pour des applications en ligne d’entreprise et pour des jeux en 3D comme Cmune).
Reste donc deux possibilités : Soit Google fait fortement évoluer son produit pour le rendre réellement attractif (en expliquant clairement ce à quoi il sert et ce qu’il n’est pas), soit NaCl restera une expérimentation intéressante mais qui sera confinée à un usage interne chez Google.
Arrélien a dit :
Bonjour,
Tout d’abord merci pour ce billet qui propose une excellente explication.
Je te trouve un peu dur avec C++. Je pense qu’il s’agit d’une langage qui est encore beaucoup utilisé dans l’industrie du logiciel.
Gon0S a dit :
Ah, enfin un billet qui parle de NativeClient !
Votre analyse est forte intéressante, mais agaçante également.
Je suis bien d’accord avec vous que les langages de haut niveau actuellement à la mode sont bien plus “productif”, mais à quel prix ? Je trouve que vous vous retrancher vraiment derrière l’argument que la puissance ne cesse d’augmenter, donc pourquoi diable s’embêter à faire plus avec le même matériel.
Un exemple, si pour faire tourner une applis web 3D qui nécessite sans NaCl un monstre avec 4Go de RAM et un quad core, et que grace a NaCl, un simple PIII 1GHz et 512Mo fait le même boulot, je crois réellement qu’il y a un intérêt.
Ne serait que pour les terminaux mobiles par exemple. Si grace à NaCl, un EEEpc peut faire tourner sans broncher des applis web “3.0″, je vois pas quelle critique on peut en faire.
Après, il est évident que de nos jours, le trend actuel est plutôt de faire des trucs pas optimisé pour un sous et compter sur la croissance de la puissance des machines hôtes pour faire un truc à peu près potable.
Coup de chance que depuis l’avènement des firefox et autre navigateurs alternatif, on se penche enfin sur les performances d’exécution des scripts. On avance.
Donc bon, NaCl n’est peut être pas le saint graal, mais au moins il montre la voie.
PS : tient, au fait, combien d’année encore faudra t’il attendre un plugin 64bit natif pour flash (win ou linux)?
Simon White a dit :
Fred,
Assez pertinent comme analyse. Par contre, une chose qui n’est pas trop problématique pour la productivité, c’est la réutilisation de code existant en C/C++. Sans oublier que d’autres langages de programmation pourrait être rajoutés en mode interprété – enfin je suppose.
C et C++ sont encore très utilisés dans le monde open source; pléthore d’applis existent qui pourrait être recrées en version NaCl…
-Simon
Adrien F. a dit :
Pour résumer, NaCl apporte un peu de sel dans le navigateur, c’est ça ?
smithbob a dit :
Comme certains le font déjà remarqué je trouves que dire “le problème c’est que nous sommes maintenant en 2009, que la ressource n’est plus un problème et que plus personne ne programme en C” est un peu exagérée quand même.
pour moi le vrai intérêt de NaCl est qu’il donne accès à toutes les couches de l’OS et autres librairies tierces qui sont aussi encore beaucoup développé en C++ malgrès ce qu’on peut en penser. c’est à dire qu’on n’est plus limité au bon vouloir de adobe/microsft de bien vouloir exposé telle ou telle fonctionnalité/API dans leur langage haut niveau (AS3, C#, …). En gros en flash si je veux faire de la 3D/phyisque/… je dois développé le tout en AS3 ce qui n’est pas ce qu’il y a de plus performant même si les machines (physiques et virtuelle) vont de plus en plus vite. Faites du traitement d’image, reconnaissance, … en Flash et vous allez rigolé. C’est un sujet à la monde avec les demos de réalité augmentée que l’ont voit en ce moment et je peux dire qu’en Flash on est très loin de ce qu’on peut faire avec ce bon vieux C++ …
J’ai connu les débuts de Java et je trouves que même si il y a eu une grosse évolution on ne peux pas encore tout faire en Java, le C++ (ou autres langages compilé nativement) reste ce qu’il y a de mieux. Et puis normallement un bon programmeur devrait passé facilement d’un langage à un autre car au final il se ressemble beaucoup. Il y a que quelques “familles” de langages alors qu’ils existent beaucoup de langages.
désolé si c’est un peu hors sujet mais bon je me suis senti visé
(je suis pas si vieux en plus …. quoi que).
nico
Guillaume a dit :
Bonjour, Fred,
merci pour ce billet qui remet beaucoup de pendules à l’heure (dont la mienne.;
Mes interrogations portent plus sur les possibles restrictions d’usages: à force de vouloir bypasser l’OS, le risque alors est vraissemblablement de se voir opposer à un blocaqge total et non conditionnel de la part des admins et/ou rssi. J’aimerai bien avoir ton avis là-dessus…
J’en profites pour faire un lien vers un article complémentaire:
http://www.netetcom.fr/blog/la-bataille-du-poste-client-round-ii-silverlight-ou-la-riposte-ria-de-microsoft/
Bonnes fêts à tous(tes) !
Julien CROUZET a dit :
Fred,
Autant ton expertise Web n’est pas remise en cause, autant tu devrais éviter de glisser sur des terrains ou tu n’y connais rien…
La phrase “Le problème c’est que nous sommes maintenant en 2009, que la ressource n’est plus un problème et que plus personne ne programme en C.” fait et fera dresser les cheveux sur les têtes de geek longtemps.
Tout (vrai) développeur code encore en C, tout les langages “sophistiqués” dont tu parles sont eux-même développés en C / C++, et désolé de te contredire, mais les ressources systèmes SONT ENCORE une denrée rare. Et même si elles l’étaient, ce n’est pas une raison pour les gaspiller. Tout vas dans le sens de l’optimisation, c’est utile pour progresser dans le bon sens.
Cordialement,
Eric E a dit :
J’aurais bien aimé voir une analyse un peu poussée ActiveX / NaCL
D’après ce que je comprends la principale différence est que l’un est une techno microsoft/windows et que l’autre se veut universelle (mais bon, je voudrais bien voir les possibilités offertes à du code NaCL qui doit à la fois tourner sous Vista, OS X et linux…)
Kolia a dit :
@ Adrien F. :
pour l’élégance…
Delapouite a dit :
NaCl, c’est mignon comme surnom : Chlorure de Sodium. Du sel quoi.
Jok a dit :
Hahaha, plus personne ne développe en C
Celle la, elle est tres marrante.
Le kernel linux, c’est du C, 90% (pour pas dire plus) des applis opensource sont développées en C, exception faite de la branche C++ qui est largement due a QT et KDE.
Plus encore, coté serveur http (Apache httpd/lighthttpd), c’est du C.
Coté proxy http, encore du C… Et certains (pour ne pas dire de nombreux), éléments des navigateurs, sont entierement développés en C: la zlib qui permet la compression des flux http, openssl pour la crypto… ces projets sont encore actifs (moins zlib qu’openssl mais tout de même…)
Loin de moi l’idée de ridiculiser l’article dans son intégralité ou même de troller (la tentation est grande), mais il faut mesurer la portée de ses propos. HTTP repose, par le biais de nombreux éléments de l’architecture, sur ce langage, et il y a fort a parier que Google veuille ainsi attirer les développeurs du monde “server” et bas-niveau vers le coté application “client”.
mes 2 cents.
Darky a dit :
Julien CROUZET a totalement raison.
l’analyse commençait bien mais si tu prends si vite un point de vue erroné..
Frédéric CAVAZZA a dit :
@ Gon0S > Très juste, le segment en ébullition des netbooks justifie à lui seul la sortie de NaCl. Je vais compléter mon billet dans ce sens.
@ Julien CROUZET > Quand je dis que plus personne ne développe en C c’est une image. Bien évidement qu’il existe de nombreuses personnes qui connaissent le C, mais est-ce une réalité de marché ? Illustration : je n’ai aucun mal à trouver un bon développeur PHP sur Paris à 750 € la journée (500€/j. au Maroc et 250$/j. en Inde), peut-on en dire autant des développeurs C ?
De plus, il y a bien longtemps que la filière informatique ne forme plus les étudiants au C de façon intensive, c’est un langage qui est étudié dans les premières années mais les formations se concentrent sur des langages qui offrent un maximum de débouchés aux jeunes diplômés (Java, PHP…).
Et sinon oui, l’optimisation des ressources va vite devenir un sujet central, surtout avec la mouvance GreenIT. De là à dire que c’est la motivation principale de Google…
/Fred
oxomoxo a dit :
Je crois que j’ai rarement vu autant de contre vérités et d’allégations prouvant la pure ignorance du rédacteur dans un mème billet. Deux semaines !?
Que FC n’ait rien compris à ce qu’est un language de programmation, et qu’il croie que le monde est géré par un plug-in wordpress semble lui conférer la légitimité de jouer les cassandres et de predir l’echec d’une technologie qui produit une avancée que même macromedia/adobe n’ont pas réussi à mettre en oeuvre en 10 ans …
NaCl n’est autre qu’un environnement d’execution multi-plateforme offrant pour la première fois à des applications développées par des tiers un accès direct et sécurisé aux cartes graphiques avec un niveau de performance cohérent avec ces dernières … rien de plus, le comparer à Flash ou Air est un non-sens.
Il est ahurissant de voir comment FC se sentant obligé d’écrire sur un sujet auquel il n’entends rien, ait choisi de le saborder l’initiative avant même d’avoir la plus pâle idée de quoi il s’agit.
En attendant que les legions de marketting guys de chez Google n’en n’aient prémaché le discour commercial il aurait été plus digne de s’abstenir plutôt que d’écrire des phrases comme : “Le problème c’est que nous sommes maintenant en 2009, que la ressource n’est plus un problème et que plus personne ne programme en C”. C’est grotesque ! C’est précisément parcequ’il y a encore plein de bons developpeurs C/C++ que la consommation des ressources n’explose pas de façon exponentielle, et que FC peut voir son pointeur de souris bouger a plus de 60 frames par secondes plutôt qu’a 3 secondes par page.
Performance ? Vous avez dit Performance ? Le fait que Firefox, Chrome, et Flash soient eux aussi en quette de performance montre bien qu’il s’agit d’une problématque majeure dernièrement, pas du tout un faux problème …
En réponse à la vision prétenduement réductrice de Google il y a celle de FC qui nous dit en somme “A quoi bon profiter de nouvelles applications innovantes aux performances décentes (mon ordi n’est plus à genoux lors que j’ouvre tel ou tel site) puisqu’on est en ligne et que de toutes façons, qui voudrait bien faire autre chose en ligne que de composer des mails ou acheter des mp3 hors de prix…”
Quel absence de vision ! C’est précisément là où Quake et Saas se recouvrent que se place NaCl… Du sel pour les devloppeurs, de la grande cuisine pour les utilisateurs.
A++
Kell a dit :
“@ Julien CROUZET > Quand je dis que plus personne ne développe en C c’est une image. Bien évidement qu’il existe de nombreuses personnes qui connaissent le C, mais est-ce une réalité de marché ? Illustration : je n’ai aucun mal à trouver un bon développeur PHP sur Paris à 750 € la journée (500€/j. au Maroc et 250$/j. en Inde), peut-on en dire autant des développeurs C ?
De plus, il y a bien longtemps que la filière informatique ne forme plus les étudiants au C de façon intensive, c’est un langage qui est étudié dans les premières années mais les formations se concentrent sur des langages qui offrent un maximum de débouchés aux jeunes diplômés (Java, PHP…).”
Alors là…. bigre. Monsieur Cavazza, êtes vous sûr de bien connaitre le marché des développeurs ? Des développeurs C++ y’en a partout, mais alors vraiment partout ! D’ailleurs, je rigole bien de lire, qu’il est facile de trouver un dev php, et difficile de trouver un dev C/C++, alors que la plupart des applications desktop sont toujours programmées en C++… En passant, heyho, PHP est un dérivé du C/C++, il a hérité de tous ses défauts, sans hériter de tout ses avantages…
Les langages CC++ sont les langages les plus utilisés au monde avec le Java. (cf : http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html). Et je ne sais pas d’où vous sortez que ce n’est plus enseigné avec priorité dans les écoles… Certes, on donne une part aujourd’hui plus importante aux autres langages, mais il n’en reste pas moins que souvent le langage C est le plus étudié, par rapport au temps passé pour étudier les autres langages.
Donc, vous avez beau jeu de dire que c’est une image, non ce n’est pas une image, au mieux c’est une exagération, et au pire c’est une éxagération tout à fait erronée. Ce n’est pas parce que vous ne cherchez jamais a recruter des proggys CC++ que personne ne le fait.
Bien à vous.
Nicolas F. a dit :
Z’êtes dur quand même… Pour ma part, je dirai que ce que l’auteur a voulu dire, c’est que de nombreux développeur sont passé à PHP/JS/AS/Java sans passer par la case C ou si vite…
D’où l
Nicolas F. a dit :
D’où l’aspect pas si universel que ça de NaCL.
Désolé pour le comm scindé, mais j’ai rippé sur Tab + Entrée
Xavier a dit :
Si pour les applications on peut croire en surface que Java et C# remplacent avantageusement C ou C++, il reste qu’il n’est pas aujourd’hui concevable de concevoir un système d’exploitation ou même une quelconque application desktop sérieuse dans un langage comme Java ou C#. Java tourne bien côté serveur grâce à certaines évolutions, cela dit.
Alors oui, bien sûr, pour créer un site en PHP, ça, y’aura toujours des millions de lecteurs de “Apprendre PHP en 24H” pour répondre présent. Idem pour un bête convertisseur d’image en C#, ou un Démineur en Java.
Par contre, s’il s’agit d’écrire Photoshop, 3DS Max, World of Warcraft (non, il n’est pas codé entièrement en Lua) et autres jeux vidéos PC/console, les applications téléphoniques… là je pense qu’il y aura beaucoup moins de monde au portillon – et surtout, pas beaucoup capable d’écrire “expert” sur leurs CV. Toutes ces chouettes applis iPhone ? Ecrites en Objective-C.
Google est tellement écrit en Python tout partout qu’ils ont diffusé leur framework de test C++ il y a 5 mois, et leur Mocking Framework il y a, oh, 10 jours… Faut-il mentionner leur guide de style pour C++ et celui pour Objective-C ?
Dans le classement TIOBE, Java est certes premier, mais C et C++ ensemble le dépassent tranquillement – et C# a autant d’importance qu’IE6 sur n’importe quel blog.
Pat a dit :
J’ai trouvé cet article particulièrement brouillon et aussi plein de non-sens.
Merci oxomoxo pour ce commentaire qui m’a éclairé sur ce qu’est NaCl.
J’avais du mal à comprendre la différence entre un contrôle ActiveX écrit en C/C++ (si, si, ça existe encore quoiqu’en pense l’auteur de ce billet), et un machin tournant sous NaCl.
Si j’ai bien compris, la différence, c’est qu’un machin tournant sous NaCl est portable (heu? vraiment portable? là c’est un mystère pour moi, du C compilé qui soit portable…)
Frédéric CAVAZZA a dit :
Visiblement les redresseurs de tors anonymes sont venus en masse…
Je suis stupéfait par l’agressivité des commentaires de certains qio prennent à malin plaisir à déverser leur frustration tout en se cachant derrière de bien pratiques pseudonymes. Est-ce l’effet cumulé de la baisse du pouvoir d’achat, de la crise et de l’hiver qui vous pousse à vous défouler ainsi ?
Il n’est pas question dans ce billet de comparer Java à C++ mais de porter un jugement sur NaCl en tant qu’alternative aux autres offres RIA existantes. Si vous cherchez le débat allez donc le trouver sur des forums de développeurs, mais pas ici.
Je comprends tout à fait la décision de Pierre Chappaz de prendre ses distances vis à vis de cette blogosphère polluée. Et je me demande vraiment pourquoi je me suis donné du mal à écrire ce billet et à rompre ma trêve hivernale…
/Fred
Frédéric CAVAZZA a dit :
Dans le doute (et par conscience professionnelle) je reformule mes propos :
- NaCl n’est pas un plug-in ou une offre de RIA “traditionnelle” comme il en existe déjà sur le marché ;
- C’est une technologie avec un très gros potentiel mais qui va surtout intéresser les petits et moyens éditeurs de logiciels (les gros ayant d’autres batailles à livrer) ;
- NaCl enfonce Flash en terme de performances d’exécution mais Flash écrase NaCl en terme de productivité quand il s’agit de développer une interface riche qui n’est pas un logiciel en ligne ;
- NaCl ne parviendra pas à percer si Google ne se décide pas très vite à marketer convenablement ce produit en expliquant très clairement ce que c’est et surtout ce que ce n’est pas.
/Fred
p4bl0 a dit :
@Fred Cavazza : Le commentaire de Xavier par exemple est on ne peut plus censé (bien plus que le billet en tout cas mais c’est pas ultra dur) et il n’est pas anonyme du tout.
De même que celui de Kell qui même s’il utilise un pseudo à une photo donc une vrai adresse email qui lui correspond : pas anonyme et plein de bon sens.
Ce que tu dis dans le billet est simplement faux, on NE PEUT PAS se passer de vrai langage comme le C et le C++, qui survivront très certainement à Java, C# et autre Pythonerie comme ils ont déjà survécuent à de nombreux langages, tout simplement parce qu’ils sont puissant et vraiment bien.
Mais personne t’en veux non plus, justement tu as écris ton post sur ton blog et les commentaires sont ouvert ce qui permet le débats et entre autre les corrections du billets, personne n’est censé être omniscient (sauf JFM, private joke (JFM est un prof un peu trop prétencieux, il nous a même sorti qu’il a inventé QuickSort des trucs comme ça ^^)).
jean a dit :
le problème de ton article c’est ton postulat que le c/c++ est dépassé que PERSONNE ne l’utilise plus alors que c’est une contre vérité ENORME, flash est écrit en quoi ? je doute qu’il soit écrit en flash
Didi a dit :
“Avec Native Client faite une croix sur 20 ans d’évolution des langages de programmation”
“De plus, il y a bien longtemps que la filière informatique ne forme plus les étudiants au C de façon intensive, c’est un langage qui est étudié dans les premières années mais les formations se concentrent sur des langages qui offrent un maximum de débouchés aux jeunes diplômés”
Je suis désolée car je n’ai pas tout lu dans le détail (aussi bien l’article que les commentaires) mais quand je lis cette réflexion ou certains passages dans l’article, je ne peux que sentir tous mes poils se hérisser (si si je vous assure).
Je suis jeune diplômée.
Et la première chose que j’ai apprise en math info (à la fac donc… Pas en école ou autre truc spécialisé), c’est réaliser un algo et programmer en C++. Et j’en ai mangé du C++ !
Alors à moins qu’en 5 ans l’enseignement est à ce point changé ses programmes, on ne peut vraiment pas dire que cette affirmation soit fondée.
Quand on sait programmer en C/C++, on sait programmer quasiment dans tous les autres langages (avec un temps d’adaptation, je vous l’accorde mais c’est comme changer de voiture).
Mais quoi qu’on en dise, NaCl est un un excellent produit et il a toutes ses chances sur le marché. Et le fait qu’il soit en C/C++ ne sera en rien un frein… Peut-être même que ce sera l’inverse. Qui sait ?
ManuR a dit :
Très intéressant tout cela. Merci pour cet article FC, même si vous avez eu quelques commentaires un peu “rugueux”, je trouve que cela est assez constructif quand même. Étant (ou ayant été) un développeur C en entreprise, je peux certifier que c’est un langage très utilisé, très structurant mentalement parlant, et je pense qu’il est impératif qu’il soit toujours enseigné.
Sinon concernant NaCL, je trouve quand même que c’est un tendance de fond des acteurs de pouvoir optimiser et exploiter au mieux les ressources de la machine cible.
On va peut-être avoir des interfaces riches ++. Tiens, je vais me remettre au C…
Julien CROUZET a dit :
Fred, ce n’est ni des insultes, ni un redressement de torts (et encore moins anonyme).
Je veux juste dire par là que non, C/C++ ne sont pas des langages obsolètes.
1) Le marché des développeurs C++ (et C dans une très moindre mesure) est loin d’être un désert, consulte les job boards.
2) TOUTES les écoles dignes de ce nom enseignent encore le C/C++ de manière plus ou moins intensive. Et je dirais même que le seule moyen d’être un bon développeur est de maîtriser cette brique de base.
3) C/C++ restent quand même la référence en matière de code portable (je parle d’architecture), ce qui reste un must quand on parle de développement.
4) Le C est derrière (directement ou non) 90% de ce qui se fait dans le merveilleux monde du Web, de la couche applicative en passant par la couche réseau, j’en passe et des meilleures.
Je doute, à la lecture de ces lignes, que tu sois très calé dans ce qui touche au développement. Il est dommage que tu t’aventure sur ce terrain avec des avis aussi tranchés (surtout quand tu as tord).
Daniel Glazman a dit :
Fred, désolé mais ils ont raison. Entièrement. Et ton article et tes réponses aux commentaires ci-dessus sont, désolé de de voir le dire, franchement à côté de la réalité du marché. Tous les cursus informatiques, j’insiste TOUS, enseignent encore C et C++. Comme lex et yacc. Les développeurs c/c++ sont présent fortement sur le marché. Environ 80% des logiciels que nous utilisons tous au quotidien sont en c, c++, objective c ou c#. Et on ne fait pas une industrie du logiciel de haut niveau sur JS ou ROR.
Oncle Tom a dit :
C’est pas le PC qui travaille ? Native Client récupère les données (compilées ou pas, je ne me souviens plus) et les exécute sur l’ordinateur.
C’est certainement pas un concurrent de Flash (car il faut programmer en Flash). Avec Native Client on code en ce qu’on veut … C++ compris.
Le port de Quake est d’ailleur parlant à ce niveau.
Pour moi c’est de l’ActiveX 2.0 : on exécute un programme dans le navigateur (qui accède au système faut-il le rappeler) et y’a plus qu’croiser des doigts pour que ça dérape pas … or c’est principalement pour ça qu’ActiveX a été trainé dans la boue.
C’est beau sur le papier, on va tout faire dans le browser mais … je ne le sens pas.
Nicolas Bartoli a dit :
Intéressant article et commentaires d’autant plus. Je crois que Fred n’a pas le profil technique et il a probablement une vision plus globale de l’évolution informatique. Les commentaires proviennent, je pense, pour une grande partie de développeurs purs CAD apprentissage C/C++ > Java > PHP/Asp (voir autoformation).
J’ai aussi suivi ce parcours dans mes études et je ne suis pas vieux mais je pense aussi que certaine formation (universitaire / école) rattrapent le retard sur la demande PHP/asp du marché et propose ce type de matière donc forcement au détriment d’autres (probablement le CC++). Fred n’a fait que le décryptage peut-être un peu caricatural de la réalité du marché et a tenté d’expliquer une technologie pas forcément très claire.
Même si des éléments de l’article m’ont surpris, je constate aussi que certaines dev réagissent comme des «maçons», susceptibles et agressifs lorsqu’on égratigne leur domaine, dommage.
Frédéric CAVAZZA a dit :
@ Julien > La question n’est pas d’avoir tord (ou raison) mais d’exprimer un avis. Puis-je te rappeler que tu es sur un blog tenu par un être humain, pas sur une bible de l’informatique.
J’ai modifié mon article pour que la lecture en soit plus simple et pour qu’il n’y ai pas d’ambiguïté sur mon point de vue : je n’ai jamais dit que C et C++ étaient obsolètes mais qu’ils n’étaient pas du tout adaptés à la réalisation d’une interface riche (du moins beaucoup moins que des environnements dédiés comme Flash Pro).
Cette discussion me gonfle car on est en train d’y faire le procès de Java et de C# alors que le coeur du débat porte plus sur les usages et sur une approche plus subtile de l’outil informatique en entreprise (grosses applications bureautiques vs. wikis ou espaces de travail collaboratifs) ou dans un contexte de divertissement (jeux ultra-gourmants en ressources à la Far Cry 2 vs. Casual games ou MMO dans le browser).
/Fred
Julien CROUZET a dit :
Je partage tout à fait certains points de ton analyse, et je pense que beaucoup ici aussi.
La réaction portait sur un avis trempé comme “Le problème c’est que
nous sommes maintenant en 2009, que la ressource n’est plus un problème et que plus personne ne programme en C.” qui était une phrase non seulement fausse (deux hérésies en une phrase), mais aussi insultante pour certains. Je ne suis personnellement pas touché, je ne fais plus de C/C++ depuis presque une décade.
Ce n’est pas le procès de JAVA, qui n’est plus à faire, mais la défense de C/C++ en tant qu’acteur proéminent mais souvent dénigré.
Au dela, oui ce blog est édité par un être humain, il est de qualité, et si tu t’es senti offensé ou énervé par mes commentaires, désolé, ce n’était pas le but.
Bonnes fêtes tout de même !
Frédéric CAVAZZA a dit :
Merci Julien pour ce dernier message.
Difficile de défendre C/C++ dans un contexte RIA, surtout face à des acteurs historiques comme Macromedia / Adobe. C’est en résumé la teneur de mon billet et j’espère que la ré-écriture de certains paragraphes profiterons à la discussion car le sujet n’est pas simple et les enjeux vont bien au-delà de “simples” considérations sur la performance ou sur la qualité d’un langage vis à vis d’un autre.
Sur-ce bonnes fêtes également, je m’auto-déclare en vacances.
/Fred
J a dit :
Vous m’avez l’air très peremptoire, pour quelqu’un qui dit autant de contre-vérités.
Sans etre exhaustif, le C/C++ sont *loin* d’etre morts comme indiqués plus haut (on peut parier que 90% des applications qui tournent actuellement sont ecrites en C/C++, y compris les … interpreteurs JS, votre client flash, etc), que vous parler de “contourner le systeme d’exploitation”, ce qui est non seulement impossible, mais tout simplement idiot (sans OS, vous n’affichez rien a l’ecran, vous ne faites pas de multitache, j’en passe et des meilleures), un processeur ne comprend absolument pas l’assembleur (d’ou le mot assembleur, qui permet … d’assembler un language a peu pres lisible en suite justement de 0 et de 1 que le processeur comprend) etc etc etc.
Ne venez pas me dire que vous simplifiez, car vous dites clairement des choses fausses. Vous induisez vos lecteurs en erreur a chaque phrase, un peu plus de rigueur (et de connaissance du sujet) serait peut-etre utile.
Et Joyeux Noël.
oxomoxo a dit :
On ne juge pas ici des qualités comparées de tel ou tel language mais de la capacité de FC à écrire des phrases lapidaires sans aucun fondement.
Le moteur 3D qui tourne derrière la demo quake c’est pas celui d’NaCl, c’est réellement celui de quake, en fait cette démo c’est le code source de Quake compilé pour NaCl, par l’extention du compilateur gcc d’NaCl qui est du reste la clé de voute de la techno à l’heure actuelle.
Comme le dit l’intitulé du document de recherche “Native Client: A Sandbox for Portable, Untrusted x86 Native Code” il s’agit bien de code portable et d’environnement securisé pour l’execution de code tiers …
La seule chose à dire à propos d’NaCl dans le contexte RIA c’est qu’NaCl n’a rien d’une Interface Utilisateur et qu’a fortiori elle n’est pas riche …
Si en revanche je peut me permettre une hypothèse à propos d’RIA c’est qu’à l’instar de la demo Quake les nombreux codeurs de moteurs 3d et autres demomakers ont là une fantastique ocasion de porter leur code sous NaCl affin qu’un public plus large ait accès à leurs travaux. Peut être en émergeront de nouveaux outils qui vont pourraient finalement faire sortir Flash de sa zone de confort …. Cette video qui est une capture de code executé en temps réel met en oeuvre un moteur vectoriel qui n’a rien à envier à flash selon moi…. Time will tell.
Bonnes vacances.
A++
Hubert a dit :
Ben moi je m’étais désabonné de ce blog mais je réabonne derechef, c’est vraiment trop drôle
Antoine a dit :
Très honnêtement, personne n’a vraiment tord : les uns parlent d’applications desktop et évidemment que C/C++/C# sont des langages majeurs, d’autres – dont Fred – parlent d’applications en ligne et là clairement RoR, Django sont clairement devant C*. Une excellente vidéo pour étayer le point de vue de Fred :
http://video.google.com/videoplay?docid=6297126166376226181
Antoine a dit :
:s/tord/tort Humpf.
Daniel a dit :
Je coinche sur la polémique du C
Par contre je remarque que la premiere phrase de cette note s’applique quand même a beaucoup de technologies de Google
Google moon aussi j’ai beaucoup de mal à voir à quoi ça va servir…
Tijuan a dit :
je suis atterré de voir comment on peut prendre une si infime remarque dans billet aussi exhaustif en explications pour lancer des commentaires pareils… J’ai du mal à passer le pas pour ouvrir mon blog… je crois que çà sera pas pour 2009.
Sur ce, Bonnes fêtes, merci pour ce Billet Riche en NaCl qui montre à tout le monde que …. t’es incapable de faire un vrai break
Frédéric CAVAZZA a dit :
@ Tijuan > Bien vu, c’est effectivement une bonne leçon que je viens de prendre, ça m’apprendra…
/Fred
jean a dit :
Tijuan faut dire que maintenant que le billet a été expurgé des paragraphes qui posaient à juste titre problème la “polémique” n’a plus vraiment lieu d’être.
C’est dommage de ne pas indiquer que le billet a été “retouché”, dans des cas comme celui-ci le plus propre est de simplement barré le texte que l’on renie, car maintenant si le billet est plus équilibré les commentaires ne sont plus trop raccord
Bruno Leroux a dit :
Fred, merci pour ton analyse de NaCl.
Je comprends ton agacement face au ton de certains commentaires. Qu’oxomoxo t’attaque sur ton manque de maîtrise technique dénote un manque total de tolérance ! J’ai personnellement un profil technique et ce qui me plaît dans tes analyses c’est que tu abordes les choses d’une façon différente.
Sur le fond je ne suis pas toujours d’accord mais l’effort que tu fais pour formaliser et partager ta pensée est très intéressant, que ceux qui considèrent que tu écris des choses fausses ou qui ne partagent pas ta vision prennent le temps de formaliser la leur, ça nous permettra de disposer de plusieurs points de vue sur un sujet ce qui ne peut être qu’un avantage.
Ceci étant dit j’espère qu’une discussion sur le fond (NaCl) est possible (cf mon commentaire suivant)
Bruno Leroux a dit :
@Oxomoxo : Côté performances, tu semble convaincu que NaCl est la panacée ? Peut-être mais pour quels types d’applications ?
Des jeux, de la 3D ? Mais apparemment NaCl étant basée sur une analyse statique, il impose des contraintes assez fortes sur les applis, par exemple impossible de faire de l’OpenGL ! (cf http://groups.google.com/group/native-client-discuss/browse_thread/thread/4f45298cb6f0639a#)
Donc pour faire une démo avec Quake 1 pas de pb (avec Quake 3 ça ne serait pas possible). A priori ce n’est pas demain qu’on prendra n’importe qu’elle appli en C/C++ pour la compiler en x86 fonctionnement directement sur NaCl.
Autre problème de NaCl: je n’ai pas vu mention de fonctionnalités liées au téléchargement des applications (comment reproduire la notion de librairie partagée ?). Ce qui signifie que les applications x86 exécutées par NaCl doivent être téléchargées d’un bloc ? Sachant que la cible de NaCl serait des applications complexes ça me semble un gros pb (combien de Mo pour un jeux 3D).
Je crois aux besoins d’applications ultra-performantes et optimisées pour certains besoins et donc à l’intérêt de C et C++, mais je ne vois pas l’intérêt de vouloir les exécuter dans un navigateur.
Pour terminer après relecture de l’analyse de Fred je la trouve très pertinente (il faut juste remettre dans leur contexte les quelques affirmations sur C/C++ et prendre en compte le ‘background’ de Fred).
David Serrault a dit :
Bravo a Fred pour avoir mis le doigt sur un point particulièrement sensible de la création multimédia actuelle, provoquant ainsi pléthore de réactions parfois agressives et ce n’est pas étonnant. Durant mon parcours professionnel, j’ai plusieurs fois assisté a des discutions assez vives dont la teneur était sensiblement identique a ce que je vois ci-dessus, tant dans le billet que les réactions d’ailleurs. Je pense qu’il reste en effet un abime culturel entre les tenants du développement informatique pur et dur d’une part et ceux du multimédia d’autre part. Nous sommes bien la face a deux systèmes de valeurs, des compétences et des méthodologies professionnelles différentes.
Un concept comme Native Client pourrait-il les réconcilier ? J’aimerais bien ! Le Web aurait beaucoup à y gagner. Mais ce n’est sans doute pas tant une question de technologie que la capacité de professionnels d’horizons différents à communiquer et a s’entendre sur un but commun.
Merci Fred pour ce billet et Joyeuses fêtes a tous !
Cedric Sadai a dit :
Certains développeurs font preuve d’une telle fermeture d’esprit quand il s’agit de leur domaine de compétence, et d’un tel élitisme qu’il ne faut pas s’étonner à ce qu’aucun programmeur ne parvienne à créer de la valeur s’il n’est accompagné d’une personne commerciale ou marketing. En bref, il faut se rendre compte qu’à un moment, savoir comment fonctionnent les choses n’est pas suffisant à les faire avancer, et que la connaissance de la machine ne vaut pas encore la connaissance humaine, qui conduirait pourtant à vite comprendre que l’auteur n’est pas un programmeur mais un vulgarisateur qui saisit les contours et n’a pas besoin d’en savoir plus, car lu par 99% de gens qui conduisent leur voiture sans vouloir comprendre le fonctionnement de leur carburateur. Et au final, on se demande qui facture ses heures de consulting le plus cher…
Pour rester dans le sujet, Native Client c’est les prémisses de l’OS Google, une nouvelle brique open source qui va permettre à la communauté de faire encore les 3/4 du boulot (vous allez voir dans les prochains mois un pseudo concours google code.. qui a parlé de pigeonnerie?), et de faire mûrir le systeme jusqu’a ce qu’il soit bulletproof. Si Google maitrise un art, c’est bien celui d’exploiter la psychologie du nerd, et en lui lachant des bribes de validation il fait avancer et développer ses produits à moindre cout… ils font meme des conférences (google talks) pour expliquer en substance que les nerds s’emmerdent et manquent de confiance en eux, et que pour eux, passer leur journée à travailler bénévolement pour une cause qui comble ces déficits est interprétée comme un engagement légitime… Mais ca, le programmeur pur et dur ne voudra pas l’entendre.
Frédéric CAVAZZA a dit :
Bon… j’ai comme l’impression que nous perdons le contrôle de la situation ! Si la discussion dérape plus encore je serais obligé de fermer les commentaires et de faire le ménage.
Merci pour les auteurs des derniers commentaires qui font l’effort de comprendre le fond du billet et d’y apporter leur point de vue.
/Fred
Mathieu a dit :
J’ai lu avec attention ce billet dès sa parution et j’étais certain qu’il allait engendrer un déluge de commentaires plus creux les uns que les autres et n’ayant pratiquement aucun rapport avec NaCl.
Comme le dit FC lui-même, ce n’est pas une bible de l’informatique. Il faut le lire avec du recul et en tenant compte du contexte : FC est un consultant web, il y a tout à parier qu’il n’a aucune vision sur ce qui se pratique en industrie. En tant que consultant web, les technos phares sont java, php, flash/silverlight, GWT, etc. On peut même supposer qu’il n’a pas de connaissances techniques pointues sur ces technos. A ses yeux, les ressources C/C++ “doivent” être rares.
Comparées aux ressources PHP disponibles je comprends également qu’elles peuvent le paraître (J’ai été moi-même développeur C/C++), le PHP étant une techno tellement facile à s’approprier rapidement.
C’est en ce sens que ce billet est intéressant : Comment perçoit un consultant Web cette nouvelle techno alors que Google l’a encore très peu commenté ?
Bonne résolution pour l’année prochaine : Arrêter de blogguer ou ne plus s’attaquer à des débats qui peuvent déchaîner les foules
–
Billet de l’ami sami extrêmement intéressant :
http://www.dng-consulting.com/blogs/index.php/2008/12/10/avec-native-client-google-invente-l-os-d?blog=1
Romain Verdier a dit :
D’aucuns pourraient penser que ces commentaires sont drôles, à défaut d’être percutants.
Max a dit :
Je suis tout à fait en phase avec le raisonnement de Fred. Je tiens à le soutenir, car je ne comprends pas la virulence de certains commentaires.
Il faut distinguer les usages des langages.
Je précise ma pensée : les langages de scripts : AS, JS, Php, sont utilisés par les agences Web missionnées par leurs clients pour développer des interfaces évoluées en un minimum de temps en se basant sur des logiciels écrits par des éditeurs (comme adobe ou microsoft) en langages de “bas niveau”, en général du C ou C++ qui eux doivent être optimisés et performants.
Ces deux catégories de langages sont fait pour des publics differents.
Je fait l’hypothèse que l’avenir de NaCl, est donc, peut-être, de faire tourner plus rapidement les animations flash ou Silverlight, qui ne seraient plus exécutés au sein d’un plug-ins, mais dans NaCl directement.
Adobe nous reserve une version du plug-ins flash pour NaCl ? Il est vrai qu’une animation Flash, a toujours du mal à bien tourner quand il y a bcp d’objets, des transitions, des transparences, … Votre avis m’interesse.
J a dit :
@Max : Tout ceci n’a rien n’a voir, d’où le tollé technique. Les transparences par exemple sont des ‘effets’ programmés en … C (ou C++). Ils tournent nativement, on aura beaucoup de mal a faire plus rapide (ils utilisent maintenant pour les version recentes de Flash la carte graphique, mais ce n’a pas toujours été le cas).
Que l’ont soit d’accord sur une chose : Native Client ne peut *pas* être plus rapide qu’un plugin à-la Flash. Par contre, la programmation DANS Flash utilise une virtual machine Javascript. En clair : Flash est écrit en C, C++, peut être meme assembleur, et ne peut, a algorithme equivalent, être plus lent que Native Client. La programmation de Flash par contre, se fait en javascript, la est toute la difference.
Tout ça pour dire que cet article est ecrit par quelqu’un qui ne connait pas le sujet, tout le monde sera d’accord, mais qui pourrait poser des questions importantes. Malheureusement, ce n’est pas le cas. Mais regardez … plus on raconte de conneries, plus on a de visites !
Bruno Leroux a dit :
@J : puisque tu adoptes un ton méprisant évites de dire n’importe quoi genre ‘la programmation dans Flash utilise une virtual machine Javascript’ et ‘la programmation de Flash, se fait en javascript’. Renseigne toi et soit plus tolérant c’est utile dans la vie pour apprendre des autres.
J a dit :
Tiens, a part des problemes semantiques, je ne vois pas “n’importe quoi”.
Javascript == Ecmascript == ActionScript, au niveau du language. Precise donc ta pensée, cela serait peut etre utile aussi.
Bruno Leroux a dit :
Javascript == ActionScript si tu veux mais dans ce cas n’accuse pas Fred de manque de rigueur.
A moins que le typage statique (optionel certes) ou le support des mots clès de visibilité ou encore les nombreux débats autour de feu ECMAScript 4 ne relèvent que de “problèmes sémantiques”.
JeanJack a dit :
Qui a la plus grosse?
zwetan a dit :
Il y a différentes “écoles” les gars qui ont commencés avec C/C++ et qui jurent que par ça d’autres gars qui sont sur Java et ne jurent que par ça et encore d’autres gars qui sont sur flash et aussi ne jurent que par ça. Et en fait, c’est un peu pareil pour tous les langages, leurs “écoles”, leurs “mondes”, etc. et tres peu jouent bien avec les autres.
Mais ca va un peu plus loin que le classique flame “mon langage est meilleur et plus utilisé que le tien”,
là, on est plus au niveau de la plateforme :
- coder du C qui vise x86 (en general) c’est une plateforme
- viser la VM Java c’est une plateforme
- viser la VM .NET (CLR et DLR) c’est aussi une plateforme
- et flash, ca aussi, c’est une platforme
Je fais du flash depuis environ 8ans, mais ca m’empeche pas de coder aussi en C/C++, ce qui me gene dans l’article c’est de lire que C c’est une vieille techno dépassée, sans C et tous les outils codés en C je serais plutot malheureux. Ce qui me gene aussi c’est le manque d’infos concernant flash : Adobe au dernier MAX 2008 a sorti un petit projet appelé Alchemy qui permet de prendre du code source C/C++ et de le cross-compiler vers du bytecode qui tourne en natif dans la VM du flash player 10. Et récemment un gars a porté Lua avec ça ce qui permet donc d’executer/interpreter des scripts Lua dans Flash, oui comme le font bcp de jeux videos ecris en C/C++.
Le probleme avec un truc comme NaCI c’est que meme si c’est une bonne techno et que ca donne pas mal de potentiel, peu de gens pourront vraiment l’exploiter. Le gros avantage de Flash, c’est qu’avec un langage comme ActionScript basé sur ECMAScript, énormément de gens peuvent l’utiliser (meme si ils ne savent pas ce qu’ils font et meme si ils savent a peine programmer).
Je vais prendre un exemple sur le desktop avec le runtime AIR (meme VM que le plugin Flash et meme langage de prog), combien de gens peuvent vraiment programmer des applis cross-platform basé sur QT et le faire bien ? Je pense que le réponse est “peu”, voir “tres peu”.
Prenez un plutot débutant en programmation, donnez lui un Flash CS3 et/ou Flex Builder + AIR et qlqs mois, et il arrivera a faire une petite appli cross-platform
maintenant prenez un dev C/C++ moyen, si a partir du moment où il arrive a arreter de dire que “flash c’est de la merde” il se met un peu a apprendre le langage AS3 et la platforme “flash”, il pourra faire énormément de choses. Idem pour le dev AS3 qui est expérimenté mais connait surtout flash et rien d’autre, si il se met a apprendre C/C++ juste un tout petit peu, il pourra reutiliser tout un tas de bon code C, le cross-compiler avec Alchemy et le reutiliser dans Flash.
une technologie / un langage / une platforme n’est pas forcément antinomique d’une autre, un bon developpeur c’est surtout un developpeur qui peut programmer dans n’importe quel langage.
Bref, en mettant les petites gueguerre d’écoles de coté on peut jouer un peu avec tout le monde.
jun a dit :
Personne ne voit ou ne veut parler des applications qui vont pulluller sur ce genre de techno ?
Je vois bien tout les boites de jeux vidéos coréennes incapable de publier un jeux au delà de l’alpha mais avec des bizness plan parfaitement adapté au causual gaming.
L’idée de fond est louable en soit, cela fait bien partie des technologie microsoft sortie 10 ans trop tôt (passport, xmlHttpRequest, …), l’idée d’une sand box pour du code en C, à l’instar des sandbox d’adobe AIR par exemple, pourrait potentiellement solutionner les problèmes des activX.
Malgré son concept et sa cible, il se peut tout de même que NaCl fasse le bonheur de très grande entreprise en lieu et place des technos de RIA que l’on connait bien. Traité plusieurs Go de donnéedans une interface flex n’est pas une bonne idée, malgré toutes les qualités de cette solution.
Draffy a dit :
H
Didi a dit :
Tout à fait d’accord avec Zwetan.
Quand je suis passée du C++ à l’AS1, j’ai rien compris à l’AS1. Mais quand j’ai découvert l’AS2, j’étais aux anges et qu’est-ce que j’ai put rêver de l’AS3 quand on en parlait avant sa sortie !
C’est pourquoi, je crois sincèrement que NaCl a toutes ses chances. Ce n’est peut-être qu’un petit pas mais il se peu que ce soit le premier d’une grande course.
Draffy a dit :
+1 pour Zwetan.
Alchemy permet déjà de porter un jeu comme Quake dans le runtime flash.Bon c’est qu’un début pas encore au point mais quand on pense à l’abondance des bibli C , on peut imaginer un énorme potentiel avec Alchemy.
Le C n’est pas mort (allons Fred ….), et une bonne techno est une techno adaptée au projet.
Et quand on vrai programmeur fait du Flash on oublie rapidement ce que des simples graphistes ont fait avec du Flash.
Benjamin Joffe a dit :
Merci pour la mention de Cmune
La vision du “Web OS” est en marche et au dela des jeux et des applications entreprise, c’est aussi la possibilite de faire tomber des barrieres – le meme contenu en ligne ou dans un widget, ou sur iPhone ! Si on regarde le track record de Google dans les environnements 3D (Lively), et le developpement poussif de Adobe / Flash et Microsoft / Silverlight, Unity3D semble idealement positionne pour le “Web 3.0″ – cross-platform, 3D et connecte.
Eric a dit :
Très bon billet comme d’habitude.
Merci.
Joyeux Noël sur Payetonblog.com | Payetonblog // et si on parlait (vraiment) web ? a dit :
[...] Arrêter d’assassiner le pauvre Fred Cavazza, qui, il est vrai, dérape un peu sur son article. Mais on ne peut pas être bon partout… [...]
Djames a dit :
Merci Fred pour cette excellent billet et de nous partager tes trouvailles. En tous cas ce break t’as fait le plus grand bien ^^
Thomas a dit :
La question que je me pose à la lecture de cet article est : Google ne nous présente-t-il pas en béta le moteur de sa future offre de cloudcomputing?
…
Sinon Noyeux Joel à tous
Mikael a dit :
Hmm, un peu dur de lire tous ces commentaires, beaucoup n’apportant rien.
Au passage, je tiens à souligner un truc que (je pense) personne n’a fait remarquer: NaCl fait tourner du code compilé dans un environnement sécurisé. C’est pas parce que la version actuelle de NaCl n’accepte que du C++ en entrée que ça ne changera jamais. Adobe fournira peut etre un jour une version du compilateur en ActionScript. Complètement l’opposé de ce que suggère Max :p:
[quote="max"]Adobe nous reserve une version du plug-ins flash pour NaCl ?[/quote]
Au vu du dynamisme d’Adobe en ce moment vis-à-vis de Flex/Flash et notamment du format AMF (pour dialoguer avec un serveur distant), et même du partenariat pour le Flash Player spécial pour Google, ça ne m’étonnerait pas du tout qu’on voie fleurir un environnement NaCl programmable en ActionScript.
… et du coup, tout le monde sera content et arrêtera de déverser son fiel :p
chmike a dit :
Merci pour ce billet sur un sujet visiblement très chaud. Cela m’a motivé d’aller y jeter un coup d’oeil.
Pour ce qui est d’apporter mon grain de sel, je pense qu’une techno qui améliore le rendement des performances par rapport à l’énergie consommée a un bon potentiel pour l’avenir compte tenu de la forte demande pour les applications mobiles et l’augmentation du cout de l’énergie.
Pour les langages, le choix d’utiliser le C et C++ est effectivement surprenant car bien qu’ils soient encore beaucoup utilisés, il leur manque pas mal de fonctionnalités qu’on trouve dans les langages plus modernes. Ne fut-ce qu’un ramasse miette par exemple ou le contrôle de dépassement d’espace mémoire.
Je suppose que le choix de google se justifie par la sélection d’une solution la plus simple, la plus portable et la plus légère qui soit. Mais c’est un mauvais choix du point de vue de la productivité des développeurs. On ne va pas gagner en fiabilité et sécurité des programmes.
La solution .NET reste la meilleure. Son seul défaut est d’être propriétaire.
Sébastien a dit :
M. Cavazza, vous vous etes un peu fait avoir comme un bleu en lançant un sujet de Troll
Je me permets de mettre aussi mon grain de NaCl en ajoutant deux petites choses:
– aujourd’hui, le développeur qui se restreint à un seul langage aura bien du mal. Et en tout cas, il ne maitrisera pas les bons outils à sa disposition. En particulier dans le monde du Web.
– tous les langages à mon sens se valent à peu de choses près. Seul compte le contexte dans lequel il peut s’utiliser (PHP sans ses librairies ne vaudrait pas un clou).
A mon humble avis, suivant le sujet depuis presque 2 ans, les RIA s’observent et sont observées par les développeurs. Tout le monde attend de voir qui “va gagner”. Je ne suis pas convaincu par Adobe Air, encore moins par Silverlight. Et je réserve mon jugement pour NaCl. Tout est encore possible, et celui qui gagnera (quelque soit le langage) sera celui qui fournira le meilleur environnement, et la meilleure API (et documentation). C’est elle qui garantit la productivité pour l’essentiel. Si Google fournit une API d’enfer, ce sera tout simplement eux qui pourront “gagner”, et alors le système sera adopté, langage C++ ou pas.
Nicolas a dit :
Il y a un aspect que vous oubliez de préciser Fred, en comparant l’intérêt d’une interface en C-C++ plutôt qu’en flash. Nous sommes d’accord, Flash est cent fois plus productif et pratique pour développer une interface.
Seulement l’interface n’est que la couche supérieure d’une application. Sur les couches inférieurs ( accès aux données et traitements de celles-ci par exemple ), la puissance du C n’est plus à démontrer.
Je vais prendre un exemple tout simple, un antivirus en ligne permettant un scan complet du système de l’utilisateur. Rien n’empêche la présentation d’une interface en flash à l’utilisateur couplée à une application utilisant NaCl qui elle sera chargée de réaliser le scan.
Qu’es ce qu’on y gagne ? De meilleurs performances, et c’est loin d’être un faux problème. Les ressources nécessaires aux envies et besoins des utilisateurs grimpent plus vite que les performances d’un matériel bon marché.
Yves Caseau a dit :
Après m’être amusé à la lecture de tous ces commentaires, je suis frappé par le fait que peu portent sur le fond: NaCl est-il le début d’une nouvelle architecture ? Le post de Louis Nauges apporte une première réponse, et elle mérite d’être citée ici:
http://nauges.typepad.com/my_weblog/2008/12/web-20-la-marginalisation-définitive-de-windows-sur-les-pc-.html
Je ne vais pas répéter mon commentaire: il s’agit bien d’une nouvelle architecture (cloud + edge) et cela permet de faire des choses intéressantes (en effet, le problème des ressources n’est pas résolu, il y a encore trop de choses qu’on ne peut pas faire parce qu’elles sont trop “computationally intensive” (pour utilise mon jargon de vieux chercheur)- à titre d’exemple: http://organisationarchitecture.blogspot.com/2008/03/challenges-scientifiques-pour-la.html
Ceci étant dit, merci à Frédéric d’avoir posé la question et suscité le débat
Nitro a dit :
Bonjour à tous !
Pour finir sur une conclusion positive pour FRED,
Fidèle lecteur de son blog, je me permets de vous faire part de la publication de plusieurs articles sur NITROBLOG depuis ce mois ci concernant justement les langages RIA en vectoriels.
Vous trouverez un support didacticiel avec des vidéos pour les passionnés d’interfaces vectoriels en VML et HTML+TIME sous IE8 de MS.
Voici le lien pour les courageux : http://nitroblog.mediasites.fr
Très cordialement,
Patrick GUINBERTEAU
Best-of 2008 | FredCavazza.net a dit :
[...] Native Client, la technologie RIA de Google qui risque de faire long feu. [...]
jerome a dit :
J’aimerai dire un truc tout bête. Langages haut niveau VS bas niveau ?
Où est le choix ?
Le choix c’est: Qui paie ?!
Les bas niveaux coûtent plus cher aux entreprises, les haut niveaux coutent plus cher aux utilisateurs !
Et quand je vois que firefox utilise 100 mo de RAM pour tourner, je me dis, mais quake 3, il en utilise combien ? Et bah la différence n’est pas énorme car je le faisais tourner sur un vieux PC avec 64 MO ou 128 (je ne suis plus sûr).
Alors pour afficher du texte et des images: 100 MO, pour de la 3D: autant ?
Sérieusement, oui, c’est bien les langages haut niveau, pour les utilisateurs qui sont riches, et peuvent s’acheter des PC avec plusieurs gigas de ram.
N’empêche que ça fait plaisir quand on lance une application écrite en C qui tourne vite, alors que l’on voit tout de suite la différence quand elle est écrite en VB, windev, java, flash etc…
Enfin je voudrais faire un point sur le fameux web 2.0, un véritable tuyaux crevé, qui nous fait faire tout et surtout n’importe quoi sur un navigateur avec de l’ajax.
Quand il faut 3 heures pour charger une page web, et lire un mail, alors qu’avant c’était beaucoup plus rapide, et cela pour faire des gadgets en plus, et bah c’est navrant. Les sites en flash sont tout ce qu’il y a d’énervant car on perd nos repères, ils sont lent, laguent.
Tout ça pour dire, oui au C sur internet, ptète qu’on pourra enfin bloquer flash qui ne sert qu’aux pubs, et même bloquer javascript qui était bien lorsqu’il était utilisé avec parcimonie (son but premier), et qui nous sors aujourd’hui des sites imbuvables (refaire un tableur en javascript, on se demande ce que les gens ont dans la tête). Et ptète que le web 2.0 aura vraiment une raison d’exister avec des plug in en C /c++!
Points noirs, google, encore et toujours, et question sécurité, ça va être dur à gérer (si c’est compilé, même si ya des restrictions les pirates vont s’amuser).
jerome a dit :
au fait on va me dire que firefox est codé en C. A vrai dire c’est possible, mais il n’y a pas que le langage qui joue, ya la manière dont on code. A mon avis, pour qu’il prenne 100MO, juste pour interpréter du HTML et du javascript, c’est qu’il y a un problème.
jerome a dit :
Juste pour dire que chaque langage a son intérêt. Le php, c’est la facilité et la sécurité, mais pour l’utiliser ne serait ce que pour lister un répertoire, il faudrait mieux utiliser le C…
De même le javascript pour faire un menu déroulant, oui, pour faire un tableur non.
Le flash pour faire une animation oui, pour faire un tchat non.
Le java pour faire du portatif pour téléphones oui, pour faire une application windows ou linux, non…
Il faut savoir utiliser le véritable intérêt de chaque langage. Seul exception, visual basic et windev, qui ne servent vraiment à rien. A part pour les gens qui ne connaissent pas la programmation et qui veulent faire une petite application.
Désolé pour le hors sujet, mais ça m’ennerve de plus en plus de voir des applications toute simples qui demandent beaucoup de ressources. Au final, on augmente la puissance des ordinateurs et on peut même pas faire tourner plus de chose, et demander plus de rapidité des programmes. C’est hallucinant.
shoopiz a dit :
Désolé de prendre la discussion en retard.
Je suis d’accord que pour developper un client riche, le C ou C++ peux etre démodé. mais je pense que Silverlight ou Flash doivent etre certainement dévéloppé en C ou C++.
Donc, qu’est qui empeche de developper le plugin (seulement le plugin) en Native Client ?
Ceci aurait 2 avantages:
1) Le plugin n’aurait aucun intermédiaires.
2) Laisserait toujours la liberté à l’utilisateur de developper en C#(silverlight) ou AS3 (flash) tout en exploitant le maximun des ressources systeme.
david_yeswecan a dit :
bonjour, tout d’abord merci pour ce billet et cette synthèse comme toujours très instructifs
par contre vous avez bien un point de vu de developpeur “graphiste” ^^
non, les RIA (flash) ne sont pas la fin des languages de developpement traditionnel (java et C#), non ils ne sont pas plus “productifs” (!) mais adaptés à une niche précise, le developpement d’interface web, point.
et je suis désolé de le rappeler mais l’interface web n’est que la partie immergée d’une application, et si elle est importante (ancien dev Java je suis devenu fan de Flex) elle n’est pas forcément la plus importante (juste une couche du système, avec en dessous la logique “métier” et données (modèle classique MVC)
contrairement à ce que pourrait laisser croire la mode des gadgets et miniapplis facebook, une grosse appli web repose avant tout sur une grosse programmation serveur (que ce soit le système de réservation de la SNCF, un réseau social ou le site de votre compte en banque)
Flex est maintenant super pour enfin développer de vraies interfaces intégrées aux applis (et non plus juste du graphisme flash) au lieu de bidouille javascript (qui malgré la mode Ajax n’est pas concu pour des interfaces évoluées), PHP pour développer vite (et bien) un site (surtout avec les frameworks maintenant matures), Java pour créer un intranet ou extranet d’entreprise solide…
aucun n’est plus à la mode que l’autre, ils s’intégrent à des couches différentes de l’architecture.
si Native repose sur du C/C++ il sera surement possible ensuite de faire dessus du Java/C#, et cela pourrait devenir très puissant pour concevoir de véritables logiciels en ligne (et si on effacait la frontière entre applications d’entreprise et univers immersifs, pour un espace collaboratif global ?).
peut etre une nouvelle révolution à venir du développement ?
donc à suivre attentivement !
mais s’il vous plait ne pas confondre les languages RIA avec ceux serveurs ou d’applications, cela n’a rien à voir avec etre démodé mais répondre à de nouveaux types de besoin et s’y interfacer (ex pour une architecture pro et propre : classes PHP ou Java intégrées dans un framework MVC avec au bout une interface flex au lieu du html classique)
PS : perso je pense que Java puis le C# ont remplacé le C il y a longtemps, ne serait ce que dans la manière de programmer… mais celui ci reste peut etre plus rapide pour des applis 3D
par contre on est aussi productif en Java qu’en flash, voir meme plus (véritable language objet, très structuré, avec outils très puissants…) ! mais pas pour faire les memes choses ^^
Daniel Glazman a dit :
Le dernier mot est pour The Register : “C overwhelmingly proved to be the most popular programming language for thousands of new open-source projects in 2008″.
http://www.theregister.co.uk/2009/01/21/open_source_projects_08/
Frédéric CAVAZZA a dit :
@ Daniel > Donc c’est ça ton mot de la fin ? Même pas une petite explication sur ce qu’est Native client et en quoi cela va bouleverser la paysage des RIAs ?
Quelle déception pour moi de voir que le débat a complétement dérapé et que je suis passé à côté d’une argumentation qui me tenait à coeur (bien loin de ces gueguerres entre développeurs old scholl et new school)…
/Fred
Google lance O3D, un plug-in pour faire de la 3D dans le navigateur | FredCavazza.net a dit :
[...] destiné aux développeurs (donc dans un contexte similaire à Native Client – lire à ce sujet : Native Client, la technologie RIA de Google qui risque de faire long feu) [...]
Google lance O3D, un plug-in pour faire de la 3D dans le navigateur | MKT planet - News Web Marketing - Nouvelles Technologies a dit :
[...] destiné aux développeurs (donc dans un contexte similaire à Native Client – lire à ce sujet : Native Client, la technologie RIA de Google qui risque de faire long feu) [...]
Cyril Vieville a dit :
A mon sens, NaCl me semble pertinent pour l´industrie du logiciel … Nous ne verrons pas adobe photoshop en flash d´ici un bon moment car le besoin de calcul se trouve être, pour le moment, encore trop important … Alors pourquoi ne pas diffuser du client lourd en NaCl … Cela apporte effectivement plusieurs points positifs :
- Le produit est identique pour tous les utilisateurs et ne comporte pas de restrictions selon l´OS …
- Le produit se trouve du coup beaucoup moins piratable si la technologie est maitrisé et sécurisé puisque l´éditeur contrôlera plus facilement qui a accès, comment il a accès et surtout par quel moyen il sera facturé (par mois, par accés, par type d´activité).
- La convergence logicielle au détriment de la convergence OS, un plus pour l´utilisateur lambda. Dans la même lignée que Java.
- L´utilisateur lambda n´aura pas en face de lui, un soft en JavaFX, puis un soft en flash puis un soft en silverlight. En clair, pas une guerre de plug-ins.
Concernant C/C++, je ne suis pas d´accord sur les commentaires expliquant que ces langages ne sont pas adaptés au développement d´applications riches comme j´ai pu le lire souvent. On oublie souvent que les grosses applications clients ainsi que des OS comme Windows Vista sont développés en C/C++ parce qu´ils apportent une gestion plus fine en terme de performances et cependant il n´apporte pas moins d´options ou d´éléments graphiques. La différence réside dans le cycle de développement uniquement car il demande un cycle plus long, point barre … Le coup du Web 2.0 est un faux argument. Moi, ce que je vois, c´est qu´un développeur C/C++ a souvent plus de facilité en ce qui concerne de l´optimisation de code qu´un développeur Java, parce que ce dernier se dit, le garbage collector est la pour ca … Oui mais voila ….
Pour en revenir aux logiciels, il suffit de voir l´industrie du multimédia pour s´en rendre compte … Les développeurs de jeux n utilisent pas Java car Java est beaucoup trop éloigné du processeur alors que des applications DirectX ou OpenGL ont besoin d´utiliser un maximum de puissance. Java n´arrivera jamais à séduire cette industrie tant que les progrès d´affichage en 3D seront si importants. Aujourd´hui, les poids lourds du hardware se battent pour accroitre les puissances de calcul. Je ne crois pas que cette industrie soit prête à revenir en arrière en utilisant des technologies utilisant inutilement de la puissance de calcul juste dans le but d´avoir un code compatible (la faute au monopole de Windows) et une communauté importante… ce qui motive cette industrie c´est les avancées technologiques d´ou l´intérêt de NaCl … Il faut bien sur que le 1% de perte soit effectif et que les résultats soient au rendez vous.
Pour en revenir plus concrètement au sujet, il s´avère comme l´a dit certains d´entre vous, que Google cherche à imposer sa vision du monde informatique ou tout passe par le Browser … Il aura fort à faire car aujourd´hui le développement de RIA a un fort potentiel à travers Adobe et son flash et l´utilisation de Javascript de plus en plus poussé. C´est d´ailleurs assez amusant car je me rappelle il y a quelques années, les annonces disant que Javascript serait bientôt mort. On le voit revivre aujourd´hui avec les API Ajax …
Je note aussi que, la ou vous avez tout à fait raison JC c´est qu´il semble difficile d´imposer un plug-in si gros, la ou des petits plug-ins font déjà de belles prouesses et sont utilisés sur des millions de sites … Il faudra plusieurs années pour imposer NaCl mais je pense qu´il ne touchera pas la mëme catégorie que les RIA d´aujourd´hui.
Toutefois, je parie gros sur cette technologie.
Jouer en ligne ou seul sur son browser par exemple… sans à avoir à downloader ou acheter un jeu dans sa boite DVD… du beau progrès et cela juste en se connectant sur un site web…
6 ans de blog en 6 billets | FredCavazza.net a dit :
[...] billet qui a été le plus critiqué : Native Client, la technologie RIA de Google qui risque de faire long feu. Publié en fin d’année dernière dans de mauvaises conditions (j’avais décidé de [...]
Ideal » Archive du blog » Google lance O3D, un plug-in pour faire de la 3D dans le navigateur a dit :
[...] destiné aux développeurs (donc dans un contexte similaire à Native Client – lire à ce sujet : Native Client, la technologie RIA de Google qui risque de faire long feu) [...]
Avec Chrome OS Google se positionne sur l’outil informatique du futur > FredCavazza.net a dit :
[...] OS = Chrome + Gears + NaCl + [...]
curio a dit :
J’arrive après la bataille mais désolé je viens de tomber dessus
Je devine que ce que va permettre NaCL va être absolument énorme pour l’avenir des applications web/could.
On sait tous pour l’instant que les applications web ont pour l’instant des limites. Il y a des choses qu’on ne peut pas faire. Point à la ligne.
Un exemple concret :
Un logiciel de montage vidéo collaboratif en ligne, avec ses propres codecs et filtres.
Pour l’instant, c’est parfaitement irréalisable !
Plein de projets comme ça, orientés créations deviendraient réalisables (+ les jeux, etc etc)
Le meilleur, c’est qu’on pourrai alors associer la productivité qu’on a en développant pour le web, à la puissance de traitement auquel on parvient en utilisant des languages autorisant de hautes performances.
Le réseau + la pleine puissance de calcul de chaque client.
Le beurre et l’argent du beurre !
En fait, Fred, c’est le vrai Graal qu’ils visent.
Ca veut aussi réellement dire que pour finir l’adage “Write once, run anywhere” deviendra réalité.
Pourquoi ? Parce que tous le autres langages sont implémentés en C.
Donc aucun besoin d’apprendre un nouveau langage exclusif.
Autant on pourra faire tourner des applications telles celles de bureau pour l’instant mais avec + de facilités réseau, autant on pourra utiliser n’importe quel language de script existant, ou autre existant. n’importe quel librairie existante…
Voilà ça semble fantastique, mais ça va être dur de l’imposer sur.. par hasard… l’IPhone
J’espère toutefois que ça marchera, il me semble que c’est la techno (ou au moins l’idée) qui permettra la prochaine évolution technologique informatique majeure.