Toda a comunidade Python espera que isso não afete negativamente o ecossistema. Mas isso por si só não é suficiente. Por exemplo, consideramos importante apoiar a comunidade e, como um dos eventos, estamos realizando uma grande conferência chamada Moscow Python Conf ++. Lá, podemos discutir essa e outras questões importantes. Enquanto isso, apresentarei você parcialmente ao Comitê de Programa. E ele fez várias perguntas que apenas revelariam os pontos de vista sobre o ecossistema e contariam as pessoas melhor do que suas realizações profissionais.
Além da pergunta do título, perguntei o seguinte:
- O que você recomenda para o gerenciamento de dependências?
- Qual é a melhor coisa a fazer agora?
- O TensorFlow ainda dirige o Machine Learning ou está na hora de aprender algo novo?
- Por que seu mês de junho deve aprender Python, não JavaScript?
- Eles dizem que o back-end da web não é mais necessário. É isso mesmo?
- 3.x ou 2.7?
- Qual a diferença entre um bom desenvolvedor de Python e um ruim?
Spoiler: A provocação "3.x vs 2.7" falhou, a resposta é clara. Parece muito cedo para recusar o back-end, mas o que fazer depende da tarefa - quem teria pensado.
Dou minhas respostas, juntamente com uma breve ajuda, por que não.
Grigory Petrov é um desenvolvedor de base ampla, evangelista técnico da Voximplant e um dos organizadores da comunidade MoscowPython. Ele gosta de Python, JavaScript, C ++, a rede, testes de unidade e grandes projetos. Quando ele fala em conferências, ele fala sobre a carteira de Miller e por que escrever software é uma dor.
- O autor do Python não lidera mais o desenvolvimento. Isso tornará a linguagem melhor ou pior?Existe uma expressão assim: "A mente coletiva pensa muito bem, mas toma decisões muito mal". Acredito que, se os desenvolvedores puderem concordar com a adoção de decisões importantes pelo menor grupo de visionários, isso apenas beneficiará a linguagem.
- O que você recomenda para gerenciamento de dependência?Sou a favor de um monte de pip e virtualenv testados pelo tempo. Existem muitos desenvolvimentos agora, mas não vejo nenhum deles se estabilizando o suficiente.
- Qual é a melhor coisa a fazer agora?Muito dependente da tarefa. Se você precisa criar rapidamente um site de uma página com um painel de administração e não precisar de milhares de acessos por segundo, o Django está além da concorrência. O front end a gosto,
eu prefiro VueJS . Mas se você precisar de API, alta carga e outras coisas interessantes, o alcance se tornará muito amplo e você precisará observar os requisitos. E o AIOHTTP?
- O
TensorFlow ainda dirige o Machine Learning, ou é hora de aprender algo novo?Como uma biblioteca de baixo nível, tudo ainda muda. O Google coloca nele uma quantidade infinita de recursos, decide muito. Porém, agora existem bons invólucros e bibliotecas de alto nível e você pode encontrar algo diretamente "para você".
- Uma frase: por que seu junho deve aprender Python, não JavaScript?A melhor documentação do mundo.
- Eles dizem que o back-end não é mais necessário na web. É isso mesmo?A web é diferente. Um cartão de visita de uma página pode realmente ser construído usando o Webpack no VueJS, compilado o Nuxt e definido como estático no CloudFlare. E para manipulação simples de dados, o GraphQL é ótimo para o Firebase. Para algo mais sério, você precisa de um back-end completo. Eu escrevi "sério". Eu escrevi "full". Por favor, coloque o nó de volta na prateleira. Sim, eu também a amo, mas ainda não é hora.
- 3.x ou 2.7?Se um novo projeto - então definitivamente 3.x e tipos. Se Legado - então você precisa olhar com cuidado.
Nem sempre a melhor solução é "vamos reescrever tudo para as versões mais recentes" . Siga as circunstâncias.
- Qual a diferença entre um bom desenvolvedor de Python e um ruim?Cada linguagem de programação não é apenas sintaxe e ecossistema, mas também seu pequeno mundo chamado "como é habitual aqui".
Um bom desenvolvedor de Python escreve em Python. Não em Java na sintaxe Python ou PHP na sintaxe Python. É apreciado pelos colegas.
Vladimir Filonov também
é um dos organizadores da comunidade MoscowPython. Ele gosta de Python, Erlang / Elixir, assincronia e TDD. Ele gosta de mergulhar no interior das bibliotecas e depois falar sobre isso.
- O autor do Python não lidera mais o desenvolvimento. Isso tornará a linguagem melhor ou pior?Obviamente, a resposta é definitivamente difícil. Guido ainda era o principal ideólogo da língua. Por outro lado, nem todas as suas decisões foram inequívocas. Parece-me que agora tudo dependerá de que possamos, ou seja, toda a comunidade Python, construir um processo estratégico de tomada de decisão mais eficaz.
- O que você recomenda para gerenciamento de dependência?Eu uso o pip + virtualenvwrapper localmente, mas isso é mais provável por inércia. E então eu recomendaria pyenv.
- Qual é a melhor coisa a fazer agora?E aqui depende do objetivo desse back-end.
Eu sempre digo - a linguagem é apenas uma ferramenta.
Não é muito conveniente martelar pregos com a mesma ferramenta e gravar. Mesmo linguagens universais (como Python, por exemplo) lidam melhor com algumas tarefas e pior com outras. Mas se falamos sobre o back-end médio da Web, escolho o Python na grande maioria dos casos.
- O
TensorFlow ainda dirige o Machine Learning, ou é hora de aprender algo novo?O TensorFlow certamente dirige. Mas não é prejudicial começar a aprender o idioma de Julia =)
- Uma frase: por que seu junho deve aprender Python, não JavaScript?Se você não se aprofundar no debate sobre a maturidade da arquitetura, diria que o
Python é muito mais elegante, sintaticamente e mais fácil de ler.
- Eles dizem que o back-end não é mais necessário na web. É isso mesmo?Bem, eles dizem que os programadores também não serão necessários em breve - a IA escreverá o próprio código. Mas, por enquanto, ambos são conceitos muito duvidosos.
- 3.x ou 2.7?Apenas 3.x. 2.7 ainda, é claro, viverá em projetos por muitos anos, mas isso é legado. Portanto, não faz sentido criar algo novo em uma versão sem saída do idioma.
- Qual a diferença entre um bom desenvolvedor de Python e um ruim?Você pode responder sem o Python - como um bom programador difere de um ruim. Parece-me que a principal coisa aqui é
curiosidade . Interesse em como essa ou aquela tecnologia funciona. Agora, o desenvolvedor é fornecido com tudo o que está pronto - retire e rebite dos blocos acabados. E um dos problemas da indústria é que muitos estão satisfeitos com essa fascinante, sem entender como o mecanismo que eles usam é organizado. E se você precisar se afastar dos exemplos descritos na documentação, os problemas começam.
Nem todo o Comitê do Programa participou da pesquisa sobre blitz, alguns estavam tão ocupados com as inscrições e preparando os relatórios que não tiveram tempo de responder. Perdoe-os - para nós eles estão tentando.
Zlata Obukhovskaya está familiarizada com o ecossistema Python há dez anos, durante os quais tentou coisas diferentes: da Data Science ao desenvolvimento de projetos de alta carga e ao gerenciamento de equipes. Ele ensina na Learn Python, está interessado em sistemas distribuídos e na construção de comunidades técnicas. Gosta de falar sobre a cultura tecnológica, que deve ser alimentada pela estratégia.
- O autor do Python não lidera mais o desenvolvimento. Isso tornará a linguagem melhor ou pior?Guido fez muito por Python, dedicou sua vida a ele. Seu trabalho deu frutos, no ecossistema há muitas pessoas talentosas com uma visão forte que estão prontas para avançar ainda mais o idioma. Se eles conseguem organizar e escolher com sucesso uma direção é uma questão em aberto. O desenvolvimento adicional da linguagem revelará o potencial da comunidade Python, não importa como esse potencial possa vir a ser.
- O que você recomenda para gerenciamento de dependência?Projeto de poesia interessante.
- Qual é a melhor coisa a fazer agora?Depende da tarefa.
- Para aplicativos CRUD, este é o Django.
- Para APIs carregadas que funcionam com várias fontes de dados, essas são as estruturas assíncronas Tornado, aiohttp.
- Para APIs relativamente simples com uma boa carga, o Flask é adequado.
- O
TensorFlow ainda dirige o Machine Learning, ou é hora de aprender algo novo?Sempre faz sentido tentar estruturas relativamente jovens e ainda menos adaptadas para produção, por exemplo, PyTorch. Apenas para poder comparar soluções de design de dados.
- Uma frase: por que seu junho deve aprender Python, não JavaScript?Com o Python, você pode aprender JavaScript; pelo contrário, é mais difícil.
- Eles dizem que o back-end não é mais necessário na web. É isso mesmo?Depende da tarefa. Onde quer que você precise enriquecer os dados on-line ou a velocidade de resposta e a taxa de transferência da fonte de dados importam, é necessário um back-end.
- 3.x ou 2.7?3.x é claro!
- Qual a diferença entre um bom desenvolvedor de Python e um ruim?Um bom desenvolvedor sempre pensa em como posso me tornar melhor amanhã do que ontem. Isso se aplica ao desenvolvimento em qualquer idioma. O nível de conhecimento e experiência não é importante.
Alexander Khayorov lidera o departamento de desenvolvimento da Ingram Micro Cloud, ama Python e programas sorrateiramente nele. E no que diz respeito às nuvens públicas, as práticas Kubernetes, Istio e DevOps / SRE - paixão e uma área de interesse ilimitado.
- O autor do Python não lidera mais o desenvolvimento. Isso tornará a linguagem melhor ou pior?Guido disse que estava deixando o cargo de BDFL (ditador benevolente por toda a vida) e este é certamente um evento importante para a comunidade. Mas não acho que isso afetará negativamente o desenvolvimento da linguagem como um todo. Espero que as batalhas em torno dos novos PEPs sejam igualmente tumultuadas.
O show deve continuar.- O que você recomenda para gerenciamento de dependência?Agora definitivamente
pipenv , e por que e por que eu lhe contei recentemente em detalhes, veja o vídeo
aqui .
- Qual é a melhor coisa a fazer agora?Definitivamente na ferramenta que atende aos seus requisitos funcionais.
Python é muito bom para um início rápido . Para casos técnicos mais exigentes, existem asyncio e sanic elegantes. Django ainda é bom e atraído por uma grande quantidade de baterias e uma ampla comunidade de simpatizantes.
- O
TensorFlow ainda dirige o Machine Learning, ou é hora de aprender algo novo?Estou um pouco longe do tópico de aprendizado de máquina, mas focando nas conversas do setor, o TensorFlow está definitivamente no clipe, embora Keras seja mencionado cada vez mais. O Theano está novamente bem otimizado para um par de CPU / GPU e é conveniente para tarefas numéricas.
- Uma frase: por que seu junho deve aprender Python, não JavaScript?Não é javascript único ...
- Eles dizem que o back-end não é mais necessário na web. É isso mesmo?Claro, isso não é mais necessário, apenas não conte a ninguém sobre isso.
- 3.x ou 2.7?Não há dúvida: a
versão 3.6.6 é a coroa da criação . Basta olhar para o
log de alterações 3.6 e tudo se encaixa.
- Qual a diferença entre um bom desenvolvedor de Python e um ruim?Carma puro e uma abordagem pragmática para a implementação de tarefas, concentram-se na lógica de negócios e no humor cortante.
Ivan Tsyganov programas em Python, fala em conferências para programadores e testadores. Ele estava preparando a maior conferência de segurança da informação na Rússia - PHDays. Lenta mas seguramente, ele está montando uma casa verdadeiramente inteligente.
- O autor do Python não lidera mais o desenvolvimento. Isso tornará a linguagem melhor ou pior?Python não é mais jovem, todos os processos foram depurados há muito tempo e funcionam bem. Eu acho que fundamentalmente nada vai mudar, porque
no comando permanecem pessoas confiáveis . De qualquer forma, Guido está assistindo o processo e, se a loucura começar a acontecer, ele certamente intervirá. Pelo menos eu acredito nisso.
- O que você recomenda para gerenciamento de dependência?Estou acostumado a pip, tenho o suficiente.
- Qual é a melhor coisa a fazer agora?Se você precisar de um protótipo funcional o mais rápido e fácil possível - Django, painel de administração pronto para uso. Em seguida, prendemos o
Django REST Framework a ele e refazemos a interface do usuário humanamente.
E em outros casos - tudo depende da tarefa.
- O
TensorFlow ainda dirige o Machine Learning, ou é hora de aprender algo novo?Se o tema de aprendizado de máquina for interessante - é útil seguir tudo e experimentar tudo novo! Infelizmente, não encontrei tarefas adequadas, portanto estou um pouco longe dessa área.
- Uma frase: por que seu junho deve aprender Python, não JavaScript?Porque meu mês de junho terá que escrever em Python
- Eles dizem que o back-end não é mais necessário na web. É isso mesmo?Como é necessário nenhum back-end ?! Não precisamos desta web!
- 3.x ou 2.7?Apenas 3, porque lá tudo é o mais delicioso. Sim, e
é hora de dizer adeus ao velho 2.7 , ele fez o seu trabalho.
- Qual a diferença entre um bom desenvolvedor de Python e um ruim?O desejo de aprender coisas novas.
Nesta nota otimista, convido você para o Moscow Python Conf ++ nos dias 22 e 23 de outubro. O programa inclui novos e interessantes, sobre o idioma, o ecossistema e o Machine Learning - em breve vou lhe contar tudo em ordem, e a lista de relatórios aceitos pode ser encontrada aqui .