Hace 4 años | Por mr_b a blog.adrianistan.eu
Publicado hace 4 años por mr_b a blog.adrianistan.eu

Python es un lenguaje muy popular hoy en día. Aunque pueda no ser el mejor, su desempeño es bueno, con mucha documentación, librerías, es cómodo y fácil de aprender. Python además sigue la filosofía de baterías incluidas, es decir, de intentar llevar de serie casi todo lo que vayas a poder necesitar. En este artículo vamos a ver algunas partes de Python no tan conocidas pero igualmente interesantes y útiles.

Comentarios

J

#4 Yo soy Oracle y pediría dinero para NO hacerlo
La verdad es que tal y como están montadas muchas ñapas a largo plazo igual les hacían un favor... roll

D

#2 #4 #6 En el mismo blog hay una crítica a Python que me parece mucho más interesante https://blog.adrianistan.eu/la-perlificacion-de-python
#13 ¿Te refieres a eso?

Lo acabo de enviar como noticia y a lo mejor se crea un debate interesante La perlificación de Python

Hace 4 años | Por --606010-- a blog.adrianistan.eu


Lo de la compatibilidad, como dice #11, no ha sido para tanto. Y si nadie me corrige ninguna empresa se ha ido a pique por eso. No sé si ha habido pérdida de confianza en el lenguaje, pero creo que la comunidad no se ha quejado mucho.

#7 Parece que al hombre le gusta experimentar y se ha hecho el blog, a mano, en Rust. Si le da caña le puede salir un CMS, que en ese lenguaje hay poca cosa. https://blog.adrianistan.eu/ano-nuevo-blog-nuevo

m

#17: Si, me refiero a eso, que añaden tantas cosas al lenguaje de programación, que al final o eres programador de alto nivel, o no tienes nada que añadir porque no entiendes "ni jota" del código.

¿Soluciones? Se me ocurre clasificar las funcionalidades, y en proyectos orientados a un público menos próximo a la programación (por ejemplo, una aplicación de fotografía), usar solo las funcionalidades clasificadas como "simples" (If, Fof, While... ) y usar las más complejas en proyectos donde las contribuciones se esperen de personas expertas en programación.

D

#32 Es algo en lo que yo no había pensado mucho, pero leyendo el artículo al que enlazo entiendo la crítica.

No obstante, tu solución no tiene mucho que ver con el lenguaje de programación en sí, sino que sería más bien una guía de buenas prácticas. Tendría que ser una comunidad que se plegara a esa práctica.

O lo que ya pasa ahora, que a veces hay que saber elegir lenguajes muy específicos y "simples" para cosas concretas.

D

#2 Afortunadamente, o no, la versión 2 pasa a ser obsoleta el 1 de enero que viene. Ya me ha tocado retocar código antiguo para ponerlo al día. Pero la verdad es que no son demasiados cambios y se pueden hacer de forma bastante sistemática.

D

#2 Madremía, ¡dos versiones! Y tan incompatibles entre sí que es posible escribir código que funcione en ambas...

A ver, Python 3 fue lanzado hace once años ya como sustituto de Python 2, no como una versión paralela. Quizás el problema fue haber dado tanto soporte a Python 2, al que por ciero apenas le quedan unos meses de vida.

demostenes

#29 Pues sí. Quizás por eso en mi Debian Jessie todavía la versión por defecto es Python 2.7
Lo que critico es la falta de retrocompatibilidad, que también ocurre ahora entre PHP 5.6 y PHP 7.0 pero con Python ocurre ¡¡desde hace 10 años!!
Recuerdo que mi primer contacto con Python fue hace 10 años un script para enviar SMS que funcionaba en 2.x mientras que Ubuntu se empeñaba en instalarme la versión 3. ¡Un buen dolor de cabeza!

D

#34 Pues estás viviendo al límite del EOL Tanto la Jessie como Python 2.7 están en su último año de soporte.

Respecto a la Jessie nada que decir, es decir, nada malo que decir. Es sólida como una roca.

Respecto a Python 2.7, más que versión "por defecto", sufrió el efecto revitalizador de continuar (por retrocompatibilidad) vinculada al alias "python" mientras que para Python 3 se creó un "python3". Y por tanto, mientras desde Python y desde muchas distros se recomendaba cambiar a Python 3 (y cambiar incluso el alias) y emplear únicamente Python 2.7 con contenido legacy, mucha gente hizo caso omiso y siguió simplemente empleando el mismo shebang que les llevaba a Python 2.7.

Por otra parte, esos cambios del Py3k que llevaron a la incompatibilidad relativa (realmente hay muy pocos casos de uso en los que una misma aplicación no pueda ser compatible en ambos sistemas) demostraron sobradamente su utilidad y ayudaron a llevar a Python a donde está ahora.

