Je pense que tyrtamos voulait dire C ou C++ en écrivant C/C++
Oui, Python est adapté à une utilisation professionnelle (argumentez)
Non, il n'est pas adapté pour cet usage et un autre langage doit être choisi (argumentez)
Je n'utilise pas Python
Sans avis
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
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
Ha ok, je ne savais pas.
Et bien tant mieux alors
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++)
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.
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.
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!?
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.
Ê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:
Python y est bien sur cite.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
Le plus remarquable est la bullet:
Si vous savez comment utilisent Python ces sociétés la.... on y retrouve de vieux sujets de discussions.How to avoid it: Don’t work at Google, Yahoo or NASA.
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
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)
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.
Tout à fait d'accord
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.
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.
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)
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.
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.
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
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.
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.
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
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.
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
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.
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.- 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).
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
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.
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
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 ;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".
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à
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.
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:
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.
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()
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:
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).
Code : Sélectionner tout - Visualiser dans une fenêtre à part E: 5,10: Undefined variable 'machin' (undefined-variable)
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
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
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
Pour du code python sandard oui la conversion peut ne pas etre trop douloureuse.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...).
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)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager