Os tópicos mais quentes do Moscow Python Conf ++ foram desenvolvimento assíncrono, bem como uma comparação do Python, suas melhores práticas e ferramentas com análogos de outras linguagens e seu lugar no cenário do desenvolvimento moderno. Além disso, convidamos Benjamin Peterson, um dos desenvolvedores do CPython, Grigory Bakunov, da Yandex, e muitas outras pessoas muito interessantes para falar.

O quarto e o segundo, organizados em conjunto com nossa equipe, o Moscow Python Conf ++ se transformou visivelmente. O que aconteceu no evento, como se destacou nos fóruns de TI do setor, que lucro e prazer os participantes trouxeram - em nosso breve esboço de fotos do site.

A conferência reuniu mais de 460 convidados no próprio site, além de dezenas de participantes on-line. Paralelamos o programa de 24 relatórios em três fluxos. Os headliners da conferência estavam uniformemente espaçados ao longo da grade - a fim de evitar “anomalias gravitacionais”: para que as figuras de cima não chamassem toda a atenção para si mesmas. Este ano, também nos recusamos a continuar o experimento com um formato de dois dias, e isso ocorreu no contexto de um aumento no fluxo de aplicativos, portanto, não havia escassez de especialistas fortes. A alta concentração de palestrantes com relatórios fortes dificultou a escolha de quem e para onde ir ouvir? Sim e não
Grigory Petrov, Diretor de Programa, Moscow Python Conf ++:
“Os desenvolvedores quase sempre têm uma especialização (quem possui aprendizado de máquina, ciência de dados) e, na maioria dos casos, todos pesquisam o programa e visitam os relatórios que correspondem ao seu perfil. Portanto, a tarefa do comitê do programa é evitar uma situação em que, em fluxos paralelos, teríamos discursos sobre tópicos semelhantes e as pessoas se apressassem como inquietas entre os corredores. ”
Obviamente, o Moscow Python Conf ++ 2019 teve destaque, no entanto, em termos de utilidade prática do material que prepararam (bem como no histórico de casos das histórias etc.), eles não contrastaram fortemente com a composição geral dos palestrantes. Sem prejudicar os méritos dos 20 oradores restantes, descreveremos mais detalhadamente os quatro tópicos centrais que selecionamos com base em critérios subjetivos e em parte no peso da mídia dos especialistas.

Benjamin Peterson: Governança em Python

