2008-10-16 15 views
8

Python 3.0 está en fase beta y su lanzamiento final se realizará en breve. Obviamente, tomará un tiempo significativo para la adopción general y para reemplazar eventualmente a 2.x.Tutorial para Python - ¿Debo usar 2.xo 3.0?

Estoy escribiendo un tutorial sobre ciertos aspectos de la programación de Python. Me pregunto si debería hacerlo en Python 2.xo 3.0. (no es que la diferencia sea enorme)

un tutorial 2.x probablemente sea más útil ahora, pero sería bueno comenzar a producir 3.0 tutoriales.

¿alguien tiene pensamientos?

(Por supuesto que podría hacer ambas cosas, pero yo preferiría hacer una o la otra)

+0

reemplazó la etiqueta '2to3' con' python2.x' y 'python3.0' –

+0

¡La versión 3.1 ya salió! – Juergen

Respuesta

14

Comience con 2.x. La mayoría de las bibliotecas existentes estarán en 2.x durante mucho tiempo. El año pasado, Guido himself said that it would be "two years" hasta que necesites aprender 3.0; todavía queda un año más. Personalmente, creo que será más largo. Las personas que escriben código en 2.x pueden aprender a usar la herramienta 2to3 y tienen un código que funciona en ambas versiones. No hay 3to2, por lo que el código escrito para python 3 es significativamente menos valioso.

Eso sin mencionar lo decepcionante que será para sus estudiantes saber que Python 3 no está instalado en su computadora Linux ("/usr/bin/python" será python 2.x durante los próximos 5 años, al menos), que hay no es django para python 3, no wxwindows para python 3, no GTK para python 3, no Twisted para python 3, no PIL para python 3 ... la fuerza real de Python siempre ha estado en su extensa colección de bibliotecas, y hay son muy pocas las bibliotecas para python 3 en este momento.

Si su tutorial está bien escrito, debería poder actualizarlo fácilmente a python 2.6, 2.7 y eventualmente Python 3.

+0

gracias ... muy buenos puntos a considerar. –

+0

cuando django, pyside y twisted funcionan en Python 3.2.1 - ¡cambie! –

+0

"Dos años", ¿eh? – Veedrac

0

que depende de su audiencia. Si se trata de una audiencia general, y piensas dejarla publicada durante mucho tiempo, te sugiero que mires hacia adelante e intentes con 3.0. Por otro lado, si es para un proyecto o grupo que va a funcionar en un futuro cercano, Python 2 probablemente tenga más sentido.

11

Van Rossum (creador de python) explica que "si estás comenzando una cosa nueva, deberías usar 3.0". Entonces, la mayoría de las personas que buscan comenzar deberían incluso COMENZAR con 3.0. Será útil sobre todo porque es probable que haya pocos ahora.

la article

+0

Se llama "van Rossum" y no "von". Y debe comenzar la oración con mayúscula V. – hcs42

+0

Van Rossum también dice que pasará al menos otro año antes de que tenga que aprender 3.0: http://www.artima.com/weblogs/viewpost.jsp?thread=211200 – Glyph

2

Python 2.x ha sido el tiempo suficiente para acumular un buen número de tutoriales ya, pero 3k tiene muchos menos recursos disponibles. Algunas cosas del nivel de introducción 3k probablemente verían un uso más general. Entonces, a menos que esté adaptando esto a un subdominio específico que carece de recursos de Python, 3k sería de mayor utilidad.

0

Las diferencias son tan pequeñas que realmente no va a importar mucho.

+0

la base no lo hará, pero para un principiante, hay una gran diferencia entre "imprimir" hola mundo "" y "imprimir (" hola mundo ")" – helloandre

+0

Hmm, estaría muy interesado en leer el estudio que estableció ese. ¿Me puedes apuntar? –

+0

Alex, estoy de acuerdo contigo. Las diferencias pueden ser significativas (si bien sencillas) para respaldar proyectos establecidos, pero son lo suficientemente pequeñas como para que, si conoces bien una versión, puedas obtener el truco de la otra en unos pocos minutos. Por lo tanto, no importa mucho, pero 3.0 es el futuro, así que digo aprende. –

2

Aprende Python 3.0, como lo sugiere tu nombre.

Python 2.x no es muy diferente, parece que hay una gran cantidad de FUD sobre las pequeñas diferencias entre ellos. Claro, las diferencias son tan grandes que la mayoría de los programas necesitarán ser modificados, pero casi todos de las modificaciones son sencillas (como cambiar la declaración print a la función print).

De hecho, Python 2.6 puede habilitar opcionalmente todas las nuevas características sintácticas de Python 3.0. Es un proceso de transición muy bien pensado.

Cuestiones relacionadas