Python 3k

2.160 visualizações

Publicada em

A linguagem Python está passando por reformas e isso irá causar quebra de compatibilidade com a linguagem atual. Essa apresentação demonstra algumas práticas que os desenvolvedores podem adotar atualmente para tornar a migração mais tranquila.

Publicada em: Tecnologia
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
2.160
No SlideShare
0
A partir de incorporações
0
Número de incorporações
68
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Python 3k

  1. 1. Osvaldo Santana Neto [email_address]
  2. 2. Disclaimer <ul><li>Antes de montar essa apresentação o próprio GvR fez uma apresentação sobre Python-3000 </li></ul><ul><ul><li>Apresentação focada em funcionalidades </li></ul></ul><ul><li>Apresentação das funcionalidades foi copiada dessa apresentação </li></ul><ul><li>Essa apresentação foca na preparação para a migração </li></ul>
  3. 3. Python 3000 <ul><li>Python 3000 == Py3k == Python 3.0 </li></ul><ul><li>Não vai ser uma nova linguagem! </li></ul><ul><li>Compatibilidade retroativa não será uma preocupação </li></ul><ul><ul><li>Código feito para Python certamente vai quebrar </li></ul></ul><ul><li>Erros de projeto do passado serão corrigidos </li></ul><ul><li>Funcionalidades interessantes poderão ser adicionadas </li></ul><ul><ul><li>Aquelas que certamente causariam quebra de compatibilidade </li></ul></ul>
  4. 4. Quando? <ul><li>Neste momento está sendo discutido o processo de desenvolvimento do Py3k. </li></ul><ul><li>Cuidados especiais: </li></ul><ul><ul><li>Não transformar o Py3k no novo Perl6 </li></ul></ul><ul><ul><li>Rejeitar propostas inviáveis rapidamente para não desperdiçar tempo </li></ul></ul><ul><li>Cronograma prévio: </li></ul><ul><ul><li>Primeiro Alpha: não menos de 1 ano </li></ul></ul><ul><ul><li>Primeiro Beta: provavelmente um ano depois do Alpha </li></ul></ul><ul><ul><li>Releases 3.1, 3.2, ... lançados imediatamente após </li></ul></ul>
  5. 5. E o Python 2? <ul><li>Continua o desenvolvimento! </li></ul><ul><li>Será mantido até que o Python 3 tenha atingido um alto grau de maturidade </li></ul><ul><ul><li>Funcionalidades do Py3k serão aplicadas à versão 2 sempre que possível </li></ul></ul><ul><li>Plano de releases cobre as versões 2.6, 2.7, 2.8 e 2.9 </li></ul>
  6. 6. Incompatibilidade? <ul><li>Novas keywords poderão ser criadas </li></ul><ul><li>dict.keys(), range(), zip() não retornarão mais listas </li></ul><ul><li>Todas as strings serão Unicode </li></ul><ul><li>Redesenho do sistema de I/O para arquivos binários </li></ul><ul><li>Remoção de funções builtin substituíveis por list compreensions </li></ul><ul><li>Funcionalidades deprecated removidas </li></ul><ul><ul><li>ex. Old-style classes </li></ul></ul>
  7. 7. Fugindo da incompatibilidade <ul><li>Ferramentas serão criadas para ajudar na migração </li></ul><ul><ul><li>Scripts para conversão (sempre que possível) </li></ul></ul><ul><ul><li>Será possível ligar warnings para código incompatível com o py3k no Python 2 </li></ul></ul><ul><ul><li>Facilidade de migração é um fator levado em alta consideração no processo da criação do Py3k </li></ul></ul><ul><li>Evite usar construções que já estão marcadas como deprecated </li></ul>
  8. 8. Dicas <ul><li>Repetindo: evite construções que já estão marcadas como candidatas à 'morte'. </li></ul><ul><li>Sempre que precisar usá-las lembre-se de sinalizar o trecho onde isso ocorre </li></ul><ul><li>Evite alguns nomes de variáveis que possam se tornar palavras reservadas (ex. preposições em inglês) </li></ul><ul><li>Pare de usar old-style classes </li></ul><ul><li>Use somente strings Unicode: u”String” </li></ul><ul><li>Lembre-se que métodos e funções que retornam listas hoje podem retornar iteradores amanhã :) </li></ul><ul><li>Use List comprehensions e Generator Expressions </li></ul>

×