Benjamin Peterson, um dos principais desenvolvedores do CPython e PyPy, tornou-se o principal orador, mas não o único astro da conferência. Entre outras coisas, Benjamin trabalha no Dropbox em San Francisco com Guido van Rossum, o pai fundador da língua. No ano passado, ele se demitiu do cargo de "generoso ditador ao longo da vida" Python (ditador benevolente para toda a vida, ou BDFL) e, portanto, exigiu um "substituto". Como tal, um comitê de cinco pessoas foi formado em caráter eletivo - o Conselho Diretor, que, aliás, inclui o próprio van Rossum. O próprio Benjamin, de acordo com sua admissão, não entrou nessa estrutura: "Ele ficou em sexto lugar na votação".
Apesar do estrelato do interlocutor e da proximidade com o coração de Python (literalmente - até o âmago), seu relatório foi talvez o menos tecnicamente orientado, bastante conceitual, com o leitmotiv "O que nos espera na era pós-Guido". Enquanto isso, não é à toa que o comitê organizador indicou como alguém que usa o Python para seu trabalho, como o público-alvo no anúncio de seu discurso. Era a coisa mais importante para a comunidade.
No relatório, Peterson observou quais transformações o modelo de desenvolvimento CPython sofreu, quais caminhos de evolução foram possíveis para ele. Ele então compartilhou seus pontos de vista sobre o futuro do Python: como os lançamentos, o suporte, a biblioteca padrão etc. (com todos os PEPs relevantes) mudarão - destacou o que isso significa para uma grande variedade de pythonists e como eles podem influenciar o destino da linguagem e do ecossistema. . Em geral, ele descreveu com traços puros como a comunidade viverá agora. Não foi sem detalhes: por exemplo, é declarado que as discussões sobre o desenvolvimento da linguagem serão moderadas melhor e agora é suposto usar o GitHub para trabalhar com bugs.
Após a conferência, Benjamin admitiu com prazer que muitas sugestões sensatas sobre o desenvolvimento do Python caíram sobre ele à margem.
Grigory Bakunov: "O que fazer se o seu código Python ficar mais lento"
Embora bobuk prefira se certificar como um "programador falso" - "Leva apenas 2 a 2,5 horas por dia para programar" - e sincero nessa autodeterminação, ele tinha algo a compartilhar com o público sobre as tristezas e alegrias de Python. Dicas das maneiras produtivas e improdutivas de acelerar a execução do código Python estavam saindo do palco. Desmoronou - e se encaixam bem em suas cabeças: as teses de Gregory são tradicionalmente repletas de extrema ergonomia; nos relatórios dele, às vezes parece que na sua cabeça eles brincam com idéias em Tetris.
Aparentemente, uma parte considerável dessas duas horas diárias dedicadas ao desenvolvimento, o diretor de disseminação da tecnologia "Yandex", ainda gasta nos exercícios de Python. Caso contrário, como ele deve saber que o numba é adequado para a aceleração do Python de maneira muito seletiva - principalmente em relação a aplicativos científicos, e Grumpy, tradutor de código Python do Google no Go, na infraestrutura real dificilmente é uma solução utilitária e funcional.
Ao longo do caminho, Gregory confessou abertamente seu amor por "nim e o profeta e nimpy", e também percorreu o Cython "complicado", potencialmente capaz de impedir que o código fosse executado rapidamente. Ele resumiu suas linhas de chute de vinte minutos:
- Às vezes, PyPy é suficiente (se possível).
- A otimização de código simples também é importante.
- O kit de ferramentas deve ser estável.
- Não tenha medo do esoterismo, é divertido.
- Um velho amigo é melhor que os dois novos.
Após o relatório e o bloco de perguntas e respostas, que, em termos de duração, pareciam superar o relatório, cerca de 30 pythonists cercaram o “programador falso” e não o deixaram ir por um período muito, muito longo.
Vitaliy Levchenko: Python vs Go

Amplamente conhecido como o organizador dos comícios de Go and Confiabilidade em São Petersburgo, Vitaly Levchenko intitulou seu discurso deliberadamente provocativamente. E ele o abriu de maneira não menos provocativa: eles dizem, por favor, a resposta está na superfície - nos benchmarks da Web Go, é muito mais rápido que o Python (em rps), mostrando em alguns casos superior a cinco vezes a superioridade. No entanto, essa abordagem foi apenas uma desculpa para avaliar cuidadosamente as vantagens e desvantagens do Go em comparação com o Python. E o principal é mostrar onde o que é mais eficaz. Obviamente, como seguidor do Go, ele não pôde deixar de se concentrar em suas vantagens - simplicidade, ausência de problemas com atualizações, um pequeno número de dependências em bibliotecas externas, etc.
No final de sua “monobuttle” construtiva, Vitaliy compartilhou uma história da prática de desenvolvimento em que a transição para Go aumentou em dez vezes a produtividade. Dado o quão difundido o pacote Python + Go está em produção atualmente, muitos pythonists inveterados viram claramente uma comparação de revisão para expandir seus conhecimentos sobre o escopo da Go e seu lugar no back-end dos modernos serviços online.
Bem, Python, de acordo com o embaixador do Go-camp, é razoável dar preferência se:
- a velocidade de inicialização do aplicativo é importante;
- necessidade de resolver problemas de ciência de dados;
- o coração mente para assíncrono / aguardar.
Maxim Lapshin: "Elixir como objetivo de desenvolvimento para Python assíncrono"

