Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1560 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  Différence Python - C

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Différence Python - C

n°1602656
abx22
Posté le 23-08-2007 à 02:16:23  profilanswer
 

Bonsoir tout le monde,
 
Je voulais simplement savoir qu'elles sont les différences entre le Python et le C. Les avantages ? Inconvénients ? Et je voulais aussi savoir s'il était impératif d'avoir d'installé Python sur sa machine, pour exécuter le binaire codé en python ( ça peut parraitre absurde comme question, mais je ne suis pas sur que python créé des binaires. Voilà =) )  
 
Merci beaucoup.

mood
Publicité
Posté le 23-08-2007 à 02:16:23  profilanswer
 

n°1602690
masklinn
í dag viðrar vel til loftárása
Posté le 23-08-2007 à 09:13:43  profilanswer
 

abx22 a écrit :

Bonsoir tout le monde,
 
Je voulais simplement savoir qu'elles sont les différences entre le Python et le C. Les avantages ? Inconvénients ? Et je voulais aussi savoir s'il était impératif d'avoir d'installé Python sur sa machine, pour exécuter le binaire codé en python ( ça peut parraitre absurde comme question, mais je ne suis pas sur que python créé des binaires. Voilà =) )  
 
Merci beaucoup.


[:pingouino]
 
Python est un langage pûrement interprété "de très haut niveau", il ne permet pas de créer de binaires natifs (il permet de créer des fichiers exécutables en incluant l'interpréteur dans le package par contre, voir py2exe), donc il faut impérativement avoir le runtime Python installé sur la machine locale (un peu comme Java, donc) à moins d'avoir un package py2exe ou autre du même type.
 
Avantages de Python sur C:

  • Beaucoup plus lisible
  • Garbage Collector, donc pas de gestion manuelle de mémoire
  • Beaucoup plus haut niveau, donc instructions et types natifs plus puissants/flexibles (Python a un type String natif, un type Array natif, un type Dict natif, ...)
  • Autre conséquence du haut niveau du langage, il est beaucoup plus productif pour le programmeur
  • Support natif pour la POO, le Higher Order Programming, la programmation fonctionnelle, ...
  • Trivialement portable d'une architecture à l'autre, à moins d'utiliser des services spécifiques à une plateforme (e.g. si on utilise pywin32 ça ne va naturellement pas tourner sur Linux), et naturellement un seul script à distribuer pour tout le monde
  • Interprété, donc pas de phase de compilation/linking/...
  • Très bon support de l'introspection (demander à un objet quelles sont ses caractéristiques) et de la métaprogrammation (code modifiant du code)
  • Fortement typé, donc impossible e.g. de dire à python de considérer un tableau d'entiers comme une chaîne de caractères, il faut impérativement effectuer une conversion explicite
  • Facilité à trouver des libs de haut niveau (e.g. libs de screen scraping toussa)
  • Pas de pointeurs


Inconvénients de Python par rapport à C:

  • Pas compilé en code natif, donc beaucoup plus lent que C
  • Très peu de choix d'implémentation, CPython est l'implémentation de base, on peut aussi utiliser Jython (qui tourne sur la JVM) ou IronPython (.Net), à comparer avec les douzaines de compilos C ayant tous leurs avantages et inconvénients (d'un autre côté, ça signifie qu'on a pas besoin de choisir son implé, le choix est fait d'office)
  • Difficulté d'accès au très bas niveau (registres, interrupts, ...) puisqu'on a l'interpréteur entre soi et la machine (il est toutefois possible d'écrire des extensions Python en C pour gérer ça)
  • Potentiellement moins optimisé au niveau mémoire (puisqu'en C il est possible de n'allouer que ce qu'on veut très exactement)
  • Pas de pointeurs
  • Il existe probablement des compilos C pour toutes les plateformes existantes (il y a quelques exceptions, mais elles ne sont pas bien impotantes). Python tourne sur beaucoup de plateformes, mais pas toutes


Voila, c'est à peu près comme ça que je le vois


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  Différence Python - C

 

Sujets relatifs
[PYTHON] extraire un chiffre au format US 123,456,789debutant python, DP
Nouvelle organisation des docs Python (spécial 2.6)Différence utf8_general_ci utf8_bin
Débutant python => Affectation avec virgule [RESOLU]Différence entre static et singleton
Différence entre membre dans et hors __init__ [RESOLU]Différence d'interpretation IE/firefox sur blog
Pickle de Python. QLabel non sérialisable.. 
Plus de sujets relatifs à : Différence Python - C


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR