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

Affichage des résultats du sondage: Considérez vous que Python soit adapté à un usage professionnel ?

Votants
155. Vous ne pouvez pas participer à ce sondage.
  • Oui, Python est adapté à une utilisation professionnelle (argumentez)

    111 71,61%
  • Non, il n'est pas adapté pour cet usage et un autre langage doit être choisi (argumentez)

    9 5,81%
  • Je n'utilise pas Python

    18 11,61%
  • Sans avis

    15 9,68%
  • 1 0,65%
  • 1 0,65%
Python Discussion :

Python est-il adapté pour un usage professionnel ?


Sujet :

Python

  1. #81
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Points : 6 789
    Points
    6 789
    Billets dans le blog
    15
    Par défaut
    Je pense que tyrtamos voulait dire C ou C++ en écrivant C/C++
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

  2. #82
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 461
    Points : 9 248
    Points
    9 248
    Billets dans le blog
    6
    Par défaut
    Oui, bien sûr, merci Jiyuu.

    A part ça, il y a une utilisation de cython qui, bien que présentée dans la doc, est peu connue: en utilisant les décorateurs python prévus par cython, on peut traiter une fonction ou une classe Python sans quasiment rien y changer, parce que ce sont les décorateurs qui ajoutent les déclarations qui manquent pour la compilation: http://docs.cython.org/src/tutorial/pure.html.

    Avec un peu de pratique, on y gagne beaucoup de temps parce qu'il ne faut pas réécrire spécifiquement pour Cython. Et pour avoir essayé les 2 méthodes, celle-ci obtient la même performance.
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  3. #83
    Membre éclairé
    Inscrit en
    Juillet 2012
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Juillet 2012
    Messages : 231
    Points : 870
    Points
    870
    Par défaut
    Citation Envoyé par tyrtamos Voir le message
    Désolé, mais c'est faux: avec cython, on peut demander la compilation en C OU en C++. C'est dans la doc: http://docs.cython.org/src/userguide...CPlusPlus.html.

    Et pour l'avoir déjà utilisé, je confirme que ça marche.
    Ha ok, je ne savais pas.
    Et bien tant mieux alors

    Citation Envoyé par Jiyuu Voir le message
    Je pense que tyrtamos voulait dire C ou C++ en écrivant C/C++
    Alors pourquoi ne pas l’écrire ?
    Pour ce que j’en sais / n’a jamais été un synonyme de ou en français.
    Mais bon, pas besoin de partir dans un débat là-dessus, les choses sont claires maintenant. Pour moi le sujet est clos (et j’aurai appris que Cython génère aussi du C++)

  4. #84
    Futur Membre du Club
    Inscrit en
    Novembre 2012
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Novembre 2012
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par Enerian Voir le message
    Euh... ok... mais si tu pouvais nous expliquer ......
    Désolé pour le retard. Pour la structuration, qq1 a déjà expliqué le problème. J'ajoute le problème dans python des caractères non affichés. Il y en pas mal en ascii, dont en particulier l'espace et la tabulation, qui à eux seuls peuvent créer des problèmes invisibles. De plus au delà de 3 niveaux d'indentation, c'est vite le b....
    Quant au fait que python est un langage orienté ligne, c'est dans sa nature. C'est un langage de "scripting" comme j'ai pu déjà lire.
    En revanche, le fait qu'il soit pro ou non, c'est un jugement purement personnel. C'est l'avenir qui le dira.
    Pour la petite histoire, je me souviens de mon premier cours de SQL, juste avant qu'il ne devienne célèbre et populaire. Ce langage était destiné à l'origine à l'usage de l'utilisateur final, comme par exemple le PDG d'une boite désireux de faire ses propres requêtes en base (on nous le "vendait" comme cela). Maintenant il est devenu un langage de programmation professionnel incontesté, a destination des programmeurs, et cela malgré ses énormes défauts (pas de norme, optimisation compliquée, etc...). Comme quoi, le statut "pro" n'est jamais prévisible. Le marketing et l'irrationnel ont une part importante dans le destin d'un langage.

  5. #85
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par vfelix Voir le message
    En revanche, le fait qu'il soit pro ou non, c'est un jugement purement personnel.[...]Comme quoi, le statut "pro" n'est jamais prévisible.
    En fait, la question "Tel langage est-il pro" n'a pas grand sens. La question est plutôt : "Tel langage peut-il être utilisé dans un cadre professionnel ?". Ou encore "Tel langage est-il apte à répondre à certaines problématiques rencontrées dans un cadre professionnel ?".

    Quand on a clarifié la question, la réponse est immédiate pour le langage Python : oui. Ce n'est pas une question d'avis ou de préférence, c'est une question de réalité. Le langage a déjà été utilisé pour répondre a des problématiques dans un cadre pro.

  6. #86
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Points : 891
    Points
    891
    Par défaut
    Ne peut on pas juste faire le bilan.

    Il y a 6 ans quand j'ai commencé ma carrière dans l'informatique, les poste de dev python était rare et les compétences aussi rare.

    6 ans après, il apparait que les compétences soit toujours aussi rare, mais le nombre de poste a tendance à exploser (toute proportion gardée).
    Je suis contacté en ce moment en moyenne 1 fois par semaine par des recruteur à la recherche de compétences python.

    Un langage qui ne serais pas PRO, ne serais certainement pas plébiscité par des entreprises de plus en plus nombreuses. Non!?

  7. #87
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    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 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par Enerian Voir le message
    En fait, la question "Tel langage est-il pro" n'a pas grand sens. La question est plutôt : "Tel langage peut-il être utilisé dans un cadre professionnel ?". Ou encore "Tel langage est-il apte à répondre à certaines problématiques rencontrées dans un cadre professionnel ?"
    Le fait qu'un forum Python existe sur Developpez (Club des développeurs et IT "pro") depuis 2004 répond déjà a la question.

    Citation Envoyé par airod Voir le message
    6 ans après, il apparait que les compétences soit toujours aussi rare, mais le nombre de poste a tendance à exploser (toute proportion gardée).
    Être suffisamment demande pour rémunérer des développeurs Python comme l'est aujourd'hui PHP, ou "Python deviendra-t-il un jour main stream" est un sujet a lui tout seul.
    Comme c'est de la prospective, un sondage - qu'en pensez vous? - pourrait être intéressant.

    Canvas a poste dans le forum TCL/Tk l'URL d'une suite de slides qui presente:
    The 10 programming languages most likely to drive developers insane
    When developers discuss the programming languages they hate the most, these names tend to come up - a lot
    Python y est bien sur cite.
    Le plus remarquable est la bullet:
    How to avoid it: Don’t work at Google, Yahoo or NASA.
    Si vous savez comment utilisent Python ces sociétés la.... on y retrouve de vieux sujets de discussions.
    Avec Google cherchez "programming at large at small" vous trouverez pleins de bonnes lectures.
    Une a ne pas manquer est le vieux papier de l'UCB. Il parle de construction des "programmes" avant l'invention de la POO, et de Python,... et explique l’intérêt des langage de "glue" - module interconnection langages - i.e. d'un Python.

    Pourquoi ce qui se fait chez "Google, Yahoo or NASA..." n'est pas plus populaire en France?
    Nous avons trop spécialisé l’activité de "codage" dans l'organisation du développements d'applications.
    Un développeur qui "code" encore après 10 ans d’expérience n'a pas eu l’opportunité d’évoluer vers des postes plus rémunérateurs comme manager, chef de projet,...
    Problème: Après 10 ans d’expérience vous avez a peine eu le temps d'apprendre le métier du "dev" avec un langage "main stream" particulier. et on tombe dans le syndrome "if all you have is a hammer, everything looks like a nail"

    Si vous regardez les choses de plus haut, c'est comme un eco-systeme. Il s'auto-entretient...
    Bonne nouvelle, le "cloud" fera bouger les choses.
    Mais en France, ce sera plus lent qu'ailleurs.

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

  8. #88
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2011
    Messages : 15
    Points : 76
    Points
    76
    Par défaut
    Citation Envoyé par CodeurPlusPlus Voir le message
    Tous les langages sont documentés, tous sont outillés au moins pour certains types d'utilisations, donc ce ne sont pas des arguments.
    Je ne suis pas totalement d'accord.
    Si tous les languages sont documentés, la qualité et la facilité d'utilisation de la documentation peut être extrement variable.
    Sur la partie outillage, effectivement, je n'ai pas été assez précis.
    J'entend par là, ce que je considère comme des outils de base "aujourd'hui", c'est à dire:
    • isolation de l'environnement (virtualenv)
    • test unitaires
    • gestionnaire de dépendance (pip)
    • packaging propre (setuptools, même si j'en conviens, jusqu'à la version 1.0 il y a eu beaucoup de dispersion)
    • interpreteur dynamique (aucun n'arrive à la hauteur d'iPython, sauf peut-être les consoles javascript des browsers)
    • gestion des logs
    • ...


    Là encore c'est un point de vue qui n'engage que moi et qui correspond à la façon que j'ai de développer (pas seulement en Python)

    Citation Envoyé par CodeurPlusPlus Voir le message
    "rapide à apprendre" ce n'est pas un critère ; ou plutôt si, c'est un mauvais critère, les langages les plus expressifs sont tous difficiles à apprendre, les langages les plus haut niveau sont tous difficiles à apprendre, les langages les plus bas niveau sont tous difficiles à apprendre,... tous les langages qui sont en eux-mêmes des avantages technologiques et permettent de faire les choses les plus poussées ou les plus efficaces sont difficiles à apprendre.
    Dans un environnement professionnel, potentiellement soumis au turn-over et au marché du recrutement difficile en ce moment, où il peut y avoir plusieurs langages à maitriser pour travailler et produire, je considère que c'est un critère extrêmement important.

    Citation Envoyé par CodeurPlusPlus Voir le message
    En revanche tu as totalement raison de rappeler que du code Python est facile à écrire et à relire, ce sont ses principaux points forts et c'est pour cela que Python est adapté au développement rapide ou à la recherche.
    Tout à fait d'accord

    Citation Envoyé par CodeurPlusPlus Voir le message
    Dans quel domaine ? Dans le mien, Python est inenvisageable, et pourtant je suis un "artisan" du logiciel et non un "industriel".
    Cartographie, backoffice en tout genre, calcul numérique...

    Après, je conçois totalement qu'il y ai des domaines ou Python est inenvisageable (je suis d'ailleurs intéressé par une liste avec justifications), mais je pense que dans ces domaines, ce n'est pas spécifique à Python mais à la majorité des langages.

    Citation Envoyé par CodeurPlusPlus Voir le message
    En 2013 le développeur Python moyen, c'est à dire tout le monde, n'est pas plus doué que le développeur Java moyen. Il y a dix ans, Python était nouveau et ceux qui s'y intéressaient étaient des bons. (D'ailleurs à l'époque moi aussi je n'ai juré que par Python... pendant quelques mois) Ce n'est plus le cas aujourd'hui, Python étant enseigné partout et n'étant pas difficile à maîtriser.
    Pas tout à fait d'accord.

    Si effectivement il est facile d'apprendre le Python, très peu de SSII ont des profils qui l'utilisent et/ou une offre associée comme ça pourrait être le cas pour Java, C# ou php.
    En conséquence, il y a beaucoup plus de developpeur Java que de développeur Python, et beaucoup refont sans cesse le même type d'applications ou TMA pour les même clients.
    Je pense que le niveau moyen d'un développeur d'un langage qui n'est pas un langage du "marché" est plus élevé.
    Mais cela n'empêche pas qu'il y ai d'excellents développeurs en Java et de très mauvais en Python, mais on parle de moyenne.

    Au cours des différents entretiens que j'ai pu faire passer (et j'en ai fait passer beaucoup, sur différentes technos), cette différence de "potentiel" s'est souvent faite ressentir, ce ne sont pas les mêmes profils du tout en général.
    Bien sûr, comme pour tout recrutement, il y a les critères objectifs mais aussi une part de subjectivité, et c'est vrai que j'ai souvent eu une meilleure affinité philosophique et technique avec les développeurs Python qui ont tous (ceux qui j'ai eu en entretien) en commun une certaine soif d'apprendre et de découvrir là ou la majorité des développeur Java que j'ai pu voir se contentait de leurs acquis car ils leur suffisait pour être pris sur des missions et être payés.



    Citation Envoyé par CodeurPlusPlus Voir le message
    Fais monter le niveau, alors ! (Pour le moment c'est raté)
    Désolé, je me suis emporté et cette remarque ne fait effectivement pas monter le débat.
    Ce que je voulais souligner c'est l'augmentation des sujets de type "un language vs un autre" ou alors "ce langage est-il adapté à ..." ...
    Ces sujets se transforment assez facilement en trolls car il ne vont attirés principalement que les afficionados et les détracteurs qui ne changeront pas d'avis au cours du débat (comme c'est le cas pour moi par exemple: je donne mes arguments qui sont du vécu mais il n'y a aucune chance que je change d'avis, même si j'entend certains arguments)

    Citation Envoyé par CodeurPlusPlus Voir le message
    Pour prototyper je préfère Lisp, mais si je ne connaissais pas Lisp je considèrerais Python comme un excellent candidat pour faire des prototypes (ou des maquettes). Quand je commence des recherches dans un nouveau domaine, j'ai tendance à coder tout ce que je peux en Lisp parce que Lisp est génial pour explorer tous azimuts... et quand j'ai une réponse solide pour chacun des principaux problèmes à résoudre, en général je recode tout en C pour avoir la performance dont j'ai besoin.

    J'ai pu constater que c'était au final beaucoup plus rapide de faire cela que de tout coder en C depuis la phase de recherche. Coder tout en Lisp (ou en Python) serait encore plus rapide, mais mes applications rameraient.
    De la même façon, je prototype tout en Python.
    La seule différence, c'est qu'aujourd'hui, je n'ai jamais eu a réécrire aucune brique dans un autre langage.
    La partie qui demande plus de performances ont à chaque fois été écrite en Cython, qui est simplement du Python.

    Je pense qu'il n'y a pas de langage prévu pour prototyper mais juste des langage avec lesquels ont est plus ou moins rapide.
    Pour certains ça sera le Python, d'autre le php...

    Ce que je voulais souligner, c'est l'aspect "uniquement pour prototyper" sur lequel je ne suis pas d'accord.


    Citation Envoyé par CodeurPlusPlus Voir le message
    Il y a pourtant des langages qui sont inutilisables dans certains domaines. Python est génial comme langage de script, ou pour le WEB. Peut-on généraliser son emploi à tous les types d'applications ? Sûrement pas. Pour l'informatique de gestion, j'imagine qu'on peut utiliser Python sans problème. Pour créer un système d'exploitation, un jeu ultra rapide avec un rendu "next-gen", ou pour faire de la programmation temps réel, Python est un des derniers langages à considérer. En fait il ne faut même pas le considérer du tout.
    C'est là que la distinction entre le langage et l'environnement d'execution ou la chaine de compilation intervient.
    Il y a quelques années, tout le monde avait le même discours avec Java.
    Aujourd'hui Java est utilisé dans l'embarqué ou pour Android par exemple.
    Qu'est-ce qui a changé entre temps: des périphériques adaptés sont apparus en parallèle de l'amélioration de la chaine de compilation (JIT...)

    Je suis d'accord qu'aujourd'hui ces domaines ne sont pas accessibles en Python, mais ce n'est pas lié au langage mais à l'environnement qui lui est contraint. Dans ces domaines, il n'y a souvent pas de choix possible.

    Je pense que l'on peut appliquer ce raisonnement à tous les langages sortis du C/C++, de l'assembleur (), et plus récemment de Java et C# sont entrés dans la courses mais parce que des constructeurs ont fournis matériel et/ou outils de cross-compilation adaptés.

    Les cas OS, jeux ultra-rapides... sont vrais.
    Ce sont des cas extrêmement particuliers qui sont très contraints.
    L'éditeur d'un moteur de jeux 3D choisira probablement C/C++ pour les perfs, mais l'éditeur du jeux lui aura le choix dans les langages fournis par le moteur et là il n'y aura plus les même contraintes.
    D'ailleurs, les bindings Python pour les lib en C/C++ se trouvent très facilement de par la facilité qu'il y a à les fournir.

  9. #89
    Membre habitué
    Homme Profil pro
    Ingénieur / Enseignant
    Inscrit en
    Février 2012
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur / Enseignant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 115
    Points : 139
    Points
    139
    Par défaut
    Bonjour

    J'ai lu tout le fil de la discussion.

    Pour ma part je trouve que la question devait être posée puisque je cherchais moi-même la réponse.

    Alors comme certains ont pu le dire, peut être que la question n'a pas été posée comme il aurait peut être fallu, qui plus est par un modérateur. Mais vouloir poser plusieurs questions en une seule n'est pas toujours aisé. Tout le monde n'est pas expert et ce forum aide aussi ceux qui veulent le devenir, non?

    Donc en étayant la question à partir d'exemples, cela permettra peut être de répondre à la question du départ.

    Si, sans vous étriper, vous pouviez y répondre, cette discussion n'aura pas été vaine.

    Je ne suis pas développeur, je me suis toujours contenté de faire des petits bouts de programmes pendant mes diverses formations.
    Je n'ai pas trop accroché en C lors de mon BTS et moyennement en Pascal.
    Pas non plus en Java en maitrise et un peu plus en PH.
    Par contre beaucoup plus emballé en Master par Python (il s'est passé +20 ans entre mon BTS et mon Master ^_~).

    Je souhaite juste savoir si Python est adapté par exemple pour :

    - une application avec BD pour une PME (gestion personnels/équipes, gestions chantiers, gestion plannings).

    - une application avec BD pour un cabinet médical (gestion des patients, gestion des images radio, gestion salles, médecins).

    Quand je dis adapté, c'est au niveau possibilités graphismes et performances.

    merci

  10. #90
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Points : 6 789
    Points
    6 789
    Billets dans le blog
    15
    Par défaut


    Avant tout merci à toi pour ta participation. De l'eau ayant beaucoup coulée sous les ponts, je ne reviendrai que sur tes dernières questions.

    Citation Envoyé par melwin Voir le message
    Je souhaite juste savoir si Python est adapté par exemple pour :
    - une application avec BD pour une PME (gestion personnels/équipes, gestions chantiers, gestion plannings).

    - une application pour un cabinet médical (gestion des patients, gestion des images radio, gestion salles, médecins).
    Pour l'un comme pour l'autre je pense que Python peut très bien faire l'affaire surtout si tu l'associes à un framework GUI comme wxPython, PyGTK ou PyQt. Personnellement j'utilise le deuxième.
    Je suis d'ailleurs moi-même sur un projet de gestion commerciale, compta, gmao, ... et évidemment je vais faire tout ceci en Python.


    Citation Envoyé par melwin Voir le message
    Quand je dis adapté, c'est au niveau possibilités graphismes et performances.
    merci
    Coté graphisme si tu reste sur Tkinter tu risque d'être très vite limité. Par contre dès que tu vas passer à un framework GUI plus élaboré comme ceux cités plus haut là tu vas vite commencer à te faire très plaisir.

    Concernant les performances, je reste convaincu que Python peut très bien "suffire" dans la majorité des cas. Cependant, et comme je ne veux pas non plus mourir trop *** j'ai commencé à regarder l'intégration de code C++ dans un "programme" Python... et bien c'est assez impressionnant je dois le reconnaître. Ça donnerai presque envie de se mettre au C++ de manière totale. Dommage que je n'arrive pas à rester plus de 5min devant un code écrit dans ce langage .

    Bref, pour faire simple : le couple Python + un framework GUI sera satisfaisant tant du point de vue aspect graphique que performance et pourra être avantageusement associé à du code C++ si un morceau de code devait être très rapide.
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

  11. #91
    Membre habitué
    Homme Profil pro
    Ingénieur / Enseignant
    Inscrit en
    Février 2012
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur / Enseignant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 115
    Points : 139
    Points
    139
    Par défaut
    Merci à toi pour cette réponse rapide qui vient confirmer ce que je pensais.

    Je regarderai du côté des frameworks GUI.

    On verra par la suite pour l'intégration C++ quand je serait plus à l'aise avec Python.

  12. #92
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Points : 6 789
    Points
    6 789
    Billets dans le blog
    15
    Par défaut
    Coté framework GUI, et très personnellement, je ne pourrai que te conseiller PyQt. Je pense qu'il est l'un des plus utilisés et des plus complets.

    D'autre part, il est très souvent mis à jour pour suivre les évolutions de Python et Qt (eput-être même le seul vraiment compatible avec Python 3.x -Tkinter mis à part-)

    Et pour finir, même si la doc n'est pas forcément très détaillée, dès que tu coinces tu trouveras très facilement de l'aide ici ou là notamment avec des exemple issus directement de Qt. Avec le temps, la gymnastique d'esprit nécessaire pour passer des exemples C++ à Python se fait très simplement.
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

  13. #93
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    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 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par melwin Voir le message
    Quand je dis adapté, c'est au niveau possibilités graphismes et performances.
    Cote graphisme, tout dépendra du framework "graphique" que vous utiliserez. Excepte Tkinter qui est inclus de base, les autres Wx, Qt, GTK.... sont disponibles via des "plugins" qui permettent d'en utiliser les fonctionnalités a partir de Python.

    Vous voyez que les performances cote "graphique" dépendent peu de Python mais du framework écrit en C ou C++.
    C'est pareil cote BDD: ce seront des codes écrits en C/C++ utilises depuis les scripts Python.

    Restent les scripts Python qui réaliseront les fonctionnalités qui intéresseront les utilisateurs de l'application: le plus important.

    - une application avec BD pour une PME (gestion personnels/équipes, gestions chantiers, gestion plannings).

    - une application pour un cabinet médical (gestion des patients, gestion des images radio, gestion salles, médecins).
    Vos applications sont plutôt composites: les relations entre "gestion personnels/équipes", "gestions chantiers", "gestion plannings" sont construites en BDD et les traitements plutôt spécifiques a chacun des domaines.
    Quelque soit le langage, les performances seront meilleures en évitant de solliciter le SGDB i.e. faire des entrées/sorties disques qui induiront des délais dans les séquences de traitements et qui pourront devenir "goulot d’étranglement".

    La moins mauvaise solution est une question de design:
    • s'il est pourri, ré-écrire le code en assembleur ne changera pas grand chose.
    • s'il n'est pas trop mauvais, vous gagnerez peut être un peu en optimisant des parties critiques.


    Le "design" d'une application est indépendant du langage de programmation. La qualité (robustesse, maintenabilité,...) du code qui réalisera ce design dépendra sans doute un peu de la maîtrise du langage et beaucoup de la maîtrise des frameworks, SGDB,... mis en œuvre.

    Dans ce cadre "Python est adapte" ou plutôt il ne pose pas plus de soucis que d'autres langages de programmation "généralistes" open source.

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

  14. #94
    Membre habitué
    Homme Profil pro
    Ingénieur / Enseignant
    Inscrit en
    Février 2012
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur / Enseignant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 115
    Points : 139
    Points
    139
    Par défaut
    Merci Wiztricks pour ta réponse.

    J'ai bien suivi les premières explications pour la partie graphisme.

    Un peu plus compliqué la deuxième partie, mais en relisant je pense avoir compris.

  15. #95
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 57
    Points : 62
    Points
    62
    Par défaut
    Python permet de développer des applications crossplateforme window-mac-unix sans trop de problème de compatibilité de librairie et se prête également à un usage de de script d'exploitation.
    l'accès à ses bibliothèques ne nécessite pas le développement de dll ou autre mécanisme d’accès comme pour le framework .net qui en limite l'usage et les capacité du vbs par exemple pour le monde windows;
    Actuellement je convertis une partie de mes scripts d'audits écris en vbs pour étendre leur capacités au monde mac/unix et transforme un script en particulier en application industrialisé python prenant en compte les problématiques et contrainte de chaque type de plateforme

    ce langage est un outil professionnel pour peu que l'utilisateur se conduit comme telle et industrialise son code ( ce qui est rarement le cas au vu des problèmes de mise en production lié à la gestion de l'environnement , des code d'erreur et autre ... auxquelles j'ai été confronté ces 3 derniers années )

    nota: python 2.7 est natif sous mac ( fournis avec ) et complètement intégré à l'outil gratuit de développement Xcode

    l’intégration de python 3;x ne pose pas de problème non plus

    Quelque soit le langage, les performances seront meilleures en évitant de solliciter le SGDB i.e. faire des entrées/sorties disques qui induiront des délais dans les séquences de traitements et qui pourront devenir "goulot d’étranglement".
    coté SGBD la bete noire des DBA c'est l’écriture une à une des transaction alors qu'une commande existe pour pousser en masse les données et faire un seul Commit au lieu de x ce qui consomme des ressources ;
    sur des SI construit autour d’échange de donnée de masse cela peut-être très critique , le problème c'est que souvent les problèmes de perf lié à ce point s’apparait qu’après la phase de VSR (vérification service regulier ) c'est à dire une fois que le changement à été généralisé alors que la consultation du DBA dans la phase d'analyse de la construction de l'application aurait été necessaire .

    un exemple de développement python professionnel qui fonctionne depuis 10ans http://www.eveonline.com/ ( leur client de jeux à 90% et une partie coté serveur)
    une chaine de mise en production propre et environnement de test , mass test , lotissation... (client windows, mac , unix ) 350k de compte 50k de connection en moyenne chaque jours ,
    c'est à la porté de tous de faire du code , faire une application ça l'est moins et une application industrialisé maintenu correctement encore moins , le challenge est là

  16. #96
    Inactif  

    Homme Profil pro
    NR
    Inscrit en
    Juin 2013
    Messages
    3 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : NR
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2013
    Messages : 3 715
    Points : 1 184
    Points
    1 184
    Billets dans le blog
    9
    Par défaut
    Pas de compilation, un typage dynamique, une syntaxe succincte, un debugger intégré, un shell de tests et des stack traces très verbeuses.
    Il y a de la doc, de la vrai (souvent dans les autres langages c'est soit rien, soit des gros pavées de texte incompréhensible).
    On peut pas codé cradement, il as une syntaxe simple et clair et qui force l'indentation. Difficile de mal codé sans faire exprès. Voila c’est ce que j’aime on indente pour quelque chose en double avantage stucture et lisibilité et peu de sucre syntaxique.
    Pas besoin d'installer des EDI de 10Go pour l'utiliser, on télécharge le programme (qui est leger) et un bloc note (notepad++, sublime text...etc) et sa marche.
    On peut tous faire (du web, des jeux 3D, du calcule scientifique, du big data...etc) et on peut utiliser des sgbd (Postgres, SQLite...etc).

    Le langage évolue (2 version/ans qui apporte des fonctionnalités/optimisation), il ne se meurt pas.
    Il est vieux et as de l'expérience (1990)

    Au final, on as un langage qui permet de codé n'importe quoi, rapidement, proprement, gratuitement et sur n'importe quels machine (pas besoin d'un I7+SSD avec Visual Studio). Que peut bien demander d'autre une entreprise ?


    1 défaut, le passage de python 2 a python3, sa à pas mal fracturer le langage, il existe encore beaucoup de script codé en python 2.7, la bonne nouvelle c'est que les 2 versions peuvent co-exister sur une même machine quand même.

  17. #97
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 461
    Points : 9 248
    Points
    9 248
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Juste un petit complément au passage.

    Pour coder "pro", il faut coder "solide" et pouvoir le prouver (assurance qualité). Or, en tant que langage interprété, Python laisse passer certains types d'erreurs, tant que la partie du code qui les contient n'a pas été sollicitée. Et donc, s'il y a ce type d'erreur et que les contrôles n'ont pas été assez loin, c'est l'utilisateur qui s'en apercevra, et peut-être longtemps après son acquisition...

    Prenons un exemple simple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    def toto():
        print(2)
     
    def tata():
        print(machin)
     
    ok = True
    if ok:
        toto()   
    else:
        tata()
    On voit bien que la variable "machin" n'est pas déclarée, ni en global ni en local. Mais aucune erreur ne sera déclarée en exécution parce que la fonction tata n'est pas sollicitée tant que ok est True. Mais si on met ok=False, il y a bien une erreur.

    La conclusion est facile à comprendre: pour coder "pro" il est indispensable d'utiliser un analyseur de code. J'utilise pour ma part "pylint" qui donnerait dans le cas ci-dessus, même avec ok=True, le message:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    E:  5,10: Undefined variable 'machin' (undefined-variable)
    Cet analyseur de code donne en plus beaucoup d'autres informations (erreurs, alertes, informations), y compris des recommandations pour s'approcher des bonnes pratiques de codage de Python (pep8).

    A noter que certains outils de développement intègrent ce type d'outil.


    En plus de cet aspect, je trouve que les outils qui permettent de fabriquer facilement une documentation par extrait des "docstrings" sont très intéressants: pour un informaticien, l'élaboration d'une documentation est le plus souvent un travail nécessaire mais pénible... Or, avec Python, il suffit de commenter suffisamment le code, ce qui est de toute façon nécessaire pour permettre sa reprise par un autre programmeur (autre aspect du codage "pro"...)! pour faire au moins une documentation minimale. Un outil comme pydoc est un minimum, mais il y a mieux ailleurs (sphinx par exemple). Cependant, ça s'ajoute à une documentation utilisateur "pédagogique" sans la remplacer...
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  18. #98
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    salut,

    j'en rajoute une couche rapidement en disant que pour la partie admin (c'est une profession aussi) les indentations de Python sont une contrainte non-négligeable, un admin faisant souvent bien plus de oneliners que de scripts, ce qui explique sans doute que Perl reste -malgré tout le bien que je peux penser de Python- indétrôné en entreprise
    pour autant j'ai déjà vu des admins utiliser Python pour leurs scripts en production, mais ça reste tout de même encore assez rare

  19. #99
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 434
    Points : 43 065
    Points
    43 065
    Par défaut
    Mon avis de non utilisateur :

    Je vais partir sur le dernier commentaire récent de Sazearte

    Pas de compilation : c'est à la fois son avantage et son inconvénient - cela dépend de ce que l'on veut, pour du langage scripté c'est ce que l'on recherche, et ça aura l’avantage de fonctionner sur n'importe quelle machine possédant un interpréteur python, d'être modifiable facilement. Pour la vitesse l'interprété c'est pas ce qu'il y a de mieux mais il y a eu une solution évoquée : cython. Cela m'apporte une question, existe t'il des moulinettes pour transformer du code Python en C/C++ ? Probablement.

    typage dynamique : Peut être une grosse source de problème, que ne laissera pas passer le langage C par exemple, mais cela apportant la contrainte de devoir déclarer les variables, mais cela est également valable en PHP par exemple. Y a t'il moyen de typer les variables ? ce qui apporterait la souplesse de la non-déclaration si c'est le choix qu'on en fait.

    Il y a de la doc, de la vrai : Je confirme, je m'y étais intéressé et la doc officielle fiat au moins 1500 pages. De ce que je m'en rappelle, elle intègre pleins de bibliothèques non natives Python mais couramment utilisées.

    1 défaut, le passage de python 2 a python3 : c'est un des points qui me rebuterais à l'utiliser, surtout que cela fait un moment que les 2 branches co-éxistent. Puis en regardant ceci : https://docs.python.org/3/whatsnew/3.0.html on peut voir que ce n'est pas non plus violent et si vous regardez le dernier paragraphe, vous verrez qu'en utilisant le paramètre -3 avec Python 2.6, il y aura des warnings sur les points à problème et qu'un convertisseur est fourni (après il est peut-être pas parfait...).


    Et comme l'exemple de tyrtamos, il est facile de reproduire cela avec un langage compilé comme le C, une simple mauvaise utilisation de pointeur dans une partie de code peu utilisée génèrera un segfault, ou pire des données erronées.

    Et enfin en ayant parcouru le post, je me suis rendu compte que beaucoup ne savaient pas ce qu'on appelait un langage base niveau et un langage haut niveau.

    Et pour répondre à la question "Python est 'il adapté à un usage professionnel ?"
    Que demande t'on dans le monde professionnel : être efficace. Python est simple à prendre en main, peut répondre à quasiment toute problématique demandé, onc oui il est adapté, mais de toute façon ce n'est pas un bon outil qui fait un bon ouvrier.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  20. #100
    Inactif  

    Homme Profil pro
    NR
    Inscrit en
    Juin 2013
    Messages
    3 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : NR
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2013
    Messages : 3 715
    Points : 1 184
    Points
    1 184
    Billets dans le blog
    9
    Par défaut
    1 défaut, le passage de python 2 a python3 : c'est un des points qui me rebuterais à l'utiliser, surtout que cela fait un moment que les 2 branches co-éxistent. Puis en regardant ceci : https://docs.python.org/3/whatsnew/3.0.html on peut voir que ce n'est pas non plus violent et si vous regardez le dernier paragraphe, vous verrez qu'en utilisant le paramètre -3 avec Python 2.6, il y aura des warnings sur les points à problème et qu'un convertisseur est fourni (après il est peut-être pas parfait...).
    Pour du code python sandard oui la conversion peut ne pas etre trop douloureuse.

    MAIS qui code en python sans utilisé de bibliothèques ? Pal mal de bibliothèques ont mis du temps (ou ne l'on pas encore fais) pour passer a Python3.
    Numpy par exemple à mis du temps avant d'avoir une version complete porté sur python3.
    Panda3D par exemple (une bibliotheque pour faire des jeux 3d) n'est pas encore passé en python3, c'est encore au stade béta.

    Si je compare à la transition entre PHP5.6 et 7, python sa à été l'enfer. Ubuntu par exemple utilise encore pas mal de script codé en python 2.7, si la migration est facile il l'aurais fait depuis des années.


    Pour ma part j'ai jamais aimée les langages comme le C car trop restrictifs. Avec python, je peut mettre n'importe quoi dans des listes par exemples.
    Python est très agile, ce qui permet de modifier/adapter un programme rapidement. Tres pratique quand le client sait pas ce qu'il veut (c'est du vécu)

Discussions similaires

  1. Le langage Java est-il adapté pour les jeux vidéo ?
    Par Invité dans le forum Développement 2D, 3D et Jeux
    Réponses: 637
    Dernier message: 05/02/2021, 22h38
  2. Réponses: 1
    Dernier message: 27/04/2009, 10h28
  3. Réponses: 44
    Dernier message: 21/01/2009, 10h34
  4. [Joomla!] un CMS est-il adapté pour mon site?
    Par welcominh dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 11/04/2008, 22h33

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