27 votes

Que doivent savoir les personnes qui découvrent Python sur sa communauté et son écosystème ?

Je suis en train de bricoler une sorte d'introduction à Python, mais qui se concentre sur la communauté et l'écosystème autour de Python plutôt que sur le langage lui-même. Avec Comment penser comme un informaticien et d'autres excellents tutoriels, il est facile de se familiariser avec le langage, mais il m'a fallu un bon moment avant de savoir ce qu'est The Cheese Shop, ou, euh, PyPi, comment fonctionnent pip et virtualenv et pourquoi les utiliser, où trouver de l'aide, les blogs intéressants à suivre, à quoi doit ressembler votre code (PEP 8, écrire du code pythonique), etc. Le "soft".

Qu'est-ce qui vous a le plus déconcerté lorsque vous avez commencé à utiliser Python ? Y a-t-il des choses que vous auriez voulu savoir, ou des ressources sur lesquelles vous auriez aimé tomber plus tôt que vous ne l'avez fait ? Des personnes à connaître ?

J'ai trouvé quelques questions similaires sur StackOverflow (par ex. aquí ) mais rien de vraiment proche de ce que j'aimerais entendre de votre part. J'espère que cette question ne sera pas trop subjective à votre goût :-)

(Et, si vous souhaitez aider, n'hésitez pas à envoyer un message).

19voto

e-satis Points 146299

Je pense que l'une des choses les plus importantes qu'un débutant doit savoir sur l'écosystème Python est qu'il s'agit d'un langage à usage général entouré de librairies spécialisées. Les pythonistes expérimentés les connaissent, mais un débutant ne peut pas les connaître :

  • Ne vous arrêtez pas pour tkinter : aller wx , gtk o qt .
  • Ne développez pas le code web à la main : utilisez les outils suivants TurboGears , Pylônes , Web.py o Django .
  • Ne pas analyser le HTML / XML avec des outils difficiles : utiliser lxml o belle-soupe .
  • Ne pas faire de syscall à imagemagik : utiliser LIP .
  • Ne faites pas de maths avancées manuellement : utilisation NumPy y SciPy .
  • N'accédez pas à des bases de données simples à la main : utilisez un ORM tel que SQLAlchemy .
  • Ne réinventez pas la roue de l'administrateur système : utilisez Tissu .
  • etc.

Les principaux d'entre eux devraient être répertoriés dans un livre avec des conseils pour choisir parmi eux.

9voto

S.Lott Points 207588

"Qu'est-ce qui vous a le plus déconcerté quand vous avez commencé avec Python ?"

Règle 2 de l'apprentissage de Python : Tout module ou cadre général que vous pensez vouloir a déjà été écrit. Plusieurs fois.

La partie la plus difficile est de réaliser que votre idée est

  1. Pas unique.

  2. ont déjà été améliorés avant même que vous ne commenciez à y penser.

  3. Déjà posté quelque part.

Donc, codez moins et cherchez plus. Effectuez des recherches larges et flexibles jusqu'à ce que vous trouviez des choses similaires à ce que vous voulez faire.

  • Réalisez que vous avez peut-être un nom qui vous semble descriptif. Mais d'autres personnes peuvent l'appeler différemment. Rejoignez la communauté, adoptez leur nom. Vous n'aimez peut-être pas l'expression "ORM", mais c'est ainsi qu'on l'appelle.

  • Réalisez que votre idée, même si elle semble solide, peut être vraiment mauvaise. Lorsque vous trouvez un framework qui semble avoir des "fonctionnalités supplémentaires inutiles", il se peut qu'il manque quelque chose à votre idée.

  • Réalisez que votre idée, aussi "intuitive" qu'elle puisse paraître, peut être vraiment mauvaise. Lorsque vous trouvez un cadre qui semble "contre-intuitif", le problème pourrait être le vôtre. Apprenez d'abord le leur, puis comparez et opposez-les une fois que vous aurez maîtrisé le leur. Jusqu'à ce que vous maîtrisiez le leur, continuez à chercher et à apprendre.

7voto

mjv Points 38081

Quelques points relatifs à l'écosystème et indirectement à la communauté :

  • J'aurais aimé que l'on me rappelle davantage le Batteries included . Je pense que l'on devrait dire aux gens d'imprimer le Table des matières de la bibliothèque standard et le garder sous leur oreiller, pour le revoir fréquemment (ce conseil, je l'ai finalement suivi, plusieurs années après, à partir d'une présentation vidéo d'introduction/débutant en ligne !) La stabilité [relative], le contenu étendu mais pertinent de la Std Lib témoigne de la gouvernance réfléchie des leaders de la communauté et de sa chère BDFL.

  • Je pense que les nouveaux arrivants peuvent également être "avertis" (le mot est peut-être trop fort, trop injuste) de l'extrême variété de PiPy . Cela reflète le dynamisme, l'intelligence et la diversité (en termes d'expérience, de domaine d'application, d'intérêts...) du collectif d'utilisateurs et de contributeurs. Cependant, cela peut être accablant et éventuellement risqué car tous les paquets ne sont pas "prêts pour le prime time" (mais beaucoup le sont et m'ont "sauvé la vie" plusieurs fois).

  • Même si vous vous sentez trop novice en matière de Python, ne vous contentez pas de utiliser les bibliothèques, jetez un coup d'œil sous le capot ! C'est vrai pour de nombreux langages, mais peut-être plus particulièrement pour Python, il y a beaucoup à apprendre en parcourant les différents codes sources. Les raisons pour lesquelles c'est particulièrement vrai pour Python sont intrinsèques au langage lui-même (multi-paradigmes, haut niveau d'abstraction...) mais aussi à cause de l'architecture de la bibliothèque. relatif l'uniformité du style de codage (et d'architecture) et en raison du niveau général de collaboration au sein de la communauté.

5voto

S.Lott Points 207588

"Qu'est-ce qui vous a le plus déconcerté quand vous avez commencé avec Python ?"

Règle n°1 de l'apprentissage de Python : Utilise la Source, Luke.

Il y a des questions sur SO demandant la "bonne" source pour apprendre Python. Les meilleures réponses se résument à "lire les bibliothèques fournies avec Python".

On peut dire que les bibliothèques fournies avec Python sont excentriques. Par endroits. Ce qui les rend d'autant plus intéressantes pour l'apprentissage.

  1. Il y a une communauté de personnes partageant les mêmes idées et qui ne sont pas des clones.

  2. Les logiciels à code source ouvert sont les logiciels de la plus haute qualité avec lesquels vous aurez l'occasion de travailler, mais ils ne sont pas créés par des développeurs rémunérés qui appliquent rigoureusement les normes.

4voto

Adrien Plisson Points 9750

Expliquant ce qu'est un PEP, comment il est rédigé et qui les a rédigés, où nous pouvons les trouver. Les PEP donnent beaucoup d'informations de base sur une fonctionnalité spécifique du langage. Ils sont également l'outil qui montre la rapidité de l'évolution de Python.

(j'aurais aimé lire certains PEP plus tôt, mais je n'en avais pas vraiment conscience, bien qu'ils soient fréquemment liés dans le manuel)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X