L'ensemble de la communauté Python espère que cela n'aura pas d'impact négatif sur l'écosystème. Mais cela ne suffit pas. Par exemple, nous considérons qu'il est important de soutenir la communauté et, comme l'un des événements, nous organisons une grande conférence appelée Moscow Python Conf ++. Là, nous pouvons discuter de cela et d'autres questions importantes. En attendant, je vais vous présenter partiellement le Comité du programme. Et il leur a posé plusieurs questions qui ne feraient que révéler leur point de vue sur l'écosystème et parler des gens mieux que leurs réalisations professionnelles.
En plus de la question du titre, j'ai posé la question suivante:
- Que recommandez-vous pour la gestion des dépendances?
- Quelle est la meilleure chose à faire en backend maintenant?
- TensorFlow est-il toujours orienté pour le Machine Learning, ou est-il temps d'apprendre quelque chose de nouveau?
- Pourquoi votre juin devrait-il apprendre Python, pas JavaScript?
- Ils disent que le backend web n'est plus nécessaire. En est-il ainsi?
- 3.x ou 2.7?
- En quoi un bon développeur Python est-il différent d'un mauvais?
Spoiler: La provocation «3.x vs 2.7» a échoué, la réponse est claire. Il semble trop tôt pour refuser le backend, mais ce qu'il faut faire dépend de la tâche - qui aurait pensé.
Je donne mes réponses avec une brève aide, pourquoi pas.
Grigory Petrov est un développeur à large base, évangéliste technique de Voximplant et l'un des organisateurs de la communauté MoscowPython. Il aime Python, JavaScript, C ++, le réseau, les tests unitaires et les grands projets. Lorsqu'il prend la parole lors de conférences, il parle du portefeuille de Miller et des raisons pour lesquelles l'écriture de logiciels est une douleur.
- L'auteur Python ne dirige plus le développement. Est-ce que cela rendra la langue meilleure ou pire?Il y a une telle expression: "L'esprit collectif pense très bien, mais prend très mal les décisions." Je pense que si les développeurs parviennent à s'entendre sur l'adoption de décisions importantes par le plus petit groupe de visionnaires, cela ne profitera qu'à la langue.
- Que recommandez-vous pour la gestion des dépendances?Je suis pour un tas éprouvé de pip et de virtualenv. Il y a beaucoup de nouveaux développements maintenant, mais je ne vois aucun d'eux se stabiliser suffisamment.
- Quelle est la meilleure chose à faire en backend maintenant?Très dépendant de la tâche. Si vous avez besoin de créer rapidement un site Web d'une page avec un panneau d'administration et que vous n'avez pas besoin de milliers de visites par seconde, Django est hors de concurrence. Le front end au goût,
je préfère VueJS . Mais si vous avez besoin d'API, d'une charge élevée et d'autres choses intéressantes, la gamme devient très large et vous devez examiner les exigences. Et AIOHTTP?
-
TensorFlow continue de piloter pour le Machine Learning, ou est-il temps d'apprendre quelque chose de nouveau?En tant que bibliothèque de bas niveau, tout est toujours orienté. Google y verse une quantité infinie de ressources, il en décide beaucoup. Mais de bons emballages et des bibliothèques de haut niveau sont en stock maintenant et vous pouvez trouver quelque chose directement "pour vous".
- Une phrase: pourquoi votre juin devrait-il apprendre le Python, pas JavaScript?La meilleure documentation au monde.
- Ils disent que le backend n'est plus nécessaire sur le web. En est-il ainsi?Le web est différent. Une carte de visite d'une page peut vraiment être construite à l'aide de Webpack sur VueJS, compilée Nuxt et présentée comme statique sur CloudFlare. Et pour une manipulation simple des données, GraphQL est idéal pour Firebase. Pour quelque chose de plus sérieux, vous avez besoin d'un backend complet. J'ai écrit "sérieux". J'ai écrit "plein". Veuillez remettre le nœud sur l'étagère. Oui, je l'aime aussi, mais pas encore le temps.
- 3.x ou 2.7?Si un nouveau projet - alors certainement 3.x et types. Si Legacy - alors vous devez regarder attentivement.
La meilleure solution n'est pas toujours «réécrivons tout pour les dernières versions» . Suivez les circonstances.
- En quoi un bon développeur Python est-il différent d'un mauvais?Chaque langage de programmation n'est pas seulement une syntaxe et un écosystème, mais aussi son propre petit monde appelé "comme c'est la coutume ici".
Un bon développeur Python écrit en Python. Pas en Java dans la syntaxe Python ou PHP dans la syntaxe Python. Il est apprécié par les collègues.
Vladimir Filonov est également l'un des organisateurs de la communauté MoscowPython. Il aime Python, Erlang / Elixir, l'asynchronie et TDD. Il aime se plonger dans l'intérieur des bibliothèques, puis en parler.
- L'auteur Python ne dirige plus le développement. Est-ce que cela rendra la langue meilleure ou pire?Bien sûr, la réponse est certainement difficile. Guido était toujours le principal idéologue de la langue. D'un autre côté, toutes ses décisions n'étaient pas sans ambiguïté. Il me semble que maintenant tout dépendra de la possibilité, c'est-à-dire de l'ensemble de la communauté Python, de construire un processus décisionnel stratégique plus efficace.
- Que recommandez-vous pour la gestion des dépendances?J'utilise pip + virtualenvwrapper localement, mais cela est plus probable par inertie. Et donc je recommanderais pyenv.
- Quelle est la meilleure chose à faire en backend maintenant?Et ici, cela dépend de la raison d'être de ce backend.
Je dis toujours - la langue n'est qu'un outil.
Il n'est pas très pratique de marteler des ongles avec le même outil et de faire de la gravure. Même les langages universels (comme Python, par exemple) traitent mieux certaines tâches et pire d'autres. Mais si nous parlons du backend web moyen, je choisis Python dans la grande majorité des cas.
-
TensorFlow continue de piloter pour le Machine Learning, ou est-il temps d'apprendre quelque chose de nouveau?TensorFlow conduit certainement. Mais ce n'est pas dangereux de commencer à apprendre la langue de Julia =)
- Une phrase: pourquoi votre juin devrait-il apprendre le Python, pas JavaScript?Si vous ne plongez pas dans le débat sur la maturité architecturale, je dirais que
Python est beaucoup plus élégant syntaxiquement et plus facile à lire.
- Ils disent que le backend n'est plus nécessaire sur le web. En est-il ainsi?Eh bien, ils disent que les programmeurs ne seront pas nécessaires bientôt non plus - l'IA écrira le code lui-même. Mais pour l'instant, les deux sont des concepts très douteux.
- 3.x ou 2.7?Seulement 3.x. 2.7, bien sûr, vivra toujours dans des projets pendant de nombreuses années, mais c'est un héritage. Par conséquent, cela n'a aucun sens de créer quelque chose de nouveau sur une version sans issue de la langue.
- En quoi un bon développeur Python est-il différent d'un mauvais?Vous pouvez répondre sans Python - en quoi un bon programmeur diffère d'un mauvais. Il me semble que l'essentiel ici est la
curiosité . Intérêt pour le fonctionnement de telle ou telle technologie. Maintenant, le développeur est fourni avec beaucoup de tout prêt - prendre et riveter à partir des blocs finis. Et l'un des problèmes de l'industrie est que beaucoup sont satisfaits de ce rivetage, ne comprenant pas comment le mécanisme qu'ils utilisent est organisé. Et si vous devez vous éloigner des exemples décrits dans la documentation, les problèmes commencent.
Tous les membres du comité du programme n'ont pas participé à l'enquête éclair, certains étaient tellement occupés à soumettre des demandes et à préparer des rapports qu'ils n'ont pas eu le temps de répondre. Pardonnez-leur - pour nous, ils essaient.
Zlata Obukhovskaya connaît l'écosystème Python depuis dix ans, période pendant laquelle elle a essayé différentes choses: de la science des données au développement de projets à haute charge et à la gestion d'équipes. Il enseigne à Learn Python, s'intéresse aux systèmes distribués et à la création de communautés techniques. Aime parler de la culture technologique, qui devrait être alimentée par la stratégie.
- L'auteur Python ne dirige plus le développement. Est-ce que cela rendra la langue meilleure ou pire?Guido a fait beaucoup pour Python, y a consacré sa vie. Son travail a porté ses fruits, dans l'écosystème il y a beaucoup de gens talentueux avec une vision forte qui sont prêts à faire avancer la langue. Qu'ils parviennent à s'organiser et à choisir avec succès une direction est une question ouverte. Un développement ultérieur du langage révélera le potentiel de la communauté Python, peu importe comment ce potentiel pourrait se révéler.
- Que recommandez-vous pour la gestion des dépendances?Projet de poésie intéressant.
- Quelle est la meilleure chose à faire en backend maintenant?Dépend de la tâche.
- Pour les applications CRUD, il s'agit de Django.
- Pour les API chargées qui fonctionnent avec plusieurs sources de données, il s'agit des frameworks asynchrones Tornado, aiohttp.
- Pour les API relativement simples avec une bonne charge, Flask convient.
-
TensorFlow continue de piloter pour le Machine Learning, ou est-il temps d'apprendre quelque chose de nouveau?Il est toujours judicieux d'essayer des cadres de production relativement jeunes et encore moins adaptés, par exemple, PyTorch. Juste pour pouvoir comparer des solutions de conception de données.
- Une phrase: pourquoi votre juin devrait-il apprendre le Python, pas JavaScript?Avec Python, vous pouvez apprendre JavaScript; au contraire, c'est plus difficile.
- Ils disent que le backend n'est plus nécessaire sur le web. En est-il ainsi?Dépend de la tâche. Partout où vous devez enrichir des données en ligne, ou la vitesse de réponse et le débit de la source de données, un backend est nécessaire.
- 3.x ou 2.7?3.x bien sûr!
- En quoi un bon développeur Python est-il différent d'un mauvais?Un bon développeur pense toujours comment je peux devenir meilleur demain qu'hier. Cela s'applique au développement dans n'importe quel langage. Le niveau de connaissances et d'expérience est sans importance.
Alexander Khayorov dirige le département de développement d'Ingram Micro Cloud, aime Python et programme sournoisement dessus. Et en ce qui concerne les clouds publics, les pratiques Kubernetes, Istio et DevOps / SRE - la passion et un domaine d'intérêt illimité.
- L'auteur Python ne dirige plus le développement. Est-ce que cela rendra la langue meilleure ou pire?Guido a déclaré qu'il quittait le poste de BDFL (dictateur bienveillant à vie) et c'est certainement un événement capital pour la communauté. Mais je ne pense pas que cela affectera négativement le développement de la langue dans son ensemble. Je m'attends à ce que les batailles autour des nouveaux PEP soient tout aussi tumultueuses.
Le spectacle doit continuer.- Que recommandez-vous pour la gestion des dépendances?Maintenant, définitivement
pipenv , et pourquoi et pourquoi je vous l'ai récemment expliqué en détail, voir la vidéo
ici .
- Quelle est la meilleure chose à faire en backend maintenant?Certainement sur l'outil qui répond à vos exigences fonctionnelles.
Python est très bon pour un démarrage rapide . Pour les cas techniques plus exigeants, il existe des modèles asyncio et sanic élégants. Django est toujours bon et attiré par une multitude de batteries et une large communauté de sympathisants.
-
TensorFlow continue de piloter pour le Machine Learning, ou est-il temps d'apprendre quelque chose de nouveau?Je suis un peu loin du sujet de l'apprentissage automatique, mais en se concentrant sur les conversations dans l'industrie, TensorFlow est définitivement dans le clip, bien que Keras soit de plus en plus mentionné. Theano est à nouveau bien optimisé pour une paire CPU / GPU et est pratique pour les tâches numériques.
- Une phrase: pourquoi votre juin devrait-il apprendre le Python, pas JavaScript?Pas javascript unique ...
- Ils disent que le backend n'est plus nécessaire sur le web. En est-il ainsi?Bien sûr, ce n’est plus nécessaire, n’en parlez à personne.
- 3.x ou 2.7?Il n'y a aucun doute: la
version 3.6.6 est la couronne de création . Regardez simplement le
journal des modifications 3.6 et tout se met en place.
- En quoi un bon développeur Python est-il différent d'un mauvais?Du karma pur et une approche pragmatique de la mise en œuvre des tâches, privilégiez la logique métier et l'humour mordant.
Ivan Tsyganov programme en Python, prend la parole lors de conférences pour les programmeurs et les testeurs. Il préparait la plus grande conférence sur la sécurité de l'information en Russie - PHDays. Lentement mais sûrement, il assemble une maison vraiment intelligente.
- L'auteur Python ne dirige plus le développement. Est-ce que cela rendra la langue meilleure ou pire?Python n'est plus jeune, tous les processus ont longtemps été débogués et fonctionnent bien. Je pense que fondamentalement rien ne changera, car
à la barre il reste des gens de confiance . En tout cas, Guido surveille le processus et si la folie commence à se produire, il interviendra certainement. Du moins, je le crois.
- Que recommandez-vous pour la gestion des dépendances?J'ai l'habitude de piper, j'en ai assez.
- Quelle est la meilleure chose à faire en backend maintenant?Si vous avez besoin d'obtenir un prototype fonctionnel aussi rapidement et facilement que possible - Django, panneau d'administration prêt à l'emploi. Ensuite, nous y attachons le
Django Framework REST et refaisons l'interface utilisateur humainement.
Et dans d'autres cas - tout dépend de la tâche.
-
TensorFlow continue de piloter pour le Machine Learning, ou est-il temps d'apprendre quelque chose de nouveau?Si le thème Machine Learning est intéressant, il est utile de tout suivre et de tout essayer de nouveau! Malheureusement, je n'ai pas trouvé de tâches appropriées, donc je suis un peu loin de ce domaine.
- Une phrase: pourquoi votre juin devrait-il apprendre le Python, pas JavaScript?Parce que mon juin devra écrire en Python
- Ils disent que le backend n'est plus nécessaire sur le web. En est-il ainsi?Comment donc aucun backend n'est nécessaire?! Nous n'avons pas besoin de ce web!
- 3.x ou 2.7?Seulement 3, car là tout est le plus délicieux. Oui, et
il est temps de dire au revoir au vieil homme 2.7 , il a fait son boulot.
- En quoi un bon développeur Python est-il différent d'un mauvais?Le désir d'apprendre de nouvelles choses.
Sur cette note optimiste, je vous invite à Moscou Python Conf ++ les 22 et 23 octobre. Le programme comprend de nouvelles et intéressantes, et sur la langue, et sur l'écosystème, et sur l'apprentissage automatique - je vais bientôt vous dire tout dans l'ordre, et la liste des rapports acceptés peut être trouvée ici .