Guido le soulignait il y a quelques temps, Python souffre un peu du manque de promotion. La nouvelle version du site est un premier pas, de « nouvelles » initiatives voient le jour (à quand une telle ressource en français ?!) mais peut-être que les blogs sont un des meilleurs moyen de promotion d'un produit actuellement. Voila donc ma participation, ce ne sont pas forcément les arguments que vous pourrez lire ailleurs, nous n'aimons pas forcément tous les mêmes choses pour les mêmes raisons mais ce sont ceux qui me font apprécier Python aujourd'hui.
Apprendre les bases de la programmation
Python offre vraiment un niveau d'apprentissage rapide. Grâce à la simplicité de sa syntaxe, je pense que c'est actuellement le langage de programmation à apprendre si l'on veut débuter la programmation. C'est déjà assez difficile à comprendre pour en plus buter sur la syntaxe (un débutant qui se trompe 20 fois dès le début de son apprentissage pour un point-virgule oublié ou une accolade mal placée c'est autant de temps perdu). Je trouve franchement repoussant l'apprentissage du C en premier langage par exemple.
De plus, Python dispose de très peu de mot-clés à retenir dans un premier temps ce qui permet de rester concentré sur l'algorithmique. Et c'est ce que doit permettre un langage de programmation, tout comme un OS doit permettre d'utiliser l'outil informatique mais bon là on sort du débat ;-).
Enfin le nombre de bibliothèques incluses ou à télécharger simplement permettent d'arriver très rapidement à un résultat concrêt. Et c'est vraiment motivant quand on débute, du coup il est possible encore une fois de se concentrer sur notre véritable objectif : faire une application spécifique qui n'a pas encore été codée.
Progresser en python : une courbe d'apprentissage particulière
Dans tous les apprentissages, on commence par progresser très vite puis la pente de la courbe diminue et on a clairement l'impression de ne plus progresser, qu'au prix d'efforts importants et sur certains sujets uniquement.
Ce qui me plait avec Python, c'est que l'apparente simplicité du langage cache des perspectives que je découvre encore aujourd'hui. Et l'évolution constante du langage permet de disposer de nouvelles fonctionnalités demandées par la communauté de façon rapide et réfléchie. Vous pouvez même donner votre avis dès maintenant sur la mailing-list de Python 3000.
Développer une véritable application
C'est bien beau tout ça mais il faut bien décider un jour de se lancer dans le grand bain et de coder sa propre application qui va roxxxer les mamans ours et vous permettre de conquérir le monde (zut c'était mon plan, bon contactez moi pour le partage).
À moins de faire une application très spécifique, toutes les briques de votre application existent déjà. Il n'y a plus qu'à les choisir et à les assembler de façon optimale. C'est l'une des raisons par exemple pour lesquelles on assiste aujourd'hui à une champignonière de frameworks web, RoR était un exemple intéressant et faire quelquechose qui y ressemble en Python était « simple ». Bon après c'est un peu paradoxal avec la philosophie Python qui est « il existe une seule bonne manière de faire les choses » (en oposition à PERL). Ce sera d'ailleurs l'objet d'un prochain billet.
Convaincu(e) ?
Oui, non, peut-être ? N'hésitez pas à plaider en commentaire, les débats non constructifs ne sont pas les bienvenus. Par contre vos premières expériences avec un langage oui :-).
J'ai déjà regroupé quelques tutoriels que je trouve intéressant si vous êtes déjà conquis(e) !
Et pour quelques clics de plus...
- Choisis Python : une affiche en pdf que j'aime bien.
PS : si vous n'aimez pas les blocs qui ne se terminent pas (comme certains), point de salut :p
Commentaires
#1 Simon Rozet , le 5 May 2006 à 20h :
En plus des raisons que tu as déjà évoquées dans ton post, je rajouterai deux choses :
1. Avec Python, ont peut faire beaucoup de choses :
- des applications graphiques (GTK, par exemple)
- de petits scripts utilitaires afin de se faciliter la vie
- de la programmation web (j'ai un faible pour webpy.org)
2. Je trouve le trio interpréteur + dir() + __doc__ vraiment très pratique.
Et finalement, avis totalement subjectif, je trouve le Python beau :-)
#2 Aelor , le 6 May 2006 à 09h :
Hmmm, réaction à mon troll d'hier midi sur jabber ?
Bon allez, je vais m'y mettre le week end dans les semaines/mois qui arrivent, comme ca, je pourrais dire que je connais autant ruby que python (c'est à dire peu mais assez pour pouvoir en discuter objectivement ou subjectivement).
#3 Charly , le 6 May 2006 à 09h :
Les applications graphiques c'est en général possible avec tous les langages, mais il faut noter un dynamisme avec pyqt (version 4 pour bientôt) et wxpython, l'orienté portable est donc au coeur du langage.
Je pense que ce qui caractérise le plus python et qui peut être l'objet d'une campagne de promotion :
- un code propre, lisible et qui ne peut être sujet à de multiples interpretation (Cf. troll sur Perl)...
- le temps de codage ... assez incomparable avec un langage bas niveau ou même avec Java
- la facilité pour quelqu'un ayant quelques bases en programmation à apprendre le langage :-), je pythonise mon labo assez facilement !
#4 Steveosteen , le 7 May 2006 à 17h :
Il y en a même qui dise Java et mort ! Vive Python. Avec wxPython on est pas loin de la verité !
#5 Pierre , le 8 May 2006 à 12h :
Merci pour ce billet. Je ne connais pas du tout Python : j'ai rapidement parcouru il y a quelques mois un article de vulgarisation sur le sujet, mais il vulgarisait tellement que je n'ai rien appris... J'aimerais trouver un langage que je puisse apprendre rapidement et qui me permette de mettre en oeuvre facilement des idées qui me passent par la tête ; d'après ton billet, Python semble être le client idéal... j'attends les prochains billets pour me lancer dedans :)
Je ne me suis pas du tout renseigné encore, mais y a-t-il des /bindings/ pour lier un programme Python avec une base de donnée SQLite par exemple ?
En fait, j'ai une petite idée d'appli, mais j'ai besoin de connecter un programme à une BDD, et je trouve que Java est un poil lourd our faire ça (gestion de connexion à la BDD, création d'interface graphique...). Si je pouvais trouver un langage simple pour faire une appli graphique utilisable, ça serait le pied !
#6 David, biologeek , le 9 May 2006 à 10h :
@Aelor :
> Hmmm, réaction à mon troll d'hier midi sur jabber ?
Pas vraiment, disons que j'avais le texte dans mes cartons et je me suis dis que ce c'était l'occasion de le mettre en ligne ;)
@Charly :
> la facilité pour quelqu'un ayant quelques bases en programmation à apprendre le langage :-), je pythonise mon labo assez facilement !
\o/
@Pierre : Oui, python est vraiment le langage idéal dans ton cas, il existe de nombreuses bibliothèques permettant de communiquer très simplement avec les principaux types de bases de données (une liste assez complète sur wikipython.flibuste.net/m... )
> Si je pouvais trouver un langage simple pour faire une appli graphique utilisable, ça serait le pied !
Tu peux facilement faire des applis en GTK avec Glade si tu es sous Ubuntu par exemple ou comme le signalait Steveosteen, utiliser wxPython qui est (paraît-il) très bien.
#7 Kagou , le 9 May 2006 à 10h :
Ce que je reproche à python :
le choix de tk comme gui par défaut. Donc la très grande majorité des bouquins parle de tk pour faire de petites interfaces.
Je souhaiterai que wxpython soit de base. Je souhaiterai qu'il y ait enfin de vrais bouquins en français, voir juste des didacticiels, mais enfin riches et complets sur la programmation d'interfaces graphiqes, que ce soit avec gtk/gnome/glade/wxpython. Pas les quelques malheureux didacticiels juste histoire d'écrire hello dans une boite avec à la rigueur un menu ;)
Sinon python est vraiment LE language à connaitre. Je suis dingue de lui.
#8 Marcus , le 17 June 2006 à 13h :
Ce qui est genant avec python comme avec java d'ailleurs , c'est qu'il doivent être installés sur la machine de celui qui lancera votre application.
Si vous utilisez linux ou mac osX pas de prob; Mais avec win, faut installer.
Problème inexistant avec le c/c++.
Notez qu'il existe py2exe qui, comme son nom l'indique, transformera votre app.py en app.exe.
Mais il est vrai que pour l'apprentissage python est nettement plus cool que le C. Car ... Bye bye les pointeurs !!
Ceci dit, en c++ aussi on dit :" bye, bye les pointeurs "
En fait, quel que soit le langage utilisé, l'important est de savoir quoi en faire. En ce qui me concerne, je pense que tout à déjà été inventé et codé.
Avez-vous lu ou entendu ? Maintenant, ils ont équipés les robots avec des logiciels qui peuvent apprendre eux-mêmes en fonction des erreurs commises. En fait les robots sont devenus plus malins et efficaces que des gosses.
Bon , sur ce, longue vie à python
#9 DotMG , le 10 August 2006 à 07h :
La seule et unique raison qui ne me permet pas encore d'essayer Python, c'est que l'installation sous Windows me semble trop compliqué. Il y a beaucoup de gens comme moi qui ne peuvent pas migrer totalement vers Linux (Il y a des applications Windows qui ne marchent pas avec Wine et sur lesquelles je dois bosser 90% du temps que je consacre à l'ordinateur, et quand elles tournent en arrière-plan, je ne peux même pas éteindre Windows).
Si je pouvais trouver un install python sous Win sur un CD ou si je pouvais télécharger cela sur le Net (à condition que la taille totale ne dépasse pas 10M), je suis sur que je deviendrais accroc dans moins de 24h.
#10 David, biologeek , le 10 August 2006 à 21h :
Je n'ai jamais installé Python sous Windows mais ça ne me semble pas insurmontable. Apparement c'est juste un installateur Windows classique qu'il faut récupérer sur sur la page de téléchargement. Je veux bien essayer de t'aider s'il y a des étapes où ça coince ! Essaye de perséverer, ça vaut vraiment le coup.
#11 gnux , le 15 August 2006 à 20h :
Bonjour
J'ai déjà installé Python sur Windows (au taff pour mouler tranquille...) et cela se fait très aisément. Tu cliques sur le .exe, tu choisis ou tu veux l'installer et tu as une barre de progression, en 5mn c'est fait (sous XP).
Pour revenir au sujet du post, je trouve que Scheme est pas mal pour débuter non plus. Par contre le fait que tu dises que Python manque de promotion m'étonne car on en entend bcp parler...
Un jour je m'y mettrais sérieusement (pour mieux comprendre bittorrent pe ...)
#12 DotMG , le 18 August 2006 à 08h :
OK! En fait, ce qui m'a tenté un jour à utiliser Python est le logiciel trac (edgewall.com). Après l'avoir téléchargé, j'ai lu dans leur doc d'install que l'installation de Python sous Windows était la partie la plus difficile, et j'ai été découragé sans essayer. Maintenant, je constate que leur remarque n'était pas fondée, donc je crois que je vais m'y mettre maintenant.
Un problème m'ennuie, et rien ne pourra y changer: J'utilise Vim (www.vim.org ) comme éditeur de texte, et pour les langages utilisant l'accolade (Php, C, ...) comme délimiteur de blocs, je peux facilement (et j'y suis habitué) voir l'autre délimiteur de bloc à l'aide de la touche %. Avec python, je dois faire défiler le script et me souvenir de la taille d'indentation.
Autre chose sur le site officiel de Python, on devrait y informer que la documentation est intégrée dans l'installeur (pour le .msi de Windows en tout cas). Cela m'aurait épargné de télécharger le même objet deux fois. (Que la bande passante coûte extrêmement cher chez moi :)
#13 yhugo , le 25 August 2006 à 06h :
<<Ce qui est genant avec python comme avec java d'ailleurs , c'est qu'il doivent être installés sur la machine de celui qui lancera votre application.>> -Marcus-
Salut,
Je commence à peine à m'ouvrir au monde de la programmation ... Je croyais (naïvement peut-être) qu'on pouvait faire tourné un site web en Python comme on le fait avec le PHP (traduit en HTML pour le browser) sans installer un lecteur comme JAVA ... ?
Quelqu'un pourrait éclairer ma lanterne svp ?
Et que pensez-vous de RUBY ? Quelle différence par rapport à PYTHON ? Les deux me semblaient assez "user friendly" pour un gars comme moi qui veut se lancer en prog ...
Salutations et merci pour ce site ...
#14 David, biologeek , le 25 August 2006 à 08h :
Salut yhugo,
> Je croyais (naïvement peut-être) qu'on pouvait faire tourné un site web en Python comme on le fait avec le PHP (traduit en HTML pour le browser) sans installer un lecteur comme JAVA ... ?
En effet, tu as tout à fait raison, pas besoin de machine virtuelle pour python qui ne renvoie que du html au navigateur.
> Et que pensez-vous de RUBY ? Quelle différence par rapport à PYTHON ?
Ruby est un très bon langage aussi. Si l'on met de côté la syntaxe que je trouve un peu moins évidente, l'avantage de Ruby est qu'il est vraiment tout objet (ce qui est un poil déroutant au début) mais Python gère l'unicode et pour l'instant c'est un avantage de taille. Essaye les deux, en une demi-journée tu peux t'être fait une première opinion.
Si tu veux te lancer dans la prog effectivement je te conseille un de ces deux langages.
#15 NiCoS , le 25 August 2006 à 11h :
Grâce à David, j'ai découvert Python et pour pas mourir idiot, je suis en train de lire le bouquin sur Ruby On Rails et en parallèle, je suis le tutoriel de Django.
La syntaxe de Python a en effet l'air plus clair que celle de Ruby. En tous cas, je la trouve plus lisible ;-)
Je n'ai toujours pas choisi lequel des deux je vais finir par retenir, j'attends d'arriver au bout de mes lectures et du tutoriel de django pour me décider. Pour le moment, j'avoue avoir une préférence pour Python mais la syntaxe de rails a l'air assez claire... enfin je suis assez partagé quand même...
qqs liens qui peuvent être utiles :
- www.unelectronlibre.info/...
- jesusphreak.infogami.com/...
- qqs marks sur python & ruby : blogmarks.net/user/NiCoS/...
#16 sonic , le 17 September 2006 à 17h :
Je perso, je n'aime pas Python !!! Je trouve que la syntaxe de ce langage est particulierement pourrie !!et qu'elle date d'autre age !Je crois que je ne m'y ferai jamais. Moi j'ai un faible pour Perl ! :-) car programmer sans les accolades .... franchement peu pour moi !!!
A+
#17 Harry , le 19 September 2006 à 00h :
Python serait plus populaire si vous mettiez en avant la rapidité des traitements plutôt que "la clarté, la simplicité et la beauté du code source" : c'est de la métaphysique ! Je gère un service de petites annonces qui ne peut plus évoluer en comptant uniquement sur php et mysql : des heures d'optimisation inutiles et qui font perdre autant de temps que d'argent à mon entreprise. Cette nuit je passe sur un serveur clusterisé avec un python dans la tour. Que ces deux communautés le sachent avant d'afficher des liens sponsorisés sur google : Entre deux languages de programmation je choisirais toujours celui qui permet à mes clients d'accèder plus rapidement à mes bases de données et ce peut importe le nombre de lignes à parcourir ou la longueur de la requête. Lisez les benchmarks : le reste c'est du délire de développeur et de forumeur.
#18 kedare , le 20 September 2006 à 21h :
personellement , je ne vois aucune avantage a python par apport a ruby , ruby ajoute des features tres interessante , le seul defaut je dirais que c'est la vitesse , ruby est pour le moment 2 fois plus lent que python, mais avec l'arriver de Ruby2 , qui comportera une VM a la place d'un interpreteur ,a nous la vitesse :)
#19 da [k] spirit , le 24 September 2006 à 23h :
développement Python
J'ai récemment eu envie de me remettre au développement, ayant 2-3 projets dans le coin de ma tête. Et je me suis dit que j'allais me mettre à Python, langage interprété, multiplateforme et libre bien évidemment. C'est un peu le langage à la...
#20 Phoenyx , le 24 October 2006 à 01h :
J'ai découvert Python en voulant m'initier a la programmation.
J'ai commencé par C++ et j'ai vite abandonné, mais je pense qu'une fois que je maitriserais Python , passer a un autre language ne sera qu'une formalité. L'objectif pour moi etait de bien cerner le processus de développement d'un programme, ainsi que l'argorithmique ( je suis pas un matheux , ni un literraire ).
Ce qui est bien avec Python c'est le livre telechargeable facilement depuis Framasoft " debuter en programmation avec python"
C'est la dessus que j'apprend tout doucement et ca porte ses fruits.
De plus j'ai pu observer les capacités de Python au travers d'un ERP ( Tiny ERP) que nous projetons d'integrer chez nos clients.
Je n'en connais surement pas tout un rayon sur les languages de programmation , mais pour quelqu'un qui veut s'initier je proposerais de commencer par Python , et ensuite rien ne l'empeche d'etudier d'autre languages , dès qu'on a compris l'algo et les methodes de développement je pense qu'on doit pouvoir passer d'un language a l'autre sans heurts ...
Dites moi si je me trompe.
#21 Mister_Tsukimoto , le 3 December 2006 à 14h :
Pour le liens du bouquin :D que je recommande à tout les débutants, avec des exos et tout
www.cifen.ulg.ac.be/infor...
#22 zyegfryed , le 18 January 2007 à 18h :
Salut,
Il faudrait mettre à jour le lien "Pourquoi Python" pointant sur le site de Nuxeo. Pourquoi ? Pour deux raisons :
- le lien est brisé en ne renvoie pas sur la bonne page
- pire encore, il explique le pourquoi du switchnig de Nuxeo à Java (ce qui est l'effet inverse d'amener de l'eau à ton moulin)
Bye :)
Seb
#23 David, biologeek , le 18 January 2007 à 21h :
Arf, merci de me l'avoir signalé... pas cool de la part de Nuxeo pour le coup :-/
#24 jfern , le 18 March 2007 à 18h :
Salut david,
Petite question pour avoir ton avis (et savoir argumenter devant un futur employeur... :-) ). Quels points tu mettrais en avant pour convaincre d'utiliser python (biopython) plutot que perl?
Merci pour ta réponse!
#25 David, biologeek , le 18 March 2007 à 19h :
Python est lisible, objet, dispose d'outils de documentation (doctests, unittests) avancés. Petit bonus, il est prêt à attaquer le web ;-).
Perl est write-only. C'est quasiment du jetable si quelqu'un veut remettre le nez dedans un jour...
Pour un employeur qui mise sur le long terme, le choix est vite fait à mon avis.
#26 jfern , le 19 March 2007 à 13h :
Merci pour cette réponse.
#27 vulcanix , le 9 October 2007 à 11h :
Python est certes séduisant pour les amateurs debutants etc ..
La complexité est renvoyée vers les bibliothéques , sortes de boites noires , qui font presque tout ... même le café . Sauf que lorsque on est devant un blocage ... comment savoir ce qui se passe au niveau de la bibliotheque
Pour les anciens , qui comme moi ont connu les processeurs 286 et 386 etc le basic interprété n'était pas viable en terme de rapidité . On a inventé le Basic compilé ( quickbasic de MS)
On utilisait des routines en assembleur .
L'apparition du C et puis du C++ accessoirement Pascal ont permis un progres considerable dans des developpements puissant et performants en rapidité
Certes avec la montée en puissance extraordinaire des processeurs actuels , le fait d'utiliser du langage dit L4G est compatible et acceptable en terme de rapidité .... mais la même application en C ou C++ il y a pas photo ( c'est de la formule 1)
Il y a des L4G commerciaux type Windev qui sont enfantins à utiliser
#28 David, biologeek , le 9 October 2007 à 12h :
@vulcanix : les bibliothèques ne sont pas des boîtes noires dans le sens obscur du terme, elles remontent généralement des erreurs compréhensibles par le commun des mortels. Vraiment. De plus, ces bibliothèques sont généralement open-source et comme c'est du python c'est facilement lisible :-).
Après concernant les performances, bien sûr C sera toujours plus rapide à exécuter (pour le coder par contre...), même s'il est possible d'optimiser son code python de façon à accélérer tout ça avec des bonnes pratiques/astuces. Dernier exemple en date : effbot.org/zone/wide-find...
#29 urchin , le 14 October 2007 à 13h :
Juste un truc, pour des programmes un peu plus gros que des utilitaires, j'aime quand même beaucoup le typage statique de Java ou C++. C'est quand même mieux de découvrir des problèmes à la compilation qu'à l'exécution, non?
#30 David, biologeek , le 14 October 2007 à 14h :
@urchin : si tu fais de la programmation dirigée par les tests tu as les erreurs dans des conditions quasi-réelles, encore mieux non ? :-)
Il faudra que j'écrive un truc là-dessus tiens.
#31 urchin , le 14 October 2007 à 16h :
@David: tout-a-fait, et je devrais le faire, le manque de tests dans mon application actuelle se fait cruellement sentir :/ Mais... (car il y a un gros 'mais') je ne sais pas ou trouver de bonne ressources pour concevoir des tests unitaires ou des tests d'integration pour des applications 'difficiles' (par exemple, je trouve les interfaces utilisateurs pas evidentes a tester, et d'autre part la plate-forme que je developpe est distribuee, donc il faudrait mettre en place toute une mecanique pour les tests).
Sinon, je continue a penser que le compilo est bien pratique pour diriger la programmation, i.e. faire un changement qui casse le source et en deduire les modifications a apporter pour que ca compile a nouveau.
En tout cas, je serai ravi de lire ce que tu as a dire sur le TDD, surtout pour des projets complexes. Et si tu connais des bonnes formations sur le sujet (et l'XP en general), je suis preneur aussi :)
#32 Class , le 8 November 2007 à 17h :
Salut tout le monde j'aurais voulu me mettre au Python mais quand je vois comme c'est pas pratique tu tout ...
en réalités je programme depuis le début de l'annés et j'ai commencé par le Visual Basic et j'ai trouver sa clair parfait pour tout application windows ( surtout avec la posibilité du mode Desing qui est bien pratique pour commencé! ) Bon je sais qu'il est imposible de d'allé bien loing avec VB mais pour commencé c'est vraiment Cool et simple !
#33 Bishop , le 17 December 2007 à 08h :
A première vue la syntaxe Python me fait penser au BASIC, le language avec lequel j'ai commencé la programmation...Si on implémente une application compexe ne risque-t-on pas les mêmes problèmes qu'avec BASIC: code spagetti, et surtout problème de performance??
#34 David, biologeek , le 17 December 2007 à 09h :
@Bishop : la syntaxe peut-être mais la notion d'objet a été poussée très loin avec Python donc non on n'arrive pas à du code spaghetti lorsqu'on sait un minimum développer. Niveau performances, ça reste de l'interprété mais c'est quand même assez performant pour un grand nombre de besoins, après il est possible d'optimiser certaines parties en mettant du C par exemple.
La meilleure façon de se faire une idée... c'est d'essayer :-).
#35 Pinky , le 3 January 2008 à 19h :
Une chose est sûre, T'es au top pour vendre ta marchandise. Bravo!
Il faut dire qu'il est toujours plus facile de vendre du bon et fastoche que ...
Python est en effet génial.
J'ai lu quelque part que le créateur du C++ a dit en voyant python :" J' ai perdu mon temps, c'est python que j'aurais dû inventer".
Ca laisse coit, non ?
Ceci dit, la simplicité de python ne se ressent vraiment qu'a son initiation parce que plus loin, comme tout langage de programmation, ca devient quand même chaud.
Si je devais opposer un langage à python, je crois bien que ce serait OCaml. ( à méditer )
#36 mereaux , le 26 January 2008 à 16h :
Je travaille dans le test:
quand les développeurs travaillent en C ou C++ je travaille en python
quand ils travaillent en java je travaille en jython
et dernièrement j'ai utilisé IronPython parce que j'avais une appli en C# ...
C'est facile et rapide.
#37 simo , le 6 February 2008 à 02h :
Bonjour
Je développe dans une application de gestion faite en Python.
J'utilise (codage manuel) uniquement la méthode fourni par l'éditeur pour ajouter de nouveau modules coté serveur.
Et c'est la même qui permet d'ajouter des interfaces sur le client.
Je sais qu'ils ont utilisé py2exe pour générer les exe à partir des script python. Et que le client est basé sur GTK.
Mais je ne sais pas exactement quel framework ils ont utilisé pour générer les interfaces graphiques du client (est-ce glade, wxpython, etc), et est ce qu'il existe aussi un framework graphique pour développer les modules coté serveur ?
A noter que le la licence du produit est en GPL.
Base de donnée PostgreSQL.
Architecture XML-RPC.
Modélisation O.R.M (object relationel mapping)
Voila quelques bibliothèque utilisé par le client windows :
libcairo-2.dll , tcl84.dll , tk84.dll , libxml2.dll , python24.dll , MSVCR71.dll , pythoncom24.dll , libpangoft2-1.0-0.dll , pywintypes24.dll , libglade-2.0-0.dll , libpangocairo-1.0-0.dll .
Voila quelques bibliothèques utilisées par le serveur :
tcl84.dll , tk84.dll , MSVCR71.dll , python24.dll , libxml2.dll , LIBPQ.dll , libexslt.dll.
Si qlq'1 connu de la doc sur les meilleurs framework qui permette le développement d'interface graphique avec python et sous GTK.
#38 Lou , le 19 February 2008 à 11h :
hello simo,
dans ta liste de librairies, on voit "libglade-2.0" donc ça répond à ta question non ?
essaye "stani python editor" spe, qui intègre le code et les gui.
Perso, je travaille avec glade pour une seule raison : il produit du xml pur, ce qui me permet de réarranger certaines choses si nécessaire "on the fly" sans rien recompiler.
Pour un MAX de doc et d'exemples, wxPython est d'une richesse extra : dans win xp, lancer : C:\Program Files\wxPython2.8 Docs and Demos\demo\demo.pyw donne plus de 200 exemples foudroyants, avec code prêt à copier-coller.
Si tu dois réaliser une interface technique (voltmètres, oscilloscopes, etc) tu devra plutôt te tourner vers PyQT pour QT4, tu y trouveras des librairies ad hoc. Bon vent.
#39 codeStaler , le 24 June 2008 à 14h :
Je me suis mis à Python pour mon stage.
Eh bien je peux dire qu'il est puissant, efficace et vraiment facile à prendre en main ; toutes les éloges qui lui sont faits sont justifiés.
Par contre, ayant débuté avec du C/C++, j'ai également quelques reproches à lui faire :
* Je trouve sa documentation officielle foire*se (très peu d'exemples ou pas du tout), des explications que peut-être je ne comprends pas.. .
Comparé au C/C++, Java dont la doc est abondante et de meilleure qualité (dans bien des cas).
* Il y a comme un manque de formalisme dans la programmation en Python.
. Les membres des objets tous publiques, ce qui est contraire à l'approche POO.
(d'où le besoin de créer les properties),
. plusieures implémentations pour les classes (new style classes=> object)
les __future__ statement, etc...
On sent que certaines choses n'ont pas été pensées au départ ou pensées différement et que l'équipe Python est obligé de "patcher" pour tout ce qui manque.
> Etat d'esprit du langage 'brouillon', des changements à prévoir d'une version sur l'autre (tellement extensible que ç'en est mal défini).
Par exemple, je cherche à organiser mon projet en package et j'ai besoin d'inclure des modules internes dans des scripts présents dans d'autres dossiers internes au projet. Le fonctionnement des fichiers __init__.py, de sys.path, PYTHONPATH est si bien expliqués que ça ne marche pas..
Comme quoi, rien ne peut être parfait..
Mais Python reste LA bonne alternative de langages info pour sa pédagogie, son utilisation dans des projets "pas trop complexes".
#40 kib , le 24 June 2008 à 22h :
codeStaler :
La plupart de tes reproches sont justifiés, la doc par exemple est très 'formelle', ne donne que peu d'exemples concrets et ne met pas toujours en évidence des points très importants.
Les attributs publics, ça se discute vu que n'importe qui peut y accéder et les modifier en bidouillant un peu. En pratique, je trouve que c'est plutôt une bonne chose, il faut simplement oublier le côté très formel de Java. Bien sûr, on s'éloigne un peu de la vraie POO.
Pour les classes, sous classer 'object' doit devenir une habitude.
C'est vrai que les détracteurs de Python lui reprochent ce côté un peu 'picoreur' et décousu : on emprunte une fonctionnalité à Java, une autre à Lisp (les lambdas, dire que Guido à failli les supprimer dans Python 3k), d'autres encore à Haskell (les lists comprehension). Mais qui s'en plaindrait au vu de l'efficacité ?
Pour les packages et modules, on a sans doute tous eû du mal au départ (et encore maintenant, dès que ça se complique un peu pour ma part). Le mieux est peut-être de regarder comment sont organisés quelques extensions bien écrites et pas trop longues.
Ajouter un commentaire