Computational Thinking - Computer Science for Business Leaders 2016
Langages de programmation commerciaux d'aujourd'hui - - Le C ++ et Java, en particulier, sont beaucoup trop complexes et ne sont pas adaptés aux environnements informatiques actuels, a déclaré Rob Pike, ingénieur distingué de Google, lors d'une conférence jeudi à la Conférence Open Source d'O'Reilly. "langages de programmation industrielle" lors de son discours à la conférence de Portland, Oregon
"Je pense que ces langues sont trop difficiles à utiliser, trop subtiles, trop complexes, elles sont trop verbeuses et leur subtilité, leur complexité et leur verbosité semblent augmenter avec le temps ", a déclaré Pike. "Ils sont survendus et utilisés trop largement."
Pike a détaillé les défauts de ces langages pour décrire les objectifs que lui et d'autres ingénieurs de Google ont pour un nouveau langage de programmation qu'ils ont développé, appelé Go.
Pour illustrer la complexité de ces langages, Pike a montré quelques exemples de code C ++. Un exemple était une déclaration de variable qui s'étendait sur presque toute une ligne de l'écran.
"Comment avons-nous des choses comme ça [doivent être] la façon standard de l'informatique enseignée dans les écoles et utilisée dans l'industrie? " il a demandé, rhétoriquement. Ce genre de programmation "est très bureaucratique, chaque étape doit être justifiée pour le compilateur", at-il dit.
Alors que Pike admettait qu'il était quelque peu facétieux, il a affirmé que de telles questions devraient encore être posées. C ++ est arrivé à cause de la frustration des gens à travailler avec le langage C de bas niveau, et Java est apparu comme un moyen de simplifier C ++. Au fil du temps, cependant, de nouvelles fonctionnalités ont été ajoutées aux deux langues, les rendant de plus en plus complexes.
"Le bruit vient avec sophistication", at-il dit.
Pike a également ajouté que ces langages ont été développés avant l'avènement du traitement multicœur. Pike n'est pas le seul employé de Google à exprimer son insatisfaction à l'égard des langues traditionnelles de qualité commerciale.
Lors de la conférence annuelle de l'USENIX le mois dernier, l'ingénieur Gmail Adam de Boor a surpris le public en notant que le service Gmail de l'entreprise était entièrement écrit en JavaScript, et que tout son code, d'une valeur d'environ 443.000 lignes, était écrit à la main.
Il a noté que Java est plus expressive. "De ce point de vue, c'est une question de choix de langue que vous utilisez", dit de Boor.
JavaScript est l'un d'un lot de langues - d'autres comprennent Ruby et Python - qui ont été développés au cours des 10 dernières années en réponse à la complexité croissante de C ++ et Java. Mais tout en ayant une syntaxe plus simple, de tels langages ont aussi leurs inconvénients, argumentait-il.
Ces nouveaux langages ont tendance à être plus lents, ne se développent pas aussi bien et peuvent contenir davantage d'erreurs, explique Pike. ont tendance à être interprétées plutôt que compilées, ce qui signifie que les programmes écrits dans ces langages ne sont pas compilés avant d'être exécutés, ce qui a tendance à ralentir. Ils ont également tendance à être dynamiquement typés, ce qui signifie que les programmeurs n'ont pas besoin de spécifier le type de données que leurs variables vont contenir.
"La frappe dynamique n'est pas forcément bonne Vous obtenez des erreurs statiques à l'exécution que vous devriez pouvoir »
Avec tout cela à l'esprit, Pike décrivit alors Go comme une tentative de fusionner les meilleurs attributs des deux langues.
« Go est une tentative de combiner sécurité et performance. »a-t-il dit, avant d'ajouter:« dans la mesure où cela réussit, vous devrez juger par vous-même. »
Un membre de l'auditoire, Larry Augustin, le PDG du fournisseur de logiciel de gestion de la relation client SugarCRM, est d'accord avec l'évaluation de Pike selon laquelle C ++ et Java sont devenus trop complexes, bien qu'il note que cela se produit généralement avec toutes les langues."La raison pour laquelle ces langues ont gagné en complexité est que plus elles sont utilisées, plus les erreurs et les ambiguïtés que nous avons trouvées, et les tentatives pour éliminer ces ambiguïtés et erreurs ont créé quelque chose de plus complexe", a déclaré Augustin. «Je sais gré de son but», a-t-il déclaré à propos des efforts de Pike. «La question est de savoir s'il peut atteindre le résultat visé ou si Go devient plus complexe, car plus de gens l'utilisent», dit Augustin.
Joab Jackson couvre les logiciels d'entreprise et les nouvelles générales pour
The IDG News Service
. Suivez Joab sur Twitter à @Joab_Jackson. L'adresse e-mail de Joab est [email protected]