Pergunta

Recentemente, decidi expandir meus horizontes programação e aprender a linguagem de programação Python. Enquanto eu usei python um pouco para aulas na faculdade e para um projeto ou dois no trabalho eu sou de nenhuma maneira um perito. A minha pergunta é a seguinte: eu deveria se preocupar com as versões 2.x ou devo ir direto para 3.0? Estou inclinado para 3.0 já que vou estar programando aplicações mais para uso pessoal / aprendizagem, mas eu queria ver se havia bons argumentos contra ele antes de começar.

Foi útil?

Solução

Absolutamente não 3,0-3,1 está fora e é mais estável, melhor, mais rápido em todos os aspectos; não faz absolutamente nenhum sentido começar com 3.0, neste momento, se você quiser pegar as 3 séries que deveria em todas as contas sejam 3.1.

Quanto 2.6 vs 3.1, 3.1 é uma linguagem melhor (especialmente porque alguns cruft foi removido que tinha acumulado ao longo dos anos, mas tem que ficar em 2. * para compatibilidade com versões anteriores), mas todo o resto do ecossistema (de extensões para ferramentas, a partir de livros para o conhecimento coletivo) ainda está muito a favor de 2.6 - se você não se preocupam com a possibilidade de utilização (por exemplo) certos GUIs ou extensões científicos, implementar no App Engine, roteiro Windows com cOM, têm uma spiffy IDE terceiro, e assim por diante, 3.1 é aconselhável, mas se você se preocupa com essas coisas, ainda 2. * por agora.

Outras dicas

Use 3.1

Por quê?

1) Porque, enquanto todo mundo ainda está usando 2.6, as bibliotecas terão menos razões para migrar para 3,1. Enquanto essas bibliotecas não são portados para o 3.1, você está preso com a escolha de não usar os pontos fortes de 3,1 ou somente fazer os trabalhos a meio caminho usando a solução hackish de usar um conjunto de recursos de back-portados. Seja um pensador frente e empurre ajuda Python para a frente.

2) Se você aprender e usar 3.1 agora, você vai ter que reaprender-lo mais tarde quando a porta de massa é completa. Sei que algumas pessoas dizem que você não terá que aprender muito, mas por aprender a velha merda em tudo? em si está se movendo para Python 3.1 , as bibliotecas irá mover em direção a 3.1, e isso é um saco ter que jogar catch-up e reaprender uma língua que você já está usando.

3) 3.1 é tudo em torno de uma linguagem melhor , mais estável e mais consistente do que 2,6 ... isso é normal. As lições aprendidas com 2.6 foram todos derramado em 3,1 para torná-lo melhor. É um processo chamado PROGRESSO . É por isso que ninguém ainda usa Windows 3.1. É assim que as coisas avançar. Por que outra razão você acha que eles se deram ao trabalho de volta portar um conjunto de recursos, em primeiro lugar?

4) Se você está aprendendo Python, e aprender 2.6, em seguida, pelo tempo que você são realmente confortáveis ??com a linguagem, as portas estarão fora, e você terá que aprender as bibliotecas, ea linguagem mais uma vez. Se você começar com 3.1, em seguida, pelo tempo que você está confortável com a linguagem, as portas estarão fora, e então você pode aprender as bibliotecas que você está interessado. É um processo mais suave .

5) Para ser um desenvolvedor melhor. Se você tem que aprender e reaprender as mesmas coisas, o seu entendimento não será muito profunda. Ao aprender esta linguagem, e suas bibliotecas apenas uma vez, você terá mais tempo para trabalhar com eles em vez de reaprender sintaxe. Isso permite que você compreendê-los melhor. Se você está realmente faltando algumas peças por renunciar nas bibliotecas? ESCREVA-OS. Você provavelmente não vai precisar de uma biblioteca inteira, e geralmente pode escrever apenas as peças que você precisa, e desenvolver ferramentas para si mesmo. Isto, mais uma vez, ajuda a entender melhor a língua, e mais profundamente.

Resposta curta:. Comece com Python 2.6

Por: A programação é mais divertido e útil quando você pode aproveitar o trabalho dos outros. Isso significa usar bibliotecas 3o partido muitas vezes. Muitas das bibliotecas populares para Python não tem 3.x suporte ainda. PIL e NumPy / SciPy vêm à mente. Meu intérprete favorito, ipython, também não funciona com 3.0 ainda. Muitas estruturas de teste de unidade e frameworks web também não estão em 3.0 ainda.

Então, se você começar em 3.x muitas portas serão fechadas para você, pelo menos até 3.x portabilidade assume vapor. Existem reconhecidamente um monte de características interessantes em Python 3.x, mas alguns deles foram portadas para 2,6 e um pouco mais irá fazê-lo em 2.7. Então, pau com 2,6 por agora, e re-avaliar 3.x no período de um ano ou assim.

Eu penso que você estará melhor servido indo direto para 3.0. A menos que você tem uma base de código legado de enfrentar, há muito poucas vantagens para aprender as formas 2.xx de fazer as coisas.

No mundo Python (como na maioria dos outros, na verdade), lançamentos tendem a demorar um pouco para migrar para baixo para todos os subprojetos, mas se você se encontrar sempre a necessidade de voltar transição para 2.xx, I don' t acho que você vai encontrar reaprender as coisas sejam particularmente doloroso.

Você deve ir com a versão mais recente de qualquer linguagem de programação que você aprende a menos que você tenha um motivo específico não a. Desde que você não tem um projeto existente que não vai trabalhar com Python 3.0, você deve sentir-se livre para usar a versão mais recente.

Use python 3.1, Luke.

Python 3.1 não deve ser usado até que outras bibliotecas têm apanhados com suporte para ele.

Você deve usar 2,6 agora. Ele tem várias 3.x apresenta back-portados para ele, para que a migração para o 3.x não será difícil mais tarde, e você não vai aprender práticas obsoletas.

A boa notícia é que ele realmente não é tão difícil de aprender tanto 2.x do Python e 3.x. Você pode instalar a última versão 2.x como a versão registrada com o sistema para executar scripts Python por padrão, mas também instalar a última versão 3.x para chutar explicitamente off quando você quiser. Isso é o que eu tenho no meu sistema Windows Vista.

Em seguida, o documento chave para aprender as diferenças entre o 2.xe 3.x versões é:

http://docs.python.org/3.1/whatsnew/3.0.html

Se você ler os materiais de aprendizagem Python lá fora, que são baseados em 2.x e também se referem a essa "Novidades no Python 3.0" link acima, você vai ter uma compreensão de como as coisas mudaram. Veja também os outros o que está novos documentos, como as diferenças entre 3.0 e 3.1, mas o link acima é o principal para entender as 2.x vs. 3.x alterações.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top