Python
– Bases, culture et pédagogie

Quelques raccourcis :
Quelques lectures « essentielles » sur le langage
Python.
- http://www.python.org/
- http://en.wikipedia.org/wiki/Python_programming_language
- http://docs.python.org/library/index.html
- http://www.pythonapi.com/
- Livres en ligne :
-
https://github.com/kirang89/pycrumbs/blob/master/pycrumbs.md
- Le Hitchhiker's Guide to Python : http://docs.python-guide.org/en/latest/index.html
- Survol de
Python, par Luis Atencio en 2013 :
http://www.luisatencio.net/2013/10/exploring-python.html
- L'écosystème de
Python, décrit par Mi Nazim en
2011 : http://mirnazim.org/writings/python-ecosystem-introduction/
- http://www.doughellmann.com/PyMOTW/articles/data_structures.html
- http://www.linux.com/news/software/developer/167096-an-introduction-to-python-objects
- Pourquoi
Python, par
Eric
S. Raymond : http://www.linuxjournal.com/article/3882
- La philosophie de
Python, que plusieurs nomment le Zen de
Python :
- Apprendre
Python :
- http://weblog.henrytheadequate.com/?p=348
- En 2014, Mick Coghlan explique pourquoi, selon
lui, Python 4 suivra un chemin différent de celui
suivi par Python 3 :
http://www.curiousefficiency.org/posts/2014/08/python-4000.html
- Saines pratiques de programmation en
Python :
- Armin Ronacher, en 2014, discute du support
d'Unicode avec
Python :
http://lucumr.pocoo.org/2014/1/5/unicode-in-2-and-3/
- Réflexions sur la multiprogrammation avec
Python :
- Héritage coopératif : http://www.artima.com/weblogs/viewpost.jsp?thread=281127
- Format de marshalling utilisé par
Python : http://daeken.com/python-marshal-format
- http://www.pardus.org.tr/eng/projects/comar/PythonInPardus.html
- http://www.internetnews.com/dev-news/article.php/3775901/Pythons+New+Release+Bridges+the+Gap.htm
- http://muckandbrass.com/web/display/~cemerick/2009/03/24/Why%20MIT%20now%20uses%20python%20instead%20of%20scheme%20for%20its%20undergraduate%20CS%20program
- http://www.itworld.com/development/76397/python-and-power-first-class-everything
- Python for fun : http://openbookproject.net/py4fun/index.html
- Le paradoxe
Python, selon
Paul
Graham : http://www.paulgraham.com/pypar.html
- Les appelables (Callables) de
Python et leur fonctionnement, par
Eli Bendersky en 2012 : http://eli.thegreenplace.net/2012/03/23/python-internals-how-callables-work/
- Pourquoi
Python oblige le recours explicite à
self pour référer à des membres d'instance (merci
à Marc Dagenais pour avoir fait les recherches à
ma place et m'avoir épargné du temps!) :
- Ce que vous ne saviez pas à propos de
Python, par Armin Ronacher
en 2012 :
https://speakerdeck.com/u/mitsuhiko/p/didntknow
- Texte d'Amir Rachum en 2013 listant quelques
« erreurs de débutant » en
Python :
http://blog.amir.rachum.com/post/54770419679/python-common-newbie-mistakes-part-1
- Mythes et réalités à propos des noms et des valeurs avec
Python, par Ned
Batchelder en
2013 :
http://nedbatchelder.com/text/names.html
- Créer des listes chaînées avec
Python comme on le ferait avec un
langage
fonctionnel, par Daniel Bader en 2013 :
http://dbader.org/blog/functional-linked-lists-in-python
-
Python et les booléens :
- Du
Python pas très « pythonique », par Erik Taubeneck en
2014 :
http://skien.cc/blog/2014/04/09/unpythonic-python/
- Programmation dynamique avec
Python, par Jacobo Minuscula (du moins, je
pense que c'est son nom) en 2014 :
http://www.jminuscula.es/blog/2014/05/07/dynamic-programming-with-python/
- Quelques erreurs typiques de programmeurs
Python, colligées par Martin Chikilian en
2014 :
http://www.toptal.com/python/top-10-mistakes-that-python-programmers-make
- Selon Joab Jackson en 2014,
Python serait
devenu le principal langage aux États-Unis pour ce qui est d'apprendre la
programmation :
http://www.javaworld.com/article/2452940/learn-java/python-bumps-off-java-as-top-learning-language.html
- Pourquoi
Python n'offre pas de méthodes privées, texte de Michael Buckely
en 2015 :
https://codefisher.org/catch/blog/2015/05/17/python-property-function-why-no-private-methods/
- Comment ont évolué les pratiques pour quelque chose de simple comme
compter des objets en
Python, selon Trey Hunner en 2015 :
http://treyhunner.com/2015/11/counting-things-in-python/
- Présentation visuelle et animée des compréhensions de listes en Python,
par Trey Hunner en 2015 :
http://treyhunner.com/2015/12/python-list-comprehensions-now-in-color/
Idées et opinions
Technique
- Système de types de
Python :
../../Liens/Systemes-types--Liens.html#langage_Python
- Intégrer
Python avec C ou C++ :
- Utiliser
COM
à travers
Python : http://www.pyzine.com/Issue007/Section_Articles/article_PythonCOM.html
- Implémenter des
décorateurs : http://www.ibm.com/developerworks/linux/library/l-cpdecor.html
- Implémenter des
DSL :
http://www.ibm.com/developerworks/library/l-cpdec.html
- goto en
Python... http://entrian.com/goto/
- Débogage avec
Python : http://aymanh.com/python-debugging-techniques
- Interagir avec le service Hadoop
d'Amazon : http://atbrox.com/2009/10/07/how-to-use-c-compiled-python-for-amazons-elastic-mapreduce-hadoop/
- Dans les entrailles de
Python : http://tech.blog.aknin.name/2010/04/02/pythons-innards-introduction/
- http://mike.axiak.net/blog/2010/06/25/python-generic-dispatch/
- http://alexgaynor.net/2010/jun/26/multimethods-python/
- http://stackoverflow.com/questions/101268/hidden-features-of-python
-
Python et les fermetures : http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/67666
- Un interpréteur Lisp
rédigé en
Python : http://norvig.com/lispy.html
- Tables de symboles internes de
Python :
- Prudence avec exec et eval :
http://lucumr.pocoo.org/2011/2/1/exec-in-python/
- Prudence avec lambda : http://algorithm.com.au/blog/files/immutability-blocks-lambdas-closures.php#unique-entry-id-613
- Convertir des classes en dictionnaires, et inversement : http://www.acooke.org/pytyp/pytyp.html#strong-types
-
Python et la « paresse » : http://theorangeduck.com/page/lazy-python/
- Utiliser super : http://rhettinger.wordpress.com/2011/05/26/super-considered-super/
- Écrire un algorithme de type
Map/ Reduce : http://michaelnielsen.org/blog/write-your-first-mapreduce-program-in-20-minutes/
- Python et l'internationalisation : http://lucumr.pocoo.org/2011/7/15/eppur-si-muove/
- Qui a dit que le code
Python était nécessairement
lisible?
http://preshing.com/20110822/penrose-tiling-in-obfuscated-python
- Un truc de programmation en
Python à chaque affichage : http://facts.learnpython.org/
- Un interpréteur brainfuck en une
(horrible) ligne de
Python, par Yonatan Naamad en 2011 :
http://www.cs.princeton.edu/~ynaamad/misc/bf.htm
- Les divers else de
Python, colligés par
Amir Rachum en 2012 : http://blog.amir.rachum.com/post/27860231695/what-else-is-there-in-python
- Un paramètre en
Python est-il passé par valeur ou par référence? En
2012, Jeff Knupp répond « ni l'un, ni l'autre » :
http://www.jeffknupp.com/blog/2012/11/13/is-python-callbyvalue-or-callbyreference-neither/
- Texte pas gentil du tout par Pierre Bourdon en 2013, qui montre comment
échapper au « carré de sable » de
Python... de l'intérieur :
http://blog.delroth.net/2013/03/escaping-a-python-sandbox-ndh-2013-quals-writeup/
-
Python et les annotations de fonctions, texte de Manuel Cerón en
2013 :
http://ceronman.com/2013/03/12/a-powerful-unused-feature-of-python-function-annotations/
- Comprendre les descripteurs avec
Python :
- Utiliser
Python pour développer des
applications Web :
- Divers irritants avec
Python, colligés en
2009 :
http://www.lshift.net/blog/2009/10/29/python-quirks
- Optimiser avec Python :
../../Liens/Optimisation--Liens.html#langage_Python
- Divers trucs amusants de programmation en
Python :
-
Python et le traitement d'erreurs :
- Portée des variables servant à titre d'indice dans une répétitive, par Eli
Bendersky en 2015 :
http://eli.thegreenplace.net/2015/the-scope-of-index-variables-in-pythons-for-loops/
- Géométrie programmatique avec
Python, article de Francisco Blanco-Silva en
2015 :
https://blancosilva.github.io/post/2014/10/28/Computational-Geometry-in-Python.html
- Rediriger les flux standards, texte d'Eli Bendersky en
2015 :
http://eli.thegreenplace.net/2015/redirecting-all-kinds-of-stdout-in-python/
- Le cas particulier du problème de
l'anniversaire de Cheryl, résolu par
Python, texte et code de
Peter
Norvig en 2015 :
http://jxf.me/entries/cheryls-birthday/
- Faire de l'
obfuscation sur un Hello World en
Python, par Ben
Kurtovic en 2015 :
https://benkurtovic.com/2014/06/01/obfuscating-hello-world.html
- Traiter des données binaires avec
Python,
série d'exemples proposés en 2015 :
http://www.devdungeon.com/content/working-binary-data-python
-
Python
et ses collections, par Saravanan Subramanian en 2015 :
https://techietweak.wordpress.com/2015/11/11/python-collections/
- Écrire un serveur Web
avec
Python, série d'articles par Ruslan Spivak en
2015 :
Critiques
- http://jessenoller.com/2009/05/26/a-short-list-of-things-i-dont-like-about-python/
- Texte de Zed A. Shaw en 2009 : http://zedshaw.com/blog/2009-05-29.html
- http://www.travisswicegood.com/index.php/2009/12/22/the-problem-with-python-namespaces-modul
- http://blog.labix.org/2010/07/09/python-has-a-gil-and-lots-of-complainers
- http://www.enricozini.org/2010/python-frameworks-toowtdi/
- À propos du formatage des chaînes de caractères :
http://kuoi.com/~kamikaze/read.php?id=287
- Je pense que c'est un commentaire constructif : http://xkcd.com/353/
- Une critique des aléas du Duck Typing, par Ted Dziuba en
2008 : http://teddziuba.com/2008/12/python-makes-me-nervous.html
- Pas si simple d'appeler une fonction
Python et de la documenter, selon Mikko
Ohtamaa en 2011 : http://opensourcehacker.com/2011/03/29/when-python-sucks-how-you-call-a-function-and-document-it/
- En 2012, Yuval Greenfield explique pourquoi
il ne compte pas abandonner
Python pour utiliser Go :
http://uberpython.wordpress.com/2012/09/23/why-im-not-leaving-python-for-go/
(une partie importante de sa critique repose sur l'absence d'exceptions
en Go)
- En 2012, Calvin Spealman se dit inquiet pour
le futur de
Python :
http://www.ironfroggy.com/software/i-am-worried-about-the-future-of-python
(toujours en 2012, Tim McNamara se dit quant à
lui confiant : http://data.geek.nz/python-is-doing-just-fine)
- Poursuite des échanges sur le futur de
Python :
- En 2014, Ian Bicking explique pourquoi il
« quitte »
Python :
http://www.ianbicking.org/blog/2014/02/saying-goodbye-to-python.html
- Texte de 2014 par David A. Dalrymple qui explique pourquoi son
langage de prédilection est passé de
Python, à
Scheme, à... l'assembleur
x64 :
http://davidad.github.io/blog/2014/02/28/python-to-scheme-to-assembly-1/
-
Python est-il le meilleur langage pour apprendre à programmer? James
Hague, dans ce texte de 2015, indique que s'il l'a
déjà pensé, il n'est désormais plus de cet avis :
http://prog21.dadgum.com/203.html