• [^] # Re: De l'engouement pour Python

    Posté par (site web personnel) . En réponse à la dépêche Python dépasse Java en popularité selon l’indice TIOBE de novembre. Évalué à 9. Dernière modification le 07 novembre 2020 à 14:38.

    Pourrais-tu citer un langage qui te plaît bien pour qu'on aie des éléments de reflexion ?

    En ce qui me concerne, je suis passé du C++ au Python et j'ai beaucoup beaucoup apprécié la transition.

    Ce qui m'a bien plu:

    • langage très concis, très peu verbeux
    • des structures très matures (listes, dictionnaires, tuple, fonctions, etc) et très faciles à utiliser. C'est vraiment une simplification au quotidien de la vie du développeur
    • pas de compilation, on peut faire des cycles edition / execution / correction très rapidement (même si sur des gros projets, l'absence de compilation / typage devient un souci)
    • pas de pointeurs, pas de segfault, une charge mentale en moins
    • un très léger goût de programmation fonctionnelle, avec des map, lambda, reduce et autres, très très chiant à mettre en oeuvre en C++ (à l'époque, c'était il y a 15 ans).
    • une documentation très fournie
    • une approche assez pragmatique d'un certains nombre de problèmes, à l'opposé d'une vision puriste très défendue à l'époque dont je parle

    Ce qui me reste de tout ça aujourd'hui, c'est vraiment l'efficacité. Quand je pense un programme un peu complexe, j'arrive très vite à le mettre en oeuvre en Python là où je sais que d'autres langages vont me donner plus de fil à retordre.

    L'écosystème de bibliothèque est assez phénoménal et permet de trouver plus ou moins toujours ce dont on a besoin.

    Pourquoi est-ce que Python est aussi populaire aujourd'hui ? Je pense que l'alliance d'une syntaxe relativement simple à appréhender et d'un écosystème extrêmement riche fait qu'il plait beaucoup. Le parallèle que tu fais avec Visual Basic est tout à fait approprié, même si Python va bien plus loin que Visual Basic. On en retrouve à la fois dans la communauté scientifique, dans des interfaces graphiques ou dans de la programmation système.