Os organizadores chamaram o HighLoad ++ 2018 Prize Laureate, o fundador do produto de streaming de vídeo erlyvideo, com duas intenções - examinar como os sistemas assíncronos distribuídos são construídos no Python e como eles podem não ser construídos. A fundação erlyvideo está escrita em Erlang, no entanto, parte da solução foi criada em Python, portanto, por sua própria admissão, Maxim pôde sentir a dor com o funcionamento dos mecanismos de rede de uma maneira "piton".
Revelando a legenda da apresentação - "Como gerenciar soquetes, threads e dados juntos" (e quem não quer!), Maxim revisou os conceitos existentes de computação paralela, em particular, como eles são implementados em Erlang e Elixir. Sua principal tarefa foi mostrar por exemplos como o contexto mais amplo de linguagens e tecnologias influenciou e influencia a implementação de mecanismos de rede em Python e em que direção seu “assincronismo” evoluirá. Tendo enfatizado todas as vantagens da computação paralela em Erlang / Elixir, a Maxim, por uma questão de justiça, descreveu seus custos (incluindo desempenho abaixo do ideal e "sobrecarga" para copiar dados entre processos).
Quem por python
A julgar pelas migrações do público no site e nas salas lotadas, cada palestrante "saiu" com o público, e mencionaremos alguns.
A ressonância foi desencadeada por um relatório de Alexander Koshelev sobre como o desenvolvimento do Python em Yandex evoluiu (spoiler: dramaticamente). E a experiência e as recomendações de Kirill Borisov, da Booking.com - ele falou sobre a realização de testes ao refatorar o código legado - simplesmente caiu no pedido de uma boa parte dos reunidos para ouvi-lo: eles também não queriam deixá-lo ir por um longo tempo.
Outro convidado estrangeiro na conferência, o engenheiro sênior de nuvem da Alibaba, Qin Xuye, também teve sucesso ao introduzir uma abrangente estrutura Python de fonte aberta e baseada em tensor para computação em larga escala. Um caso curioso de aprendizado de máquina foi contado por Igor Kitsenko, do HH.ru: recomendações de serviços de ML, escritas em Python e - o destaque do relatório - integradas a um mecanismo de pesquisa em Java.
Grigory Petrov:
O comitê do programa reuniu palestrantes com quem os participantes do evento gostariam de conversar acima de tudo. De fato, do nosso ponto de vista, uma conferência não é um lugar onde as pessoas estudam algo seriamente. Além disso, este não é um lugar onde eles aprendem algo radicalmente novo. É um lugar onde as pessoas conversam com colegas que trabalham em projetos reais, especialmente a portas fechadas. Sim, mesmo que estejam abertos, mas muitos ainda não escrevem sobre seu trabalho no Habré ou no Stackoverflow - geralmente apenas por causa de seu emprego frenético.
Um de nossos critérios empíricos internos para a escolha de um palestrante é tornar interessante para nós, ocasionalmente, conversar com ele sobre uma questão premente de linguagem e tecnologia, além de perguntar meticulosamente sobre seu trabalho. O mesmo Benjamin Peterson não é de modo algum um general do casamento. Ele é um programador excelente e uma pessoa geralmente versátil (ao mesmo tempo que toca piano perfeitamente) e, em particular, lida com todos os CIs do Dropbox. Quando houve um minuto livre, conversamos sobre como a empresa deles organizava os testes do código Python em grandes clusters, e eles começaram a fazer isso mesmo antes do GitLab. Outros palestrantes do Moscow Python Conf ++ 2019 também atendem a esse critério. De qualquer forma, em nossa opinião.

Apesar da diversidade da agenda do Moscow Python Conf ++, seus tópicos mais quentes foram desenvolvimento assíncrono (sem rival), bem como uma comparação do Python, suas melhores práticas e ferramentas com análogos de outras linguagens e seu lugar no cenário do desenvolvimento moderno. O qual, como pode ser visto nos tópicos dos relatórios, foi incluído no plano do comitê do programa.
E conversar?
Além do fato de a comunicação entre os palestrantes e os participantes da conferência ter recebido maior atenção no programa de conteúdo principal, envidamos esforços para garantir que as redes da comunidade continuassem ao longo do dia em todo o Moscow Python Conf ++.

Primeiro, as áreas de discussão equipadas com gráficos gratuitos funcionavam no lobby. Eles foram usados para escrever tópicos preliminares de debates, nos quais todos poderiam e deveriam participar: “Preciso de assincronia em Python?”, “É normal passar de junho para liderar a equipe em um ano ou dez anos?” - e assim por diante, no mesmo espírito de Hollywood.
“Socialização empacotada para introvertidos” foi um dos organizadores que descreveu meio brincadeira esse formato de comunicação.
É verdade que era difícil suspeitar dos introvertidos daqueles que se reuniam nas zonas de discussão: os participantes do debate eram muito quentes (mas amigáveis). Bem, depois do almoço, todo o "Infra-espaço" parece ter se transformado em uma zona de discussão contínua.
Valentin Dombrovsky, co-fundador da comunidade MoscowPython:
O suporte duplo Moscow Python + Pyladies Moscow e o suporte conjunto das comunidades regionais funcionaram muito bem. No segundo, foi realizada uma reunião sobre como são organizados os hangouts locais de pythonists. Durante o evento, os participantes concordaram em colaborar: há esperança de que, eventualmente, tenhamos uma metassociedade - uma comunidade de comunidades. Afinal, o Python é uma linguagem criada pela comunidade.
Mas, em geral, a conferência acabou sendo russa - eles reuniram pessoas de todo o país, exceto da capital, incluindo São Petersburgo, Kazan, Krasnodar, Omsk, Ufa, Chelyabinsk, Ivanov, Lipetsk, Novosibirsk. Alguns já vieram da Estônia e do Azerbaijão. Então, talvez, ainda mais amplo do que o russo.
Nas bancas de parceiros - Iponweb e Evrone -, diferentemente do que ocorre frequentemente em conferências de tecnologia, o serviço ou os seis serviços não ficaram entediados, mas o movimento se desenrolou. Sorteios, competições, as mesmas discussões profissionais, testes - havia algo a fazer. Para "IT-crocodile", para quem uma master class em Arduino.

Por intrigas na rede de software ou pelo fato de a aposta na comunicação ter valido a pena, ou pelos dois motivos, mais da metade de todos os que compareceram à conferência foram deixados imediatamente depois. A festa continuou a linha geral do Moscow Python Conf ++, e a cerveja, uma variedade de lanches e uma parcela de fumaça saudável se tornaram um combustível adicional para o trabalho em rede.


Grigory Petrov: A comunidade está ficando mais velha e mais profissional. Vejo na conferência mais e mais programadores de bancos, de gigantes de TI. Essas empresas estão cada vez mais usando Python e estão se esforçando para desenvolver sua marca e experiência em RH com a comunidade. Agora, aqui você pode discutir completamente as abordagens de desenvolvimento industrial e os problemas complexos que surgem na solução de problemas de negócios. Não apenas os problemas de arquitetura, mas, digamos, como organizar adequadamente o trabalho da equipe para que eles obtenham produtos legais em larga escala, como assistentes de voz, plataformas de telemedicina, serviços financeiros fundamentalmente novos e software para veículos não tripulados.
O que vem a seguir?
No PC, de acordo com os primeiros resultados da última conferência, os planos para o próximo ano começaram a se formar. Aqui estão algumas idéias que você planeja implementar:
- Garantir a chegada de Guido Van Rossum - como uma tarefa máxima. Se não no próximo ano, certamente no futuro.
- Ligue para mais desenvolvedores principais e autores de bibliotecas populares.
- Convide palestrantes legais sobre tópicos que não foram alcançados na última conferência, principalmente sobre segurança da informação.
- Para atrair mais membros da equipe, testadores, analistas como participantes - todos aqueles que, não sendo um desenvolvedor no sentido estrito da palavra, usam constantemente o Python em seus trabalhos.
- É possível passar um dia separado de workshops e introduzir novos formatos de atividade, incluindo o envolvimento de pessoas da comunidade de outros idiomas.
- A mercadoria que os participantes pedem há tanto tempo.


Amigos do PS, aqueles que não conseguiram participar da nossa conferência, queremos recomendar a inscrição no
nosso canal do YouTube , onde começaremos a enviar vídeos de discursos no final do verão. Agora, também há algo para se olhar, já que baixamos quase todos os relatórios da conferência de outono.