IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Python, un langage plaisant mais inefficace pour la plupart des projets professionnels


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 699
    Par défaut
    Citation Envoyé par gzii69 Voir le message
    Pour le fait que Rust ne soit pas plus performant que le C++ ?

    En tout cas il ne l’est pas moins.
    Ce sont deux langages compilés: in fine, on exécutera du code machine et on va surtout mesurer l'efficacité du compilateur à optimiser les instructions et le code machine généré. Au cas où on trouve des différences notables, on pourra toujours remplir une fiche d'anomalie et espérer des améliorations pour des cas de figure particulier.
    Techniquement, il n'y a pas de raisons techniques autre que la maturité pour que le code généré soit plus rapide pour l'un que pour l'autre.
    Par contre, Python étant généralement utilisé avec l'interpréteur CPython, la couche d'abstraction ajoutée par cet interpréteur fait qu'on en sera pénalisé (côté performance) ou limité quand à l'utilisation de ressources système (comme le nombre de CPUs utilisables avec les threads).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  2. #2
    Membre averti
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Février 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Février 2014
    Messages : 23
    Par défaut
    Il n’y a pas que ça pour moi :
    - Comme en C, et même si c’est un peu plus abstrait, je sens les modèles mémoire derrière.
    - Même si on ne place pas soi-même les malloc et les free, on sent bien comment ils sont placés. Et ce qui est vérifié au niveau du compilateur, ce sont des vérifications qui ne se font pas à l’exécution, donc le code compilé reste léger.

  3. #3
    Membre averti Avatar de chris_FR
    Homme Profil pro
    Ingénieur système
    Inscrit en
    Juin 2002
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur système
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 29
    Par défaut Un mauvais ouvrier a toujours de mauvais outil ...
    Je ne comprends pas les propos de ce monsieur,
    Le terme "projets professionnels" est beaucoup trop vaste, il faudrait d'abord définir le type de projet
    Il sera difficile de faire avec Rust ce que l'on peu faire avec Django et Python
    tout comme il sera difficile d'écrire un OS en python

    Avec Python, tout comme Rust, de bons développeurs sont capable de produire un projet professionnel
    et de mauvais dev feront de mauvais logiciel ... c'est valable pour n'importe quel langage

    Par contre python permettra a plus de personnes de s'intéresser au développement, alors que Rust risque de rebuter certains même sur un "hello world"
    une des forces de python est son accessibilité et sa lisibilité alors que Rust est plus robuste et sécure admettons ...

    Rust aura de meilleur performance, un code plus sur c'est évident, mais encore faut il que les devs codent avec cohérence et bon sens, un mauvais code reste un mauvais code quelque soit le langage.

    A mon avis Rust sera certainement beaucoup moins souple et agile que python avec son langage fortement typé ... mais dans la vie il faut savoir ce que l'on veut

    Je pense que cette personne aimerait n'avoir qu'un seul langage à gérer pour couvrir tout les cas de figures pour se simplifier la vie
    ce qui est totalement illusoire et à mon avis contre productif

    Il devrait licencier toute son équipe technique et n'utiliser que chatGPT , bard ou BedRock comme cela il verra la différence ...

    Ce genre de personne me fait penser à certains octogénaire regroupés dans un petit pays avec un natalité nulle, qui ont fait vœux de chasteté, et qui se permette de donner des leçons aux monde entier sur la sexualité

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 699
    Par défaut
    Citation Envoyé par chris_FR Voir le message
    Avec Python, tout comme Rust, de bons développeurs sont capable de produire un projet professionnel
    et de mauvais dev feront de mauvais logiciel ... c'est valable pour n'importe quel langage
    Que le code soit mal foutu n'est pas si dramatique: tout dépend à quoi/qui il servira.

    Le fait est que ce ne sont pas les "bons" développeurs qui imaginent des applications intéressantes mais les utilisateurs. S'ils ont la possibilité de bricoler un truc qui répond à un vrai besoin, on pourra toujours le ré-écrire si nécessaire quel que soit l'état du code initial.
    Dans cette optique, qu'un langage assez facile comme Python qui se diffuse chez les non programmeurs et leur permette de mettre en forme leurs idées n'est pas idiot/inutile.

    Ce qui est discutable, c'est de limiter la formation des programmeurs à un seul langage (et il n'y a pas que le langage à maîtriser) ou demander à des personnes qui se dépatouillent avec Python de réaliser des applications qui devront évoluer, être maintenues,...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre actif
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2015
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2015
    Messages : 95
    Par défaut Julia?
    Bizarre de comparer des pommes et des oranges, une clio et une formule 1...
    Si on veut la facilité (lisibilité) de Python qu'apprécier les débutants avec la sécurité de Rust (que même C ou C++ n'apportent pas et il ferait donc mieux de les comparer plutôt que Python...), alors je prendrais , en tant que débutant, Julia? Pas aussi sécurisé que Rust dont c'est le coeur et raison d'être mais suffisamment, et aussi rapide a l'exécution ou presque.

    De toutes façons d'ici la fin de l'année les GitHub CoPilot/GPT5 et autre Google Bard vont certainement être capables de traduire tout langage en un autre et coder eux-mêmes en comprenant nos besoins , spécifications ou même codes (donc un Linux recodé de C à Rust, idem pour Windows depuis son C++, je ne vois pas pourquoi ce serait impossible..?)...

    Quelqu'un saurait me répondre si un autre langage facile pour débutant est plus sûr que Python? Ruby? Dart? Smalltalk/Pharo? ES6 (JavaScript quoi...)? Elm?...

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 699
    Par défaut
    Citation Envoyé par nhugodot Voir le message
    Quelqu'un saurait me répondre si un autre langage facile pour débutant est plus sûr que Python? Ruby? Dart? Smalltalk/Pharo? ES6 (JavaScript quoi...)? Elm?...
    Le problème du débutant ne vient pas du langage mais du fait qu'il est débutant. Il pourra utiliser un langage sûr et fabriquer un code tout aussi pourri...

    Citation Envoyé par nhugodot Voir le message
    De toutes façons d'ici la fin de l'année les GitHub CoPilot/GPT5 et autre Google Bard vont certainement être capables de traduire tout langage en un autre et coder eux-mêmes en comprenant nos besoins
    Quand je vois comment il traduisent l'anglais ou le français: c'est utilisable si on fait abstraction de petits détails qui choquent... Dommage que la programmation soit une affaire de détails (combien d'heures à passer après avant que ce soit fonctionnel).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Membre éprouvé
    Profil pro
    programmeur du dimanche
    Inscrit en
    Novembre 2003
    Messages
    960
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : programmeur du dimanche
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2003
    Messages : 960
    Par défaut
    Citation Envoyé par nhugodot
    Quelqu'un saurait me répondre si un autre langage facile pour débutant est plus sûr que Python? Ruby? Dart? Smalltalk/Pharo? ES6 (JavaScript quoi...)? Elm?...
    Un langage pourquoi faire déjà ? Il faut commencer par le projet...
    Si sûr ça veut dire memory safe et plus de détection automatique des erreurs, python avec le typage optionnel et l'analyse statique c'et bien déjà. Dart c'est un langage Google assez terne mais qui marche bien avec flutter par ex. Pharo c'est un langage pour l'industrie avec une philosophie très différente et qui vise la fiabilité et le débogage. Nim ça ressemble un peu à du python compilé typé et ça vise des binaires efficaces et sûrs avec moins d'efforts qu'en rust, par contre c'est marginal .

  8. #8
    Membre averti
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Février 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Février 2014
    Messages : 23
    Par défaut
    Je trouve Python super bien pour débuter, et je le conseille quand on me demande.
    Mais aussi bien plus que ça.
    Des chaînes de traitement mises en place rapidement comme je l’ai déjà dit, et même des maquettes. Je trouve ça bien plus rapide à mettre en place que du Rust pour ce genre d’utilisations. Tester des idées, des algos, mais aussi pour un traitement pas trop lourd qui ne tournera qu’une fois par mois avant d’être modifié dans disons deux ans.
    Je ne suis peut-être pas assez bon en Rust pour que ça soit aussi rapide.

  9. #9
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 721
    Par défaut
    Ce n'est un secret pour personne qu'Internet tourne grâce à l'open-source qui est omniprésent, surtout dans les écosystèmes à base de Linux,
    Bien évidemment, les grosses boîtes comme Amazon en profitent allégrement (même si elles contribuent aussi).
    Bref, parmi les nombreux projets open-source existants, certains sont écrits en Python.
    Moi-même je dois en utiliser sans savoir qu'il y a du Python derrière.

    Peut-être que la vraie question c'est: que considère-t-on comme un projet professionnel. Les points de vue peuvent varier en fonction du cas d'utilisation.
    Mais il y a sûrement un paradoxe: s'il y a une demande relativement forte pour un langage, fut-il méprisé comme PHP ou Python, c'est à se demander si les employeurs qui sont derrière cette demande font du développement professionnel

  10. #10
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 699
    Par défaut
    Citation Envoyé par binarygirl Voir le message
    Mais il y a sûrement un paradoxe: s'il y a une demande relativement forte pour un langage, fut-il méprisé comme PHP ou Python, c'est à se demander si les employeurs qui sont derrière cette demande font du développement professionnel
    C'est aussi un problème de marché. On peut avoir des artisans de la programmation répondant aux besoins spécifiques de petites boites qui passent complétement sous les radars des SSII (ça ne les intéresse pas car ce sont de petits projets très risqués). Et on se retrouve avec des applications en production testées par la bonne volonté des utilisateurs (ça sera pas des tests d'intégration continues ni des plan de tests et pour la revue de code, il n'y a personne) et qui seront pérenne tant que l'artisan qui les a réalisé ne mette pas la clé sous la porte et/ou parte à la retraite.

    Est ce que c'est un problème? Il y a toujours eu 2 grandes écoles pour la gestion d'un système d'information: on sous traite tout à des IBM ou des microsoft (c'est cher) ou on a des gens très compétents qui font ou encadrent le gros du boulot en interne ou étant très proches. C'est moins cher et plus agile, le risque est dans la gestion de ces compétences dans la durée et les frictions qu'ils pourront avoir avec les directions métiers.

    Ce qui est sûr, c'est qu'aussi bien pour les langages que pour les compétences, il faut rechercher un équilibre... et le problème est multifactoriel: ce qui va marcher pour l'un sera catastrophique pour d'autres.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  11. #11
    Membre éclairé

    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Novembre 2008
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur d'études

    Informations forums :
    Inscription : Novembre 2008
    Messages : 65
    Par défaut
    "Python inefficace pour la plupart des projets pro", certains peut-être, mais apparemment pas la plupart. Par exemple dans le traitement data et calcul scientifique il est au top. Pour indice voir aussi l'index Tiobe, en 10 ans d'évolution... Je l'invente pas ça non plus

  12. #12
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 816
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 816
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par Bruno Voir le message
    L'analyse de Jos Visser est-elle pertinente ?
    Pas vraiment. Parce que tout ce qu'il dit en réalité c'est que Python est un bien beau langage mais il a ses faiblesses et si ces faiblesses sont critiques vis à vis d'un projet X alors il ne faut pas l'utiliser. Ce qui est parfaitement vrai. Mais c'est vrai pour tout langage. Donc cette analyse qui dit en simplifié "un truc qui n'est pas adapté n'est pas adapté" est peut-être exacte mais n'apporte rien de vraiment pertinent.
    De plus commencer son argumentation par "j'ai vu des codes pourris tourner sans avoir été testés" ben oui je veux bien mais est-ce la faute de Python ?

    Citation Envoyé par Bruno Voir le message
    Comment Jos Visser explique-t-il la popularité continue de Python malgré ses supposés défauts ?
    Parce que Python a été pensé pour être assez central. Son crédo de base est "je ne peux pas tout faire très bien donc je fais tout au mieux et je vous laisse ensuite déléguer à d'autres outils plus adéquats les trucs plus spécifiques". C'est un peu comme demander "pourquoi le béton est-il si apprécié dans la construction alors qu'il est moche?" réponse : parce que le béton n'est que le support solide et la beauté est faite avec d'autres matériaux.

    Citation Envoyé par Bruno Voir le message
    Quels sont les avantages et les inconvénients de Python par rapport à des langages compilés et sûrs du point de vue du type, comme C++, Java ou Go ?
    Avantage: il n'a pas été conçu pour les mêmes buts
    Inconvénient: il n'a pas été conçu pour les mêmes buts
    C'est comme demander "quels sont les avantages et inconvénients de l'avion par rapport à l'hélicoptère"...

    Donc voilà, un bien beau discours mais qui ne fait en réalité que brasser du vent
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 29
    Par défaut Grosse pub pour rust... encore.
    "n'est pas vérifié avant l'exécution et qu'il peut produire des erreurs ou des exceptions selon les données qu'il reçoit"... J'utilise beaucoup de C++, et les erreurs à l'exécution existe aussi, croire que le typage va tout résoudre est un peu naïf.
    "Il donne l'exemple d'une application qui lançait du code qui n'avait jamais été testé ni exécuté auparavant"... Et avec n'importe quel langage on obtiendra le même résultat, pas testé donc pas valide, le travail n'est clairement pas terminé, pareil pour ceux qui ne documente pas leur code et le fond faire par des prestataires (les tests aussi mais là c'est une hérésie mais c'est bien réel malheureusement).

    Le peu que j'ai vu de rust ne m'a pas du tout convaincu d'y passer, pour moi il est encore plus que prématuré de s'y lancer professionnellement, à moins d'être kamikaze. Quand à python, cela reste un excellent langage, avec des défauts, et des qualités, et des domaines où il est mieux adapté qu'ailleurs. Et c'est comme tout, un excellent langage dans les mains des mauvaises personnes, produira toujours un résultat imprévisible. Imposer rust à une équipe qui ne le connais pas et je parie que le résultat ne sera pas merveilleux.

    Et puis, on se focalise souvent sur le langage, mais à la base pour réussir une application, c'est avant tout un travail de réflection, conception, test, le langage n'est qu'un outils. Dans ma jeunesse on m'avait interdit d'utiliser du C++, j'ai conçu tout une bibliothèque avec des classes, héritage, polymorphisme en langage C, c'était certes bien plus lourd mais pas infaisable, dans ce cas le langage C++ m'aurait aider, mais au final cela ne m'a pas manqué, car j'ai pu concevoir ce que je voulais faire.

Discussions similaires

  1. Réponses: 0
    Dernier message: 14/02/2020, 11h00
  2. Réponses: 3
    Dernier message: 26/08/2018, 19h23
  3. Conception d'un MCD pour la gestion des projets
    Par abderazaqtr dans le forum Merise
    Réponses: 23
    Dernier message: 05/09/2016, 15h31
  4. [Recrutement] recrutement d'un infographiste pour un ou des projet en loire Atlantique
    Par watsky44 dans le forum Projets
    Réponses: 4
    Dernier message: 03/12/2012, 23h25
  5. Réponses: 0
    Dernier message: 13/03/2008, 10h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo