Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

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

70PARTAGES

5  5 
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.

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de pfeuh
Membre expérimenté 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
8  0 
Avatar de noirbizarre
Membre régulier https://www.developpez.com
Le 17/09/2013 à 13:45
Effectivement, je me suis un peu emporté en répondant mais l'attaque n'était effectivement pas personnelle.

Je suis surpris que l'on essaie d'associer le professionnalisme au langage de programmation en lui même.
Le monde professionnel est extrêmement vaste, alors de quoi parle-t'on ?
De quel industrie ? De quels usages ?

Sur la hauteur du débat, je trouve que de plus en plus de sujets sont effectivement des trolls:
tel language est-il mieux qu'un autre ?
tel language est-il plus adapté qu'un autre ?
...

Sur la problématique de l'usage professionnel, nous ne serions déjà pas d'accord sur la notion d'usage professionnel pour la plupart.

Quoi qu'il en soit, il n'y a pas de solution toute faite, mais avant des choix techniques réalisés par une ou plusieurs équipes après discussion autour de leur besoin...

Ca me rappelle un peu certains recruteur qui ne jurent que par Java et qui te prennent de haut ou ne te comprennent pas quand tu leur dit que tu ne veux plus en faire et que tu souhaite faire du Python: c'est un choix, que je suis capable de justifier par mes besoins, mes attentes et celles de mes clients.
6  0 
Avatar de tyrtamos
Expert éminent https://www.developpez.com
Le 21/02/2016 à 10:04
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
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
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...
4  0 
Avatar de noirbizarre
Membre régulier https://www.developpez.com
Le 17/09/2013 à 12:51
Mais c'est quoi ces questions à 2 balles ?!?!

J'ai pas pour habitude de prendre la parole, mais là c'est tros gros et ça m'a mis en colère!

Pensez-vous que Python puisse être adapté à un usage professionnel pour la production d'un projet ?

Pourquoi plus ou moins qu'un autre langage ?!
Python est documenté, outillé, rapide à apprendre, utiliser et surtout relire.

Si par professionnel on entend maintenable, Python l'est surement plus que la moyenne.

Si par professionnel on entend industrialisable, j'ai des exemples d'industrialisation extremement poussés en Python. Aucun soucis de ce côté là.

Si par professionnel on entend, "je veux pouvoir recruter des développeurs pas cher et en changer du jour au lendemain":
fais du java comme toutes les banques ou du php comme toutes les webagency et là tu auras des développeurs sans compétences, pas cher et interchangeables.

Croyez-vous que Python, avec les bibliothèques disponibles, puisse répondre aux besoins des utilisateurs ?

Franchement, il faut jamais avoir regardé ce qu'il y a dans la stdlib python pour se poser cette question.
Avec Python c'est "batteries included". Et si tu trouve pas ton bonheur dans ce qui est fourni en standard, et ben il y a PyPI et là tu multiplie tes possibilité à l'infini!

Utilisez-vous Python pour vos projets ?
Si oui, quelle est l'utilisation que vous en faites ?


Oui, je l'utilise sur mes projets pro et perso.
En terme d'utilisation c'est assez varié mais assez complet:
  • Sites web (persos ou à forte charge)
  • Backoffice Web
  • Batchs
  • Traitements géospatiaux
  • Calculs scientifiques
  • Traitement de gros volumes de données
  • Rendu cartographique
  • ...


Parmis ces réalisations, il y en a surement que vous avez déjà utilisées sans savoir que c'était du Python derrière.

Au delà de ces question, je trouve que la hauteur des débats diminue avec le temps.

Tous ceux qui pensent encore que Python est un langage pour prototyper, j'aimerai bien savoir quels sont les arguments pour justifier ça et surtout à quels langages ils passent ensuite.
De toute les entreprise que j'ai faite, j'en connais aucune qui a fait cette démarche, mais j'en connais plusieurs qui ont migré leurs applicatifs de:
  • C++ à Python
  • Java à Python
  • PHP à Python


Concernant les performances, je ne peux pas croire que quelqu'un croie encore en 2013 que le langage de programmation sera le goulot d'étranglement dans une architecture, quelque qu'elle soit.
La notion de performance est extrêmement relative et c'est pas avec un bench qui boucle 1000x sur un print que vous allez vous en rendre compte.

