O autor do Python não lidera mais o desenvolvimento. Isso tornará a linguagem melhor ou pior?

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
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
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
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
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
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 .

Source: https://habr.com/ru/post/pt425469/


All Articles