Python, quel est votre avis sur ce langage de programmation parmi les plus populaires?

JavaScript était un langage d’habillage pour faire tomber des flocons sur un site.
Grace ou à cause de certains produit comme TypeScrypt, Angular, React, Webpack, NodeJS etc … son utilisation a changé. Webassembly permettra certainement petit à petit de faire bouger les choses.

PHP faisait parti des languages principaux, je ne le vois pas revenir sur le devant de la scène de sitôt. Je ne dis pas pour autant qu’il a disparu, mais mis à part vouloir utiliser un CMS, aujourd’hui il y a tellement d’alternatives pour démarrer un projet.

C’est quelque peu troublant et intéressant qu’une même personne espère que JavaScript dans son nouvel état “temporaire” soit remplacer par un langage comme PHP :thinking::slightly_smiling_face:

Beaucoup de programmeurs s’investissent dans un seul langage.

C’est quand même assez rare qu’un programmeur puisse se limiter à un unique langage. Et c’est encore plus vrai sur le long terme.

Si on commence à voir le cas aujourd’hui, c’est justement avec Javascript a cause des formation « créateur web ».

Ils en connaissent d’autres mais sont moins à l’aise. Là où il faut souvent deux langages, comme en mode Web, ils vont privilégier celui qu’ils connaissent le mieux, sans penser à l’homogénéité du système.

Mon propos est de comparer les langages de programmation sur un plan purement technique en dehors de tout critère subjectif de préférence.

Pour ceux qui veulent un langage de programmation qui ait les meilleures qualités pour s’adapter à tout, Javascript n’est manifestement pas un langage qui ait été conçu pour cela.

Depuis nodeJS, JavaScript est accessible sur serveur comme sur navigateur, on peut donc partager son code sur les 2 plateformes et se contenter d’un seul langage.

Ce qui revient à étendre l’usage d’un langage inefficient et limité au motif que certains programmeurs ne maîtrisent rien d’autre. Et j’aurais bien d’autres choses à dire sur cette transposition mais ce serait un long débat.

Bref, c’est un avis purement personnel, mais je trouve qu’il y a bien mieux à faire.

On peut créer des applications desktops avec exactement les mêmes outils, ce qui nous fait trois environnements.

Sauf qu’au jeu de la polyvalence, c’est à dire à vouloir un langage unique qui servirait à tout, Javascript est un très mauvais choix. D’autres langages ont un spectre d’usage beaucoup plus important que Javascript.

Et cela aussi bien si l’on considère les possibilités du langage (il manque clairement certaines possibilités) que des besoins d’un « runtime » efficient. Vu la complexité d’un interpréteur Javascript « optimisé », cela demande beaucoup de puissance et de mémoire.

Il s’agit d’un langage intéressant, car objet, qui plus est lié au système des prototypes, assez bluffant, quand on connait.

L’aspect bluffant d’un langage de programmation ne veut pas dire pour autant que c’est un bon langage pour écrire des applications, ni même un langage puissant en terme de possibilité.

C’est d’ailleurs un très vieux débat en informatique. Par exemple, des langages tels que LISP ou d’autres langages de type fonctionnel ont fait couler beaucoup d’encre et d’exclamations enthousiastes.

Mais malgré le fait que les enseignants ont toujours adoré ce type de langage « waouh », les programmeurs de métier ont toujours préféré d’autres langages beaucoup plus pragmatiques et plus efficients qui sont meilleur à résoudre les problèmes concrets qu’ils rencontrent tous les jours dans leur métier.

Bref, les meilleurs logiciels du monde sont écrits dans des langages qui ne sont pas « bluffants », mais juste pragmatique, efficaces et puissants dans le sens des vrais besoins.

Le seul souci, c’est la performance, donc pas de jeux exigeants, pas de nouveau système d’exploitation, mais il s’agit là d’une frange spécifique d’outils qui concernent une minorité de développeurs.

Je ne partage pas votre avis.

En tant que programmeur, je pense que toutes les applications ont besoin d’être efficiente. Quel que soit son usage, un programme qui rame n’est jamais bon.

Et l’exemple du langage qui suffit pour une petite application… n’attends que le temps qui passe et que l’application grandisse pour se trouver bloquée par les limites de son langage. J’ai pu constater cet écueil un nombre incalculable de fois.

Ajoutons qu’avec les nouvelles contraintes écologiques, l’informatique mobile et une loi de moore de plus en plus moribonde, chaque cycle CPU gagné aura son importance dans le futur.

Un langage de script, c’est fait pour rester un langage de script, c’est à dire un langage avec lequel pour diriger des processus en évitrant d’empiler les couches.

Le problème quand on veut écrire de vraies applications avec un langage de script, c’est qu’on va multiplier les bibliothèques et utiliser des framework… ce qui revient à multiplier les couches de code inefficient. Ce qu’il faut absolument éviter à tout prix avec un langage qui n’est pas rapide.

Qu’un programmeur C s’offusque de cela, je comprends, il est dans son univers. Il existe une multitude d’univers en termes de développement.

Sauf que ce n’est pas une question d’univers ni de langage, mais de comprendre les concepts de fonctionnement qui régissent tous les langages de programmation. Absolument tous, sans aucune exception.

Par exemple, le fait qu’un compilateur peut produire du code beaucoup plus efficient avec certains langages de programmation qu’avec d’autres.

Ou encore les problèmes de base de la gestion d’un gros projet avec le fait que moins le langage vous forcera à définir ce que vous écrivez, plus cela va compliquer la maintenance à long terme.

Python est devenu populaire à cause d’un des concepts les plus puissants existant: la simplicité. en pratique les gens n’ont pas besoin d’un langage plus rapide que tout, ils ont juste besoin de résoudre un problème ou répondre à un besoin rapidement. sa nature de langage « desktop » lui permet de jouer le rôle d’outil à tout faire. à voir si un autre langage plus efficient n’ira pas lui ravir sa place dans le futur.

Le monde informatique a fait de la simplicité une espèce d’obsession.

Mais la raison à cela, c’est essentiellement parce que cela permet de mieux vendre. La simplicité, c’est comme le sucre dans l’alimentation.

Hélas, bien souvent, la simplicité, ça se paye quelque part.

Si des langages de programmation demandent au programmeur de définir précisément les choses, ce n’est pas juste pour le plaisir sadique de l’embêter. C’est parce qu’il y a énormément d’avantage à cela. Et beaucoup d’inconvénients à ne pas le faire.

Et la petite application, un jour, elle peut devenir grande. Et il n’y a rien de plus frustrant qu’être bloqué par les possibilités d’un langage.

Quand les principaux langages comme php auront entièrement assimilé ce concept, javascript retournera à son état d’habilleur optionnel de page web.

En même temps, on ne peut pas critiquer Javascript sans reconnaître qu’on retrouve dans PHP beaucoup de tares similaires.
Ces deux langages ont en commun d’avoir été écrits sur un coin de table.

Il ne restera plus qu’à prier que google choisisse un autre langage que js et son moteur V8,

Je pense que le futur est que l’on ne nous impose plus le langage de programmation mais que l’on puisse utiliser tous les langages disponibles dans tous les contextes.