Ni la retrocompatibilidad absoluta (como intentó Microsoft con Windows con los resultados que todos conocemos) ni la política de tierra quemada (como la que está llevando a cabo la misma Microsoft en Azure, convirtiendo en legacy productos recién sacados) son deseables. Pero si algo no se le puede achacar a Guido van Rossum, hasta hace muy poco el BDFL de Python, es precisamente arbitrariedad en los cambios de cada versión y falta de atención por la retrocompatibilidad.

borteixo

Me gustó mucho la vida de Brian

D

#9 Demasiado comercial.

D

Python carece de una gran empresa detrás que se ocupe de su estandarización y gobernabilidad.

TheIpodHuman

¡Uff!, a mi me esta costado un barbaridad. Hace ya tiempo que me propuse aprender python pero na, no hay forma, no consigo dominarla, esta totalmente descontrolada... ¿me echáis una mano?

C

#14 en mi caso, los que abusan de expresiones regulares, los que abusan de las abreviaturas que trae un lenguaje en particular.

llorencs

#18 mmm, en Python, quizás lo más abusivo pueda ser usar expresiones lambda y alguna cosa así que tiende hacer el código de 1 línea. O alguna "comprehension" de lista, diccionario muy compleja o críptica es lo que más puede liar.

D

#18 Las expresiones regulares han existido en casi todos los lenguajes de programación desde el comienzo de la informática, pero no las popularizó ninguno de ellos, sino una herramienta para consola, grep.

Las regex son una familia de lenguajes en sí mismas y, a pesar de que parecen textos arcanos, son insustituibles para ciertas tareas de parsing.

Pero Python, precisamente, es uno de los lenguajes que cuenta con más herramientas para poder sustituir las regex con código nativo y de hecho es lo que se recomienda en cualquier manual de buenas prácticas.

D

La página es fea con ganas, como hecha con geocities.

ximovai

#7 esta hecha con rust y no es coña.

POLE288

Ahora al menos sé algo de Monty Phyton

f

Que es mono hebra te pongas como te pongas, por diseño

De estas cosas tontas que se entera uno demasiado tarde

https://realpython.com/python-gil/

D

#23 Cada lenguaje es para lo que es. Además, siempre tienes mejores opciones para realizar programas multihilo -> (Que compilen a JVM como Java, Scala, Jython o Kotlin; c++; Rust...)

m

#28: Yo no entro en valoraciones morales, solo digo que si los proyectos de Software Libre se vuelven muy complejos, luego no os extrañéis de que la mayor colaboración recibida en el desarrollo sea un paquete de iconos y traducciones.

Hay que recordar que hay muchas más disciplinas que la programación, hay quienes son abogados, otros médicos, otros ingenieros... no puedes pretender que todos tengan una "doble titulación" de lo suyo y programación de alto nivel.

Por supuesto, que cada uno haga lo que crea más conveniente, solo planteo el problema que se puede presentar.

Am_Shaegar

Gracias por el envío.

Tarod

#0 #1 Esto llega a portada pero no lo de Nadal.
Meneame wall

D

#10 De no ser por Menéame, nunca nos habríamos enterado de la gesta de Nadal.

Pues créeme que gracias a no haber salido en Menéame no sé de qué gesta habláis. Imagino que Nadal, el tenista, habrá ganado algún campeonato (algo sin duda noticiable, ya que apenas ha ganado alguno ) o habrá colaborado junto a sus vecinos ayudando en alguna catástrofe (de eso sí me enteré; bueno, de lo de Nadal, lo de los vecinos lo presupongo porque se veían de fondo en la noticia).

Pero vamos, que encantado que así sea.

llorencs

#8 mmm, Menéame ante todo era/es una página orientada a noticias de tecnología no de deportes (si quieres leer deportes, tienes el Marca). Que con la masificación y con el tiempo se volviera con muchas noticias de actualidad, no significa que tuviera/siga teniendo un foco importante en el mundo de la tecnología, en especial software libre.

m

Mi opinión (también aplicable a JS): añadir funciones tan complejas puede dificultar que los programadores nóveles se integren en proyectos muy maduros cargados de este tipo de funcionalidad.

Soy más partidario del FOR, WHILE, IF... de toda la vida.

llorencs

#13 ¿Qué funciones complejas haces referencia?

d

#13 esos programadores nóveles de los que hablas solo saben COBOL o que? Porque mal les va a ir si se atascan con un reduce.

m

#24: Quizás, más que nóveles, debí decir "ocasionales", es decir, si estás usando un programa de código abierto y el código es muy complejo, es menos probable que te animes a contribuir algo.

d

#25 igual si no sales del for y el while es mejor que no contribuyas.

M

Otro entusiasta que no se entera de que hay que ganarse la vida con lo que se sabe; y con esto no se gana ni las vacaciones