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: pourquoi utilisez-vous Python ?

Votants
49. Vous ne pouvez pas participer à ce sondage.
  • Parce qu'il est facile à apprendre

    29 59,18%
  • Parce que Python est un langage de choix, c'est-à-dire à usage général

    25 51,02%
  • Python permet de créer des fonctions avec moins de lignes de code

    18 36,73%
  • Python est un langage polyvalent

    28 57,14%
  • Python dispose de l'un des gestionnaires de paquets les plus matures : PyPI

    17 34,69%
  • Python est un langage couramment utilisé dans la science des données

    23 46,94%
  • Python est multiplateforme et open source

    34 69,39%
  • Autres (précisez)

    0 0%
  • Sans avis

    3 6,12%
Sondage à choix multiple
Python Discussion :

Programmation : découvrez les sept raisons pour lesquelles vous devriez apprendre le langage Python


Sujet :

Python

  1. #21
    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 187
    Points
    1 187
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par Andarus Voir le message
    Je ne m'y suis jamais essayé mais pourquoi ne pas avoir utilisé une lib pour, il semble y en avoir pas mal. https://wiki.python.org/moin/ParallelProcessing

    Les personnes que j'ai pu rencontrer avec cette problématique utilisait IPython.
    j'utilise une version de Python avec Intel MPI
    mais sa serait bien si sa pouvait être natif au langage, que le multprocessing servent à quelque chose.

  2. #22
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 614
    Points : 714
    Points
    714
    Par défaut
    Citation Envoyé par imikado Voir le message
    je viens de regarde : winpython ne correspond pas du tout à easyphp/wamp, il n'existe pas de stack clé en main pour les windosien pour pouvoir faire du dev web avec python ?
    Ah oui, en effet…*Oui parce que ces usines à gaz ne servent à rien en Python. Les virtualenvs permettent de compartimenter les devs, chaque framework web vient avec son serveur de dev (norme WSGI…), la db en dev, tu la gère avec un SQLite fourni en standard…

  3. #23
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 187
    Points : 488
    Points
    488
    Par défaut
    J'ai découvert Python tardivement à l'occasion de la réalisation de scripts de manipulation de fichier et de communication. J'avais beaucoup entendu parler de ce langage comme étant abscons et difficile à apprendre, et c'est par simple curiosité je m'y suis mis et j'ai été bluffé par la vitesse à laquelle j'ai pu coder mes scripts sans aucunes connaissance préalable ! Avec Python on apprends très très vite car tout est logique.

    Après il y a le côté universel et multi-plateforme, la pléthore de librairies éprouvées de grandes qualité et immédiatement disponibles (le langage à 30 ans !) mais aussi les performances très très proche du code natif et n'en déplaise aux défenseurs de PHP le Python est 4 fois plus rapide à l’exécution.

  4. #24
    Membre actif
    Profil pro
    DSI
    Inscrit en
    Février 2010
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DSI

    Informations forums :
    Inscription : Février 2010
    Messages : 87
    Points : 294
    Points
    294
    Par défaut
    Citation Envoyé par CodeurPlusPlus Voir le message
    Du Big Data traité en Python ? Cela ne doit pas être si big...

    Enfin, tant qu'on ne cherche pas à nous faire croire qu'un jeu AAA ou qu'un logiciel de traitement vidéo en temps réel peut être entièrement codé en Python...

    Sauf que les lib NumPy et SciPy dominent bien R et Matlab réunis.

  5. #25
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Jitou Voir le message
    mais aussi les performances très très proche du code natif et n'en déplaise aux défenseurs de PHP le Python est 4 fois plus rapide à l’exécution.
    Alors je veux bien des sources car ça m'intéresse, les benchmark que j'ai trouvé montrent plutôt que PHP7 est plus rapide que Python3. Évidemment les benchmarks sur le net je me méfie toujours donc une diversité des sources est bienvenue

  6. #26
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 755
    Points : 10 724
    Points
    10 724
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par RyzenOC Voir le message
    La programmation multicœurs qui est vite laborieuse, le langage n'étant pas prévue pour cela à la base, il y'a beaucoup de limitations. Le partage d'un objet entre 2 processus par exemple est très complexe. Si quelqu'un a des solutions simple la dessus sa m’intéresse,
    Jette un oeil à Go : c'est un langage qui s'apprend vite quand on vient de Python, qui est compilé en un exécutable autonome (gros avantage sur Python à mon avis) dont les performances peuvent soutenir une comparaison avec C, et qui intègre nativement une abstraction pour la concurrence (les goroutines).

    Citation Envoyé par CodeurPlusPlus Voir le message
    Du Big Data traité en Python ? Cela ne doit pas être si big...
    Pour le big data je sais pas, mais pour les data science Python est clairement un leader. Typiquement Python est utilisé comme wrapper sur des libs écrites en C ou C++ : numpy, igraph, tensorflow, sql... donc on peut avoir de bonnes perf si on l'utilise comme glue pour combiner des briques optimisées. C'est d'ailleurs un domaine où ce langage excelle.

    Ce que je lui reproche c'est la galère à redistribuer une application développée avec (lourdeur d'un virtual env, dépendances qui pètent au runtime, ...). Cela dit grâce à Docker (et Jupyter) ça va mieux... sous Linux du moins!

  7. #27
    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 187
    Points
    1 187
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par Aurelien.Regat-Barrel Voir le message
    Jette un oeil à Go : c'est un langage qui s'apprend vite quand on vient de Python, qui est compilé en un exécutable autonome (gros avantage sur Python à mon avis) dont les performances peuvent soutenir une comparaison avec C, et qui intègre nativement une abstraction pour la concurrence (les goroutines).
    Je connais go tkt, mais comme tu le dis juste après, ce qui fait la force de python c'est le reste (numpy, scipy...).
    Dans un programme python on peut aussi mettre des bouts de code en C ou en opencl aussi.

    Sinon oui go est un langage conçue des le départ pour la gestion des processeurs multicœurs. Ce langages à pas mal de concepts nouveau et intéressant.

  8. #28
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Points : 20 246
    Points
    20 246
    Par défaut
    Perso la délimitation des blocs de code par l'indentation et non par des accolades m'a toujours complètement rebuté. je trouve ca illisible.
    Pourtant je pense que python est un langage intéressant à maitriser

  9. #29
    Nouveau Candidat au Club
    Homme Profil pro
    Aucun
    Inscrit en
    Juillet 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Aucun

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2
    Points : 0
    Points
    0
    Par défaut python
    A quand By-Dom.

  10. #30
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2006
    Messages : 6
    Points : 18
    Points
    18
    Par défaut Parfait pour l'aprentissage... moins pour payer l'hypothèque
    C'est fantastique apprendre Python jusqu'à temps que vous essayez de vous trouver un travail dont vous pouvez développer dans ce langage.

  11. #31
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 616
    Points : 2 076
    Points
    2 076
    Par défaut
    Citation Envoyé par Mystcreater Voir le message
    C'est fantastique Python jusqu'à temps que vous essayez de vous trouver un travail dont vous pouvez développer dans ce langage.
    En même temps, si tu t'exprimes aussi bien en français qu'en python...

  12. #32
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2010
    Messages : 83
    Points : 536
    Points
    536
    Par défaut
    Citation Envoyé par Mystcreater Voir le message
    C'est fantastique Python jusqu'à temps que vous essayez de vous trouver un travail dont vous pouvez développer dans ce langage.
    Je vois souvent des offres avec Python +un autre langage (C#, C++, Java, ...) c'est très rare de voir Python comme unique langage.

  13. #33
    Membre régulier

    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2010
    Messages : 120
    Points : 120
    Points
    120
    Billets dans le blog
    1
    Par défaut python: excellent langage d'apprentissage
    Je reste persuadé qu'il vaut mieux apprendre à programmer en python qu'en C :
    https://www.developpez.net/forums/bl...rendre-python/

    Pour l'EDI, je trouve pycharm très réussi (et gratuit !).

    Python est vraiment polyvalent (math, science, script, web, 3D).

    En revanche, les IHM sont un peu difficiles à programmer. J'ai choisi tkinter et ça ne marche pas sur Mac
    - https://github.com/pldeschamps/eisenhowermatrix
    - https://www.developpez.net/forums/d1...ionne-mac-osx/

    C'est vrai que pour déployer une application python sur Android ou iOS, il faut s'accrocher : je n'ai même pas essayé (Kivy).

  14. #34
    Membre chevronné

    Homme Profil pro
    Mentaliste
    Inscrit en
    Mars 2008
    Messages
    872
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Mentaliste
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 872
    Points : 1 816
    Points
    1 816
    Par défaut
    Citation Envoyé par imikado Voir le message
    Je suis désolé, mais autant pour java,c# qui sont des langages précompilés, ou c/c++ sont des langages compilés sont "forcément" plus verbeux, mais php ...

    J'aimerai bien voir un comparatif avec php qui est un des langages les plus faciles à apprendre, de plus pour faire du web...
    D'ailleurs actuellement, pour faire du python en production on peut utiliser quoi ? il y a un module sur apache, nginx ou autre ?
    il existe des solutions clés en main pour les windosiens (comme easyphp/wamp and co..) (je précise je suis sous GNU/Linux)
    J'ai eu un excellent niveau Php et depuis un an et demi j'ai officiellement laissé tomber Php pour Python + Django (Django = le pendant de Symfony mais pour Python).
    Plus facile à tous les niveaux et mieux à tous les niveaux sauf un : la rapidité.
    Mais en 2017 c'est négligeable : avant que ton PC rame pour servir des pages Web, il va s'en passer du temps...

    Je te laisse regarder les stats 2017 sur stackoverflow.

    Python est le langage le plus demandé en moyenne sur 64,000 développeurs.
    Et, stat encore plus amusante, c'est le langage le mieux payé en France !

    Pour Windows : installe Python 3.6 précompilé, et PyCharm (le pendant de PhpStorm mais pour Python).
    A partir de là suis un tutoriel Python et voilà c'est parti !

    J'ai refait le jeu Sokoban sous shell en Python + orienté objet en 2011 : une journée pour faire ça en Python. C'est un langage extrêmement facile à apprendre, et si tu fais du Php, tu verras : il est plus simple, et tu vas vraiment t'amuser.

    Pour la note, j'ai ré-écrit un gros parser de fichier Php (1600 lignes) sur lequel j'avais stoppé de coder car devenu trop complexe et incompréhensible pour moi : en Python en une journée, j'ai tout ré-écrit, 1000 lignes de code (presque la moitié) et je suis allé beaucoup plus loin et j'ai même pu terminer mon parser jusqu'au bout (merci PyCharm pour la facilité du trace en pas à pas).

    Au fait petite question : pourquoi Python est le plus utilisé en langage scientifique ? Parce qu'il n'y a pas de limite pour la gestion des entiers. C'est pas une blague : si Python n'a plus de place sur 32 bits il passe à 64, puis 128, et ensuite alloue autant de mémoire que nécessaire.

    Et puis tu as des expressions qui sont presque de l'anglais naturel :

    mavariable = "olivier" if answer is not None else "thibault"

    (sisi c'est bien du Python)

    Je conseille donc Python à tout le monde sans aucune exception.

    Le seul hic concernant Django ? Bah c'est qu'il force les bonne pratiques, et que quand tu veux mettre ton site en production, tu lance "collectstatic" qui récupère tous les fichiers statiques, et Django ne veut plus jamais les servir : à toi me mettre un frontal (nginx est ton ami) qui, si ce sont des URLs qui commencent par "/static/", doit les renvoyer sans passer par Django, sinon, les fait suivre à Django. Donc ce sont de très bonnes pratiques, mais cela coupe Django de tous les débutants car il te faut un serveur dédié (2 €/mois sur amazon cloud), et surtout savoir configurer un frontal. C'est vraiment la seule ombre noire que je trouve à Python.


    Citation Envoyé par RyzenOC Voir le message
    Pour le multiplate-forme sur mobile j'ai pas trouvé grand chose, sur IOS que dalle et sur android j'ai pu trouvé 2-3 trucs mais j'ai laissé tombé je comprenais rien, si quelqu'un avait des infos/liens sur le sujet.
    J'ai fait la démo d'exemple montre en main en 10 minutes : kivy

    Citation Envoyé par RyzenOC Voir le message
    La programmation multicœurs qui est vite laborieuse, le langage n'étant pas prévue pour cela à la base, il y'a beaucoup de limitations. Le partage d'un objet entre 2 processus par exemple est très complexe.
    Je sais que sur le 3.6 il y a eu énormément de boulot là dessus, avec des yield ou autres choses prévues pour ça (multicœurs). Pour le partage d'objets je ne sais pas.

    Citation Envoyé par imikado Voir le message
    Pourquoi ne pas donner de nom "clé en main" mysql ou autre: posgresql and co ?

    La question:
    1. a t -on comme pour php des solutions simple pour avoir un environnement de developpement (easyphp/wamp sous windows qui s'installe en 2 clic)
    Tu installe Python que tu veux (je conseille 3.6)
    Puis PyCharm. Tu l'installe, tu fais project -> new -> django et il va tout te récupérer et tout t'installer. Le serveur Web est lui même lancé par PyCharm et il est en Python : non seulement tu n'as rien d'autre à installer, mais tu vois tout ce qui se passe, pas besoin de log ou autre, et tu peux même faire tu pas à pas.

    Citation Envoyé par imikado Voir le message
    2. en production, c'est quoi l'équivalent de apache-php / nginx-php ?
    Nginx + gunicorn


    Citation Envoyé par CodeurPlusPlus Voir le message
    Du Big Data traité en Python ? Cela ne doit pas être si big...
    Enfin, tant qu'on ne cherche pas à nous faire croire qu'un jeu AAA ou qu'un logiciel de traitement vidéo en temps réel peut être entièrement codé en Python...
    Dès que tu veux de la rapidité tu as Cython, qui permet d'écrire en C pur, avec lequel tu génère un .po ou un .dll (pour windows) et dans Python tu déclare puis appelle tes librairies.
    C'est bien plus puissant qu'en Php, crois moi !

    Citation Envoyé par abbe2017 Voir le message
    non car avant d'y arrivé il faut avoir une énorme connaissance des packages/lib/import à incoporer et maitriser dès le départ.
    si tu présentes Python à un bleu (qui n'a fait que du basic ou du pascal), il sera peut-être d'accord.
    mais si tu présentes Python a quelqu'un qui vient d'un langage à EDI/Rad, il te dira "c'est chiant", quand-esct qu'on arrive enfin à la ligne qui créer une interface graphique et qui gère l'accès à la base de données.
    Python a énormément de choses pré-livrées avec.
    Exemples :
    - any() est une fonction où tu passe un tableau et si n'importe laquelle des valeurs est vraie, il renvoie "vrai" sinon c'est "faux"
    - all() est une fonction où tu passe un tableau et si toutes les valeurs sont vraies, il renvoie "vrai" sinon c'est "faux"
    Tout est déjà pré-construit : système de fichiers, gestion des PDFs, des mp3, des wav, traitement des fichiers image, bref, en Python, il faut faire comme cela : d'abord on cherche si une librairie n'est pas déjà écrite, et puis si elle n'est pas faite, on fait le code.

    Citation Envoyé par abbe2017 Voir le message
    ps : je suis tjrs à la recherche d'un RAD/EDI à base de python (genre un Visual Python .. , si qqun a des infos)
    PyCharm est ton ami.

    Citation Envoyé par abbe2017 Voir le message
    c'est usant et assez stupide de la part de l'auteur de cet article de mettre en valeur le fait qu'on peut en faire plus avec moins de ligne de code car ça rend le code illibile et plus difficule à débugger tellement en une ligne de code (avec des fonctions dont le nom fait 2 ou 3 caractères) mal nommées.Allez donc débugger le code d'une autre personne... et vous verrez bien que ce n'est pas une qualité de pouvoir faire en une ligne de code quelque chose d'apparement "puissant" (puissant dans le sens marketing stupide du terme)
    J'en reviendrai presque à regretter le défunt Cobol qui lui, nécessitait bcp de lignes de code pour pas grand chos au final.... ;-)
    C'est que tu es tombé sur du code qui ne suit pas le principe du zen de Python qui est à la fois marrant mais très vrai.

    Citation Envoyé par abbe2017 Voir le message
    il parraît que c'est vrai, mais je crois que ça vient du lobby des scientifiques à qui ont apprenait python dans la section math sup/inso/spé... donc je ne pense pas que ce soit pour une cause réelle et sérieuse.
    Python est un des rares langages qui n'a pas de limite en terme de gestion des entiers.
    Et il gère en natif les nombres complexes :
    a=complex(2,3)
    b=complex(4,3)
    print(a+b, a-b, a*b, a/b)

    Tu en connais d'autres de langages qui gèrent ça en natif ?

    Citation Envoyé par abbe2017 Voir le message
    qq ptites choses que je regrette avec python après ces 10ans :
    - l'EU (l'expérience utilisateur, l'agréabilité) vient avec une machine moderne (ssd, multi cpu, VM) tellemen la génération/compilation est reloud et lente.... problème des langages à scripts compilés
    Là je ne comprends pas. Tu compile du Python ?

    Citation Envoyé par abbe2017 Voir le message
    - le débuggage : merdique , désolé mais les messages d'erreurs sont toujours à 15000 lignes de la ligne de code concernés, surtout quand tu utilises bcp de lib/paq/imports
    T'as jamais débogué en Java, ou fait un point d'arrêt sur un site écrit en Symfony toi....

    Citation Envoyé par abbe2017 Voir le message
    après 3ans de no-python, je me dit à chaque que je vois un article ou un script python : "ah c'était mes classes" (dans le sens, l'épreuve dure à passer à l'armée dont on est fiert d'avoir passée et faite mais qu'après on se dit qu'on l'aurait bien sauté si on aurait pu...)
    Tu peux me dire en quoi tu code, et que tu considère "mieux" ? Je suis très intéressé...

    Citation Envoyé par Mystcreater Voir le message
    C'est fantastique Python jusqu'à temps que vous essayez de vous trouver un travail dont vous pouvez développer dans ce langage.
    J'en suis à plus de 40k€ avec ma société, de développements Python pur, portage Python ou sites Python/Django

    Citation Envoyé par marco056 Voir le message
    En même temps, si tu t'exprimes aussi bien en français qu'en python...
    +1e54

    Citation Envoyé par jdddeschamps Voir le message
    En revanche, les IHM sont un peu difficiles à programmer. J'ai choisi tkinter et ça ne marche pas sur Mac
    - https://github.com/pldeschamps/eisenhowermatrix
    - https://www.developpez.net/forums/d1...ionne-mac-osx/
    PyQt semble très bien.

  15. #35
    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 187
    Points
    1 187
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par SurferIX Voir le message

    J'ai fait la démo d'exemple montre en main en 10 minutes : kivy
    Je vais regarder, on peut générer un apk autonome avec ce truc ? si oui sa m'a l'air super intéressant.
    https://kivy.org/docs/guide/packaging-android.html
    je crois que c'est possible d’après la doc, pour l'instant j'ai pas trop le temps mais j'essayerais à l'occasion pour voir.

    Citation Envoyé par SurferIX Voir le message
    Je sais que sur le 3.6 il y a eu énormément de boulot là dessus, avec des yield ou autres choses prévues pour ça (multicœurs). Pour le partage d'objets je ne sais pas.
    Oui il y'a eu de nouvelle instructions, les yields pour lé générateurs ou asyncio pour faire des taches asynchrone on peut même allouer de la ram avec malloc (comme en c)

    Mais pas de bol, les yields et les taches asynchrones fonctionne comme les threads en python, ils sont mono coeurs
    donc sa n'apporte rien d’intéressant dans notre cas.

    Citation Envoyé par SurferIX Voir le message
    J Pour le partage d'objets je ne sais pas.
    Justement c'est mal barré car dans Python, tous n'est qu'objet

    on peut uniquement partager des structures basique de la bibliothèque types_c (int float, tab...etc)

  16. #36
    Invité
    Invité(e)
    Par défaut
    Python a beaucoup d'avantages mais il ne faut pas exagérer non plus.

    Citation Envoyé par SurferIX Voir le message
    Au fait petite question : pourquoi Python est le plus utilisé en langage scientifique ? Parce qu'il n'y a pas de limite pour la gestion des entiers. C'est pas une blague : si Python n'a plus de place sur 32 bits il passe à 64, puis 128, et ensuite alloue autant de mémoire que nécessaire.
    Ce n'est pas complètement vrai. Python est beaucoup utilisé pour scripter ou prototyper mais les bibliothèques qui sont derrière sont généralement en Fortran, C ou C++. Et il existe d'autres alternatives valables comme matlab, R, julia...
    Quant à la gestion des entiers en précision multiple, c'est un mauvais exemple : déjà je ne crois pas que ce soit le principal problème en calcul scientifique et ensuite il existe d'autres solutions comme GMP en C.

    Citation Envoyé par SurferIX Voir le message
    Et puis tu as des expressions qui sont presque de l'anglais naturel :
    mavariable = "olivier" if answer is not None else "thibault"
    L'anglais n'a rien de naturel, et je ne vois pas en quoi ton exemple serait moins naturel en C/C++ : mavariable = (answer ? "olivier : "thibault");

    Citation Envoyé par SurferIX Voir le message
    Je sais que sur le 3.6 il y a eu énormément de boulot là dessus, avec des yield ou autres choses prévues pour ça (multicœurs). Pour le partage d'objets je ne sais pas.
    En Fortran/C/C++, openmp permet de paralleliser efficacement une boucle avec un simple pragma. Et on peut contrôler le partage de données très finement si on veut.

    Citation Envoyé par SurferIX Voir le message
    Dès que tu veux de la rapidité tu as Cython, qui permet d'écrire en C pur, avec lequel tu génère un .po ou un .dll (pour windows) et dans Python tu déclare puis appelle tes librairies.
    C aussi permet d'écrire du C pur... Et des outils comme swig permettent très facilement d'écrire une interface pour plein de langages à partir d'un code C ou C++.

    Citation Envoyé par SurferIX Voir le message
    Et il gère en natif les nombres complexes :
    a=complex(2,3)
    b=complex(4,3)
    print(a+b, a-b, a*b, a/b)
    Tu en connais d'autres de langages qui gèrent ça en natif ?
    C++ : http://en.cppreference.com/w/cpp/numeric/complex

  17. #37
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Citation Envoyé par Jitou Voir le message
    mais aussi les performances très très proche du code natif et n'en déplaise aux défenseurs de PHP le Python est 4 fois plus rapide à l’exécution.
    J'adore Python, mais là je pense que tu t'avances trop. À ma connaissance, le seul "grand" langage interprété (çad Python, Ruby, Perl) plus rapide que PHP7 est Javascript (grâce entre autres au moteur v8).

    Bien évidemment, il n'y a pas que la vitesse dans la vie, et il ne me viendrait jamais à l'idée d'utiliser PHP pour autre chose qu'une appli web alors que Python est une sorte de nouveau Perl, adaptable à toutes sortes de développement, du plus simple au plus complexe.

  18. #38
    Invité
    Invité(e)
    Par défaut
    Tu es vraiment en train de jouer à qui a la plus grosse entre un langage de script et un langage compilé?

    Python est utilisé car il permet de faire simplement beaucoup choses, mais n'importe quelle personne un minimum pragmatique ne va pas se plier en 4 et utiliser Python pour quelque chose hors de son périmètre. Je comprend bien l'attrait de tout faire en Python, surtout que c'est souvent rendu possible par le langage, mais utiliser les bons outils pour les bonnes tâches c'est pas genre un des 1ers trucs qu'on apprend en tant que dev ?

    xpost : je répondais a SimonDecoline

  19. #39
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Citation Envoyé par Mystcreater Voir le message
    C'est fantastique Python jusqu'à temps que vous essayez de vous trouver un travail dont vous pouvez développer dans ce langage.
    Apprendre un nouveau langage te permet aussi de t'améliorer en techniques de programmation, quels que soient tes langages de travail. L'élégance et la simplicité de Python est un excellent guide quand tu te perds dans les méandres d'un autre langage plus "tolérant".

  20. #40
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2017
    Messages : 52
    Points : 98
    Points
    98
    Par défaut temps/objectif
    Bah, ça dépend du qu'est-ce qu'on veut coder? et quand est-ce qu'il faut le livrer ?
    Pour ma part, s'il n'y a pas d'obligation de résultat et/ou pas de pression de livraison, je choisirais direct le c/c++ où je reste maître de tout (indentation, gestion de mémoire, ...). Si je dois coder une appli. qu'il faut livrer rapidement et que ça doit faire ce qui a été demandé sans trop de contrainte de perf. aucune chance pour d'autres langages, va pour python.

Discussions similaires

  1. Réponses: 98
    Dernier message: 31/10/2016, 09h33
  2. [GDC 2013] Cinq raisons pour lesquelles les « Free To Play » craignent
    Par Neckara dans le forum Développement 2D, 3D et Jeux
    Réponses: 15
    Dernier message: 02/04/2013, 17h41
  3. Réponses: 5
    Dernier message: 15/06/2009, 12h28
  4. Réponses: 2
    Dernier message: 08/07/2008, 11h50

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