Python est-il adapté pour un usage professionnel ou doit-il être considéré comme un langage "amateur" ?
Quel est votre avis sur la question ?

Le , par Jiyuu, Rédacteur/Modérateur
Considérez vous que Python soit adapté à un usage professionnel ?
Python est-il adapté pour un usage professionnel ?
Participez au débat et donnez votre avis et/ou partagez votre expérience sur cette question.

Bonjour à tous,

Lors d'un précédent sondage sur les frameworks graphiques utilisés pour créer des interfaces graphiques avec Python, un débat parallèle sur l'utilisation dans le cadre professionnel de ce langage a vu le jour.

Pour certains développeurs, Python serait plus à considérer comme un langage à utiliser lors de la création du cahier des charges du projet, permettant de présenter une maquette de celui-ci plus rapidement qu'avec un autre langage.
En production, une fois que le cahier des charges est bien défini, le développeur choisirait alors un autre langage plus performant.

Pour d'autres, Python est tout à fait capable de répondre aux besoins des utilisateurs et à ce titre peut parfaitement être utilisé en production.

Et vous ?
Pensez-vous que Python puisse être adapté à un usage professionnel pour la production d'un projet ?
Croyez-vous que Python, avec les bibliothèques disponibles, puisse répondre aux besoins des utilisateurs ?
Utilisez-vous Python pour vos projets ?
Si oui, quelle est l'utilisation que vous en faites ?

Vous aussi participez au débat, donnez votre point de vue et argumentez en vous servant de votre vécu, de votre expérience, ...

Bon sondage et bon débat à tous.



Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de pfeuh pfeuh - Membre éprouvé https://www.developpez.com
le 16/09/2013 à 15:42
Salut,

j'utilise python professionnellement. Ses avantages sont pour moi

- La pléthore de bibliothèques que je n'aurais jamais à réécrire mais que j'utilise régulièrement (parser xml, matplotlib, driver can etc...).

- La vitesse d'écriture du code.

- La lisibilité.

- La facilité de génération de code source pour d'autres langages (typiquement des tableaux de structures C, des tableaux de bytes pour les binaires embarqués etc...).

J'écris beaucoup d'outils pour mes collègues qui développent en embarqué, c'est un domaine où python excelle. Comme on fait très facilement des distributions en python, ces outils atterrissent souvent chez les clients... Qui n'ont que le look à leur reprocher, car j'utilise tkinter... Mais c'est assumé, les clients qui veulent plus n'ont qu'à faire un cahier des charges et demander un devis.

A+

Pfeuh
Avatar de deusyss deusyss - Rédacteur/Modérateur https://www.developpez.com
le 16/09/2013 à 21:15
Definitivement un grand OUI !!!

Outre les arguments énoncés par Pfeuh, j'ajouteria également que Python sait s'adapter aux divers besoins: web, scripting, IHM, ... Il est également très facilement maintenable pour peu que l'on ai respecté un minimum les PEP.

Des outils comme Epydoc permettent facilement de maintenir une documentation claire à jour. S'il est impossible de faire d'une façon, ou que l'on ne sait pas faire, alors il existe un autre moyen d'arriver à nos fins.

En bref, c'est le couteaux suisses du langage informatique par excellence (notez le lien avec mon avatar Tux Mc Gyver ).
Avatar de PauseKawa PauseKawa - Membre expert https://www.developpez.com
le 16/09/2013 à 22:06
Bonsoir,

Déjà la question...
Python est-il adapté pour un usage professionnel ou doit-il être considéré comme un langage "bas niveau" ?
Un langage est dit de bas niveau lorsque le codage de celui-ci se rapproche du langage machine. Flatteur pour Python.
Dans le cas ou le "bas niveau" de votre titre voudrais dire "de mauvaise qualité" que faite vous ici ?

De mon coté je travaille tous les jours sur des serveurs Linux, donc c++/perl/python/etc... Vu les quelques milliers de clients professionnels que ma boite a en France je pense que le RoyalBlue est résolut.

J'ai une solution pour mes clients sous quelques heures/jours max, le service développement sur 1 mois minimum, souvent plus et parfois jamais car ma solution tourne bien et que le client ne souhaite pas changer.

Comme pfeuh j'utilise tkinter plutôt que Tcl/Tk direct.

Un petit rappel.
Java, C#, C++, Delphi, Python, C...
Que dire... Du "bas niveau" ?

Je ne vote pas

@+
Avatar de Jiyuu Jiyuu - Rédacteur/Modérateur https://www.developpez.com
le 16/09/2013 à 23:51
Citation Envoyé par PauseKawa Voir le message
Bonsoir,
Dans le cas ou le "bas niveau" de votre titre voudrais dire "de mauvaise qualité" que faite vous ici ?
Je reconnais qu'à première vue le terme bas niveau n'est peut-être pas le plus adapaté.
Evidemment il ne s'agit pas ici de dénigrer Python, bien au contraire.

Je ne sais pas si vous avez pris le temps de lire ce qui a motivé la réalisation de ce sondage (j'ai tendance à dire que non), mais éventuellement je vous invite à le (re)faire.

D'autre part, ce que je fais ici ? j'essaye d'animer un forum en proposant des articles, des sondages, des actualités. Et vous ?
Avatar de PauseKawa PauseKawa - Membre expert https://www.developpez.com
le 17/09/2013 à 7:25
Je me contente d'apporter des réponses aux questions posées. C'est aussi ce qui rend ce forum vivant et qui fait que les gents y reviennent.

Vous conviendrez que le sujet du débat est mal tourné. Surtout qu'en fait votre intérêt principal dans tout cela c'est les gros projets.

Oui Python est une merveille pour le prototypage rapide d’applications de pars sa rapidité d'implémentation mais aussi par sa maintenance facile. La mise en place rapide de fake (maquette de bibliothèque) permet un débug facile dans un laps de temps ridicule.
En fait le coût en maintenance/développement devrais être un argument de choix pour la poursuite du développement en Python mais c'est souvent mis de coté face à des besoins d'interface (pas souvent vraiment expliqués) ou d'existant et surtout face à la 'politique' de l'entreprise. On ne dit pas non au chef qui s’entête a vouloir le dernier WinDev.
Quiz du coté 'langage plus performant' : Si ce n'est de l'utilisation du c++ pour les jeux 3d ou autres choses du même style il me semble que l'approche facilité de développement et faibles coûts de maintenance rentre en ligne de compte pour ce qui est de la 'performance' d'un langage.

Pour ce qui est des champs d'application tout est permis. Certains langages seront sans doute plus a lèse dans certains cas mais Python est un touche à tout.

Savoir si Python est utilisable en production ? Sur ma banquise il l'est. Et les 'problèmes' ne viennent jamais de lui.

@+
Avatar de PauseKawa PauseKawa - Membre expert https://www.developpez.com
le 17/09/2013 à 7:50
A noter que l'on dit souvent oui au boss car on se souvient que lorsqu'il touche à Python cela pique les yeux et que l'on se dit qu’il est préférable qu'il fasse ses bug avec un autre langage
Avatar de Jiyuu Jiyuu - Rédacteur/Modérateur https://www.developpez.com
le 17/09/2013 à 9:09
Citation Envoyé par PauseKawa Voir le message
Je me contente d'apporter des réponses aux questions posées. C'est aussi ce qui rend ce forum vivant et qui fait que les gents y reviennent.
Et je vous en remercie grandement.

Citation Envoyé par PauseKawa Voir le message
Vous conviendrez que le sujet du débat est mal tourné. Surtout qu'en fait votre intérêt principal dans tout cela c'est les gros projets.
Avec grand plaisir :
Citation Envoyé par Jiyuu Voir le message
Je reconnais qu'à première vue le terme bas niveau n'est peut-être pas le plus adapaté.
Si d'ailleurs vous avez une formulation plus correcte je suis très preneur, surtout si ça peut vous décider à voter ensuite

Citation Envoyé par PauseKawa Voir le message
Oui Python est une merveille pour le prototypage rapide d’applications de pars sa rapidité d'implémentation mais aussi par sa maintenance facile. La mise en place rapide de fake (maquette de bibliothèque) permet un débug facile dans un laps de temps ridicule.
En fait le coût en maintenance/développement devrais être un argument de choix pour la poursuite du développement en Python mais c'est souvent mis de coté face à des besoins d'interface (pas souvent vraiment expliqués) ou d'existant et surtout face à la 'politique' de l'entreprise. On ne dit pas non au chef qui s’entête a vouloir le dernier WinDev.
Quiz du coté 'langage plus performant' : Si ce n'est de l'utilisation du c++ pour les jeux 3d ou autres choses du même style il me semble que l'approche facilité de développement et faibles coûts de maintenance rentre en ligne de compte pour ce qui est de la 'performance' d'un langage.

Pour ce qui est des champs d'application tout est permis. Certains langages seront sans doute plus a lèse dans certains cas mais Python est un touche à tout.

Savoir si Python est utilisable en production ? Sur ma banquise il l'est. Et les 'problèmes' ne viennent jamais de lui.

@+
Je vous invite à relire le topic qui m'a donné envie de créer ce sondage. En gros, deux points de vue :
  • Python c'est juste bon pour faire des tests sur un coin de table ;
  • Python permet de TOUT faire.


Je confirme que je soutiens le deuxième choix.
Avatar de tyrtamos tyrtamos - Expert éminent https://www.developpez.com
le 17/09/2013 à 9:24
Bonjour,

Je me garderais bien de dire que Python n'est pas utilisable en milieu professionnel: la simple présence de "openERP" montre qu'une PME peut confier à Python toute sa "machinerie" d'information qui la fait vivre.

Mais je pense que la vocation de Python est plutôt pour les applications plus petites. Grâce à la quantité énorme de modules, on peut développer rapidement (quelques heures) une application dans n'importe quel domaine, qu'une Direction Informatique "sérieuse" mettrait plusieurs mois de délai à réaliser dans une langage "sérieux" comme C/C++. Et je ne parle pas du coût...

J'ai vécu une telle situation dans le passé avec le Pascal. Il fallait simuler la sortie d'une production avec génération aléatoire de défauts selon des histogrammes, afin d'optimiser des postes de retouche. J'ai fait ça en quelques heures un week-end alors que la DI demandait 3 mois. Et ça a parfaitement fonctionné. De nos jours, j'aurais fait ça de la même façon en Python.

En résumé, il y a dans toutes les entreprises de nombreux besoins opérationnels qui sont mal couverts par les moyens lourds de l'informatique traditionnel, pour lesquels Python a une place très intéressante.

Cependant, je pense qu'en contrepartie de sa rapidité de développement, le Python est un peu trop "permissif" à mon goût pour faire des applications critiques. On peut compenser en utilisant des méthodes et des outils de développement rigoureux. Il faut aussi se doter de règles de documentation, afin que l'application puisse être maintenue dans le temps par quelqu'un d'autre. Bref, Python pour des applications professionnelles demande des pratiques de développement professionnelles.

Si on ne le fait pas, un bricoleur, même "génial", qui pisse des lignes de code comme on le faisait en basic il y a 30 ans, peut planter son entreprise.

Quand à parler de langage de "bas niveau", je pense que Python a plutôt une image de "langage de script", parce qu'on peut l'utiliser comme perl pour écrire des lignes de codes à exécuter dans une console. Quitte à lancer un troll, je pense que c'est plutôt le C/C++ qui est un langage de bas niveau: en dessous, il n'y a guère que l'assembleur... Et c'est vraiment regrettable , compte tenu des puissances machines actuelles, que ce soit le langage "normal" de développement des applications. J'aurais préféré un langage de haut niveau comme ADA, beaucoup plus rigoureux et contraignant qui empêche, par construction, de nombreuses bêtises de codage. Mais le marché, et ... les habitudes, en ont décidé autrement: c'est bien dommage.
Avatar de skypers skypers - Membre à l'essai https://www.developpez.com
le 17/09/2013 à 10:25
Python, langage de bas niveau. Ouais non, on préfère utiliser PHP.

Il faut arrêter de lancer des « débats » en disant n’importe quoi.
Avatar de Gugelhupf Gugelhupf - Modérateur https://www.developpez.com
le 17/09/2013 à 10:49
Pourquoi "bas niveau" ?

Pour moi un langage bas niveau ne nécessite pas d'interpréteur ou de machine virtuelle, et dont le produit (post-compilation) est le langage machine (fichier binaire compréhensible directement par le processeur).
Offres d'emploi IT
Responsable de projet logiciel H/F
Safran - Ile de France - Éragny (95610)
Ingénieur produit (FADEC militaire) H/F
Safran - Ile de France - 100 rue de Paris 91300 MASSY
Chef de projet technique H/F
Safran - Ile de France - Melun (77000)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Python