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

Python Discussion :

Python, si puissant qu'on le dit ?


Sujet :

Python

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 41
    Par défaut Python, si puissant qu'on le dit ?
    Bonjour,

    J'ai décidé de me lancer dans l'aventure Python, après avoir fait un petit peu de C et de C++. La syntaxe du Python est clairement plus claire que celles des deux autres langages.

    Mais j'aimerais connaître les limites du Python, ce qui en fait un langage moins apprécié que le C++, etc... (A part le fait qu'il est interprété).

    Merci d'avance.

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2006
    Messages : 96
    Par défaut
    C'est un language qui est beaucoup moins 'proche de la machine' que le C mais cela n'empeche pas qu'il est extremement puissant (le coté orienté objet est genialisimme).
    A mon avis il est moins apprécié parceque moins connu. Mais fouille un peu sur le net tu verras les centaines de librairies qui existent pour python, ca te donnera un apercu de ce qu'on peut faire avec.

    le python, l'essayer c'est l'adopter

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 41
    Par défaut
    Oui, mais dans le sens où il est interprété, il est forcément moins rapide... Et ne faisant pas d'administration système, je ne sais pas pourquoi le python me serait plus utile que le C++.

  4. #4
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Par défaut
    Le python est interprété juste pour les phase de developpement/débogage ou les script mais on peu le compiler en bytecode (comme java et .net) et il existe même un compilateur JIT (comme java et .net aussi) : psyco qui augmente les perf d'un ratio de x2 a x100 donc niveau perf c'est pas du C, c'est sur (c plus du style de java et .net), aucun langage recent est aussi rapide, mais les avantage sont ailleur :
    La syntaxe et la plupart des biblioteque sont vraiment "facilite la vie" il est prouvé que la productivité est décuplé avec python

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 45
    Par défaut
    Sans oublier qu'il est toujours possible de réecrire des parties qui doivent booster en C (pour des fonctions de calculs intensif par exemple).

    Et puis il y aussi un Python to C++ compiler qui est en cours.

    Ce que j'aime en Python:

    - Multiplateforme / "Libre"
    - L'indentation qui facilite la lecture et la compacité du code (au début je haillissait maintenant je peux plus m'en passer)
    - l'incroyable bibliothèque et modules en tout genres (10 ans de maturité pour ça) => on réinvente pas la roue (code encore plus compact)
    - la simplicité de la syntaxe et l'orienté objet natif
    - la communauté (clairemment des bidouilleurs/prototypeurs en tout genres par opposition aux dev/languages "industriels")

    Et puis la très forte ouverture sur l'extérieur et ses capacités de language colle:
    - Iron Python (.Net) Jypthon (Java)
    - plug in pour les softs de graphismes (Gimp, Blender, Ogre, etc ...)
    - pour les couches hautes de plus en plus de jeux commerciaux (Battlefiled 2, Civilisation 4, etc)

    Il y a même une petite entreprise qui s'appele Google qui a les meilleurs dev Python de la planète (dont Guido Van Rossum, le père de Python, Martelli, etc). Idustrial Light and Magic n'a pas l'air de se plaindre non plus et maintenant Dreamworks en veut aussi

    Et puis pour le web des frameworks à la Ruby On Rail arrivent aussi en force (j'ai personnellement un faible pour Django):
    http://www.turbogears.org/
    http://www.djangoproject.com/

    Je trouve juste que la communauté *française* est encore un peu faible en nombre et surtout éclatée mais ça vient.

  6. #6
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    863
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 863
    Par défaut
    Je confirme que Python est génial et pas assez connu.

    C'est de plus en plus utilisé dans l'industrie.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 41
    Par défaut
    J'ai vu qu'on pouvait compiler le Python en bytecode java. Mais à partir de là, il faut utiliser une machine virtuelle, ce que je n'aime pas tellement.

    Sinon, j'entends beaucoup de gens dire : "La couche haute des logiciels". Est-ce que quelqu'un pourrait m'expliquer ce que ça signifie, s'il vous plaît ?

    Amicalement.

  8. #8
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Par défaut
    Citation Envoyé par Tournevyks
    J'ai vu qu'on pouvait compiler le Python en bytecode java. Mais à partir de là, il faut utiliser une machine virtuelle, ce que je n'aime pas tellement.
    Pourquoi tu n'aimes pas vraiment ? en tout cas python à lui aussi sa propre machine virtuelle (avec son garbage colector, gestionnaire d'exception,...) et cela permet une bien meilleur sécurité des applis

    Citation Envoyé par Tournevyks
    Sinon, j'entends beaucoup de gens dire : "La couche haute des logiciels". Est-ce que quelqu'un pourrait m'expliquer ce que ça signifie, s'il vous plaît ?

    Amicalement.
    La couche haute est tout le dévellopement util d'un logiciel, ce qui revellera des fonctionnalités en elle même du logiciel. Elle est en opposition avec la couche basse de langage comme le C ou juste pour faire du traitement de chaine de caractere tu dois te lancer dans des manipulation de tableaux, ou encore la manipulation de pointeurs, les mallocs,... ca c'est du bas niveau et c'est en général un grande source de bug mais surtout une grosse perte de productivité.
    A mes yeux le C/C++ n'est pas mort (c'est pas demain la veille) mais il ne sont utile que lorsque l'on a besoin de performances Extreme (Jeux, base de données, OS, serveur a charge) mais c'est vrai que le jour ou on aura de vrai compilateurs de langage bytecode le C++ perdera vraiment de son interet... (il me semble que le C# a deja cela mais je n'ai pas d'info sur les performances gagné)
    Voila c'etait pas simple a expliqué, j'espere que tu m'as compris

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 41
    Par défaut
    Et est-ce que pour faire un bon programme, on est obligés de faire la couche haute en Python, et la couche basse en C ? Un bon programme entièrement python serait trop lent ?

    (Sinon, pour la machine virtuelle, je n'aime pas le fait que les gens doivent installer un "truc" en plus... )

  10. #10
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Par défaut
    Citation Envoyé par Tournevyks
    Et est-ce que pour faire un bon programme, on est obligés de faire la couche haute en Python, et la couche basse en C ? Un bon programme entièrement python serait trop lent ?
    Tout dépend de ce que l'on veux faire ... par exemple il y a un librairie qui permet de faire des jeux video : pygame, et en combinaison avec le compilateur JIT pysco (tres simple a mettre ne oeuvre, il suffit d'ajouter 2 ligne de code en haut des fichier) et cela deviens fluide. Un exemple : pydance un jeu ressemblant a Dance Dance Revolution qui est parfaitement fluide. Tout cela pour dire qu'il faut vraiment avoir besoin de faire des appli tres gourmande pour en arriver a redevelloper des librairies en C (ou autre).
    Autre exemple : Le serveur dedié de battle field 2 est en python pur.

    Citation Envoyé par Tournevyks
    (Sinon, pour la machine virtuelle, je n'aime pas le fait que les gens doivent installer un "truc" en plus... )
    Hummm je vois, mais sache 2 chose :
    - Deja python est intégré nativement sous apple, dans 95% des linux, et surement bientôt a windows vista via IronPython.
    - Il existe un programe (py2exe) permetant de faire un executable d'un programe python (qui en fait inclu la VM python)

  11. #11
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2006
    Messages : 96
    Par défaut
    Sinon gerard swinnen a fait un excellent tutoriel

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 41
    Par défaut
    Arrakis, c'est avec ce livre que j'apprends

    Sauf que j'ai la version papier... Enfin, en tout cas, je le recommande

  13. #13
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par anthyme
    - Il existe un programe (py2exe) permetant de faire un executable d'un programe python (qui en fait inclu la VM python)
    (J'ai windows XP)
    Il n'y a pas d'autre(s) moyen(s) pour 'convertir' un .py en .exe ?
    Ce programme fonctionne-t-il sous windows ? Je peux le télécharger sur internet ?

    Mode racontage de life on :
    Sinon je viens de me mettre au Python également, à la suite de Tournevyks - mais ça tout le monde s'en fout - et, ayant déjà il y a longtemps commencé à m'intéresser au C/C++, il n'y a pas à dire : pour quelqu'un qui veut aborder la programmation sur ordinateur (voui parce que les calculettes aussi ça aide énormément ) Python s'impose, je pense, comme THE bon langage. Syntaxe d'une simplicité rare, on prend plaisir à programmer, du moins tel est mon sentiment pour l'instant.

  14. #14
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Par défaut
    Citation Envoyé par kéraunos
    (J'ai windows XP)
    Il n'y a pas d'autre(s) moyen(s) pour 'convertir' un .py en .exe ?
    Ce programme fonctionne-t-il sous windows ? Je peux le télécharger sur internet ?
    Si mais je me rappelle plus du nom, mais py2exe est le meilleur, evidement il est disponible sous windows (les exe sous linux ou mac ca a du mal) il est gratuit ==> google.com (ou fr au choix)

    Citation Envoyé par kéraunos
    Mode racontage de life on :
    Sinon je viens de me mettre au Python également, à la suite de Tournevyks - mais ça tout le monde s'en fout - et, ayant déjà il y a longtemps commencé à m'intéresser au C/C++, il n'y a pas à dire : pour quelqu'un qui veut aborder la programmation sur ordinateur (voui parce que les calculettes aussi ça aide énormément ) Python s'impose, je pense, comme THE bon langage. Syntaxe d'une simplicité rare, on prend plaisir à programmer, du moins tel est mon sentiment pour l'instant.
    Pas la peine de faire du cirage de botte pour avoir des réponses (private joke)

  15. #15
    Membre éprouvé

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 121
    Par défaut
    Si mais je me rappelle plus du nom, mais py2exe est le meilleur, evidement il est disponible sous windows (les exe sous linux ou mac ca a du mal) il est gratuit ==> google.com (ou fr au choix)
    T'as mc millan Installer aussi, mais il existe sous un autre nom : pyInstaller. Je le trouve mieux que py2exe car il permet de ne creer que le fichier exe, sans les dll python et les librairies ds le zip. Il fonctionne sous linux et windows (bien evidement sous linux c'est pas un exe qu'il fait).
    Yen a un autre qui fonctionne egalement sous windows et linux, mais jai oublié son nom. Si ca vous interesse je peux le retrouver.

Discussions similaires

  1. CORBA & PYTHON
    Par stan91stan dans le forum CORBA
    Réponses: 5
    Dernier message: 10/06/2004, 12h32
  2. module .so pour python... ?!
    Par totoetlititi dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 09/03/2004, 14h51
  3. [sbadecoder a dit].. C'est quoi pour vous un beau programme?
    Par seb.49 dans le forum Langages de programmation
    Réponses: 14
    Dernier message: 13/02/2004, 10h41
  4. [Lien]erreur dans mon programme python
    Par durnambule dans le forum Général Python
    Réponses: 11
    Dernier message: 29/01/2004, 14h59

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