Pregunta

Recientemente decidí expandir mis horizontes de programación y aprender el lenguaje de programación python. Si bien he usado Python un poco para las clases en la universidad y para un proyecto o dos en el trabajo, de ninguna manera soy un experto. Mi pregunta es la siguiente: ¿debería molestarme con las versiones 2.x o debería saltar directamente a 3.0? Me estoy inclinando hacia 3.0 ya que programaré más aplicaciones para uso personal / de aprendizaje, pero quería ver si había algún buen argumento en contra antes de comenzar.

¿Fue útil?

Solución

Absolutamente no 3.0 - 3.1 está fuera y es más estable, mejor, más rápido en todos los aspectos; No tiene ningún sentido comenzar con 3.0 en este momento, si desea tomar la serie 3, en todas las cuentas debería ser 3.1.

En cuanto a 2.6 frente a 3.1, 3.1 es un lenguaje mejor (especialmente porque se eliminó algo de cruft que se había acumulado a lo largo de los años pero tiene que permanecer en 2. * para la compatibilidad con versiones anteriores) pero todo el resto del ecosistema (desde extensiones hasta herramientas, desde libros hasta conocimiento colectivo) todavía está a favor de 2.6: si no le importa poder usar (por ejemplo) ciertas GUI o extensiones científicas, implemente en App Engine, escriba Windows con COM, tenga un IDE de terceros, y así sucesivamente, 3.1 es aconsejable, pero si se preocupa por esas cosas, todavía 2. * por ahora.

Otros consejos

Uso 3.1

¿Por qué?

1) Debido a que mientras todos sigan usando 2.6, las bibliotecas tendrán menos razones para migrar a 3.1. Siempre y cuando esas bibliotecas no se transfieran a 3.1, no podrá utilizar las fortalezas de 3.1, o solo hará el trabajo a la mitad utilizando la solución pirata de utilizar un conjunto de características con puertos retroactivos. Sea un pensador avanzado y ayude a impulsar a Python hacia adelante.

2) Si aprende y usa 3.1 ahora, no tendrá que volver a aprenderlo más tarde cuando se complete el puerto masivo. Sé que algunas personas dicen que no tendrás que aprender mucho, pero ¿por qué aprender la vieja basura? Python se está moviendo hacia 3.1 , las bibliotecas se moverán hacia 3.1, y apesta tener que ponerse al día y volver a aprender un idioma que ya está usando.

3) 3.1 es un mejor lenguaje , más estable y más consistente que 2.6 ... esto es normal. Las lecciones aprendidas de 2.6 fueron vertidas en 3.1 para mejorarlo. Es un proceso llamado PROGRESO . Es por eso que nadie todavía usa Windows 3.1. Es la forma en que las cosas avanzan. ¿Por qué crees que se tomaron la molestia de volver a portar un conjunto de características en primer lugar?

4) Si está aprendiendo Python y aprende 2.6, para cuando se sienta realmente cómodo con el idioma, los puertos estarán fuera, y tendrá que aprender las bibliotecas y el idioma nuevamente. Si comienza con 3.1, cuando se sienta cómodo con el idioma, los puertos estarán fuera y luego podrá aprender las bibliotecas que le interesan. Es un proceso más sencillo .

5) Para ser un mejor desarrollador. Si tiene que aprender y volver a aprender las mismas cosas, su comprensión no será muy profunda. Al aprender este idioma y sus bibliotecas solo una vez, tendrá más tiempo para trabajar con ellos en lugar de volver a aprender la sintaxis. Esto le permite entenderlos mejor. Si realmente te faltan algunas piezas al renunciar a las bibliotecas? ESCRIBIRLOS. Probablemente no necesitará una biblioteca completa, y generalmente puede escribir solo las piezas que necesita y desarrollar herramientas para usted. Esto, nuevamente, te ayuda a entender el idioma mejor y más profundamente.

Respuesta corta: Comience con Python 2.6.

Por qué: la programación es más divertida y útil cuando puedes aprovechar el trabajo de otros. Esto significa usar bibliotecas de terceros a menudo. Muchas de las bibliotecas populares para Python aún no tienen soporte 3.x. PIL y NumPy / SciPy vienen a la mente. Mi intérprete favorito, ipython, todavía no funciona con 3.0. Muchos marcos de prueba de unidad y marcos web tampoco están en 3.0 todavía.

Entonces, si comienzas en 3.x, muchas puertas estarán cerradas para ti, al menos hasta que 3.x la toma de puerto tome vapor. Es cierto que hay muchas características interesantes en Python 3.x, pero algunas de ellas han sido respaldadas a 2.6 y otras más lo harán en 2.7. Por lo tanto, quédese con 2.6 por ahora y vuelva a evaluar 3.x dentro de un año más o menos.

Creo que será mejor que vaya directamente a 3.0. A menos que tenga una base de código heredada con la que lidiar, hay muy pocas ventajas de aprender las formas 2.xx de hacer las cosas.

En el mundo de Python (como en la mayoría de los demás, en realidad), las versiones tienden a tardar un poco en migrar a todos los subproyectos, pero si alguna vez encuentra la necesidad de volver a la transición a 2.xx, no lo hago ' Creo que volver a aprender cosas es particularmente doloroso.

Debería utilizar la última versión de cualquier lenguaje de programación que aprenda a menos que tenga una razón específica que no . Como no tiene un proyecto existente que no funcione con Python 3.0, puede usar la versión más reciente.

Usa python 3.1, Luke.

Python 3.1 no debe usarse hasta que otras bibliotecas hayan alcanzado el soporte para ello.

Deberías usar 2.6 ahora. Tiene varias características 3.x portadas, por lo que la migración a 3.x no será difícil más adelante y no aprenderá prácticas obsoletas.

La buena noticia es que en realidad no es tan difícil aprender Python 2.xy 3.x. Puede instalar la última versión 2.x como la versión registrada en el sistema para ejecutar scripts de Python de forma predeterminada, pero también puede instalar la última versión 3.x para comenzar explícitamente cuando lo desee. Eso es lo que tengo en mi sistema Windows Vista.

Entonces, el documento clave para aprender las diferencias entre las versiones 2.xy 3.x es:

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

Si lee materiales de aprendizaje de Python que están basados ??en 2.xy también se refieren a eso "Novedades de Python 3.0" enlace anterior, comprenderá cómo cambiaron las cosas. También vea los otros documentos nuevos, como las diferencias entre 3.0 y 3.1, pero el enlace anterior es el principal para comprender los cambios 2.x vs. 3.x.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top