[Py-MAD] [OT] Mi charla de Pycon Australia sobre extender Python

Jesus Cea jcea at jcea.es
Wed Aug 5 17:28:08 CEST 2015


On 03/08/15 09:13, Juan Luis Cano wrote:
> Incluso Nick Coghlan admite que 3.0 no estaba lista para producción, y
> de hecho *nadie* usa de 3.0 a 3.2.

Python 3.0 era una castaña. La idea era sacar Python 3 a la calle, no
que se usase en producción. Si esperas a que sea perfecto no lo sacas nunca.

3.1 ya fue otra cosa y su objetivo fue que la gente empezase a escribir
código dual o que los proyectos empezasen a considerar sacar librerías
para los dos lenguages.

3.2 ya fue una "release" decente.

Python 3.3.0 se publicó en septiembre de 2012, con muchas mejoras [1]
simplemente no disponibles en Python 2.7. Esa tendencia se ha acelerado
en 3.4 y el inminente 3.5.

[1] Python Language Moratorium <http://legacy.python.org/dev/peps/pep-3003/>

Al final los novatos usan lo que le instala "apt-get install python".

El ecosistema Python es grande y variado. No hay balas de plata.


> La famosa regresión de formateo de
> bytes no se va a solucionar hasta 3.5, con lo cual mi lectura es que los
> core devs habéis necesitado *once años* para proporcionar un "migration
> path" razonable para todo el mundo (estoy pensando en gente como los
> desarrolladores de Twisted, por ejemplo).

Dejando a un lado que Twisted merece la muerte :-), no se trata de una
regresión, se trata de una decisión de diseño que ha sido problemática,
se ha ganado experiencia en estos años y se implementa esa experiencia
en Python 3.5. Hay otras muchas decisiones cuestionables. En 3.4 se
volvió a añadir el prefijo "u" a las cadenas, para facilitar escribir
código dual.

No hay que olvidar que, al final del día, los recursos son muy limitados
y a mí nadie me está pagando por mantener los buildbots y por picar
código que tú usas a diario. Se hace por amor al arte y las decisiones
se toman en función de los recursos disponibles (pocos) y lo que sabemos
o creemos. No hay decisiones perfectas, pero tampoco hay decisiones que
sean inamovibles (salvo que Python 2.7 será el último Python 2, ¡eso es
INNEGOCIABLE! :)

> No me malinterpretes, yo escribo Python 3 y soy muy feliz (la familia
> NumPy fue la primera en migrar al completo) pero el lamentable estado de
> las herramientas de paquetería (pip, setuptools y demás demonios) y una
> cierta arrogancia han dificultado bastante la migración. Es solo ahora
> que se empieza a tener una actitud positiva y las cosas parece que
> pueden empezar a cambiar.

La paquetería afecta a 2.7 y 3.x por igual y la verdad es que la cosa ha
mejorado bastante.

Resumo mi argumento: quien no tenga código "legacy" que mantener o
dependencias no migradas (cada día menos probable) debería escribir
Python 3 y dejar atrás Python 2. Me parece una "sugerencia" difícil de
cuestionar.

La razones son varias: se trata de un lenguaje "mejor" (más limpio, más
fiel al mantra de "que solo haya una forma de hacer las cosas", más
regular), un novato tiene que aprender menos cosas con Python 3 que con
Python 2 ("¿por qué tenemos __add__, __neg__, __rep__ pero luego es
"next" en vez de "__next__"?"; "3/2 no es 1", unificación de enteros
cortos y largos, una sola jerarquía de clases), todas las mejoras van a
Python 3.

PS: En el podcast tenemos una grabación de un debate Python 2 o 3 hecha
hace varios meses. A ver si el editor encuentra un rato para limpiarlo y
publicarlo de una vez :)...

-- 
Jesús Cea Avión                         _/_/      _/_/_/        _/_/_/
jcea at jcea.es - http://www.jcea.es/     _/_/    _/_/  _/_/    _/_/  _/_/
Twitter: @jcea                        _/_/    _/_/          _/_/_/_/_/
jabber / xmpp:jcea at jabber.org  _/_/  _/_/    _/_/          _/_/  _/_/
"Things are not so easy"      _/_/  _/_/    _/_/  _/_/    _/_/  _/_/
"My name is Dump, Core Dump"   _/_/_/        _/_/_/      _/_/  _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <https://lists.es.python.org/pipermail/madrid/attachments/20150805/fcd357d0/attachment.asc>


More information about the Madrid mailing list