Pour finir, j'aimerai rappeler que le site générant le plus de traffic au monde, c'est à dire YouTube est lui même écrit en Python.
6  3 
Avatar de deusyss
Rédacteur/Modérateur https://www.developpez.com
Le 18/09/2013 à 7:51
Pour étayer un peu plus mon avis personnel sur la question, j'apporterais quelques ajouts d'exemple professionnel, outre Open ERP indiqué par Tyrtamos:
-GOOGLE
-La NASA
-Les serveurs Linux (partie administration)
-...

Et au niveau des jeux nous pouvons entre autre ajouter Wolrd Of Tank qui est codé en Python et utilisé par des millions de joueurs à travers le monde.

Côté pro, je vois passer des projets pour de gros comptes en PYTHON, pour usage production.

Tous ces exemples est une preuve selon moi que Python est parfaitement adapté pour un usage production en milieu professionnel.

PS: SMILE avait édité il y a quelques années un article tres interessant ici. Entre temps, Python est monté dans le classement
3  0 
Avatar de martopioche
Membre éclairé https://www.developpez.com
Le 18/09/2013 à 12:50
Désolé, mais à contre courant je répondra que NON, Python de DOIT PAS ÊTRE UTILISÉ POUR DES PROJETS PROFESSIONNELS

Nous sommes en France, la majorité de notre "industrie informatique" est la SSII, donc des bétaillères à faible compétences faisant un job purement alimentaire, basé sur un modèle sur lequel on facture à la journée. Donc un langage efficace, non merci !!!

Bon, mais sinon, pour ceux qui cherchent à s'en convaincre, allez juste voir les talks des confs Euopython pour voir le nombre de Start Up qui se sont montés en s'appuyant sur Python. Ces échanges sont intéressants car ils démontrent que si Java/.Net sont considérés comme les langages "d'entreprise", c'est bien par la dynamique et l'absence de remise en question. Je ne dis pas que tout doit être benné pour être remplacé par du Python, il est loin d'être efficace en tout, mais il s'intègre bien sur beaucoup de parties (Django pour le front <3 ). Sauf qu'on arrive alors à une composition, pas du tout appréciée dans le milieu professionnel qui préfère une uniformisation... Sans compter le manque de compétence, en Python, mais aussi en C quand on a besoin de performance. D'où mon intervention satyrique du début...
4  1 
Avatar de 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.

@+
3  1 
Avatar de tyrtamos
Expert éminent https://www.developpez.com
Le 17/09/2013 à 11:32
Un langage de "bas niveau" est un langage proche du langage machine, tel qu'on l'écrit (et non tel qu'il s’exécute après compilation). L'exemple extrême est l'assembleur:

https://fr.wikipedia.org/wiki/Langage_de_bas_niveau

Avec cette définition, Python n'est pas un langage de bas niveau, ou sinon, le C/C++ serait encore plus "bas"... Je pense qu'il y avait confusion avec "langage de script" comme je l'ai dit plus haut.

@skypers

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.
Il te faudra peut-être attendre une expérience de quelques années en entreprise avant d'être crédible sur un tel sujet...
3  1 
Avatar de azmar
Membre averti https://www.developpez.com
Le 17/09/2013 à 12:07
J'ai l'impression qu'il y a un cafouillage quelque part.

La question semble être: Est-ce que python est un langage de bidouille ou alors un langage utilisable pour coder des projets conséquents destiné à la publication/vente?

Hors là la question c'est :"Python est-il adapté pour un usage professionnel ?"

Dans un usage professionnel on fait plein de soft qui ne servent pas à être vendu ou publiés. Que se soit des scripts, des proto ou des outils internes.

Ou alors c'est moi qui est mal compris?

Azmar
2  0 
Avatar de fred1599
Expert confirmé https://www.developpez.com
Le 17/09/2013 à 16:47
Bonsoir,

En ce qui me concerne, je travaille avec python pour mon travail (mais c'est pas obligatoire) et pour mon plaisir.

Je travaille très souvent qu'avec Python.

Quand j'ai des gros calculs qui tuent la mort, j'utilise l'interfaçage Python/C qui me suffit dans 99% des cas.

La plupart du temps, quand je ne fais que du C, et que je veux pas m'embêter avec l'interface graphique, je passe à l'interfaçage Python/C encore une fois.

Bref tant que ça ne demande pas d'optimisation calculatoire, j'utilise python à 100%, ce qui est la majorité des cas que j'ai à traiter, surtout que ce n'est pas une obligation...

Bonne continuation à tous.
2  0