EDICIóN GENERAL
195 meneos
1475 clics

Guido van Rossum abandona la dirección de Python [ENG]

[Directamente de su correo a la lista de desarrolladores]: "Me gustaría retirarme por completo del proceso de decisión. Voy a todavía estar allí por un tiempo como un desarrollador del core más, y seguiré estando disponible para guiar a la gente. Pero me estoy dando unas vacaciones permanentes como dictador benevolente. No voy a nombre un sucesor. ¿qué vais a hacer? ¿crear una dictadura? ¿democracia? ¿anarquía? ¿federación?"

| etiquetas: python , guido van rossum
Si llega a decir que se toma un retiro espiritual en una abadía, los monjes de Perl le esperarían con los brazos abiertos :shit:
#1 Y le pondrían un camello para llegar hasta allí.
#2 Un dromedario, quieres decir :-|
#3 si la abadía está en la zona norteafricana y península arábiga si es correcto, si es una abadía del desierto de Gobi entonces es un camello.
#14 Es un puto dromedario :-|

Programming Perl, published by O'Reilly Media, features a picture of a dromedary camel on the cover and is commonly called the "Camel Book". This image of a camel has become an unofficial symbol of Perl as well as a general hacker emblem, appearing on T-shirts and other clothing items.

en.wikipedia.org/wiki/Perl#Camel_symbol
#15 mea culpa, no estaba al tanto de los simbolismos de Perl. Pensaba que estabas hablando de otro tema. :wall:
#17 Da lo mismo, piensalo como "Y le pondrían hasta un camello para llegar hasta allí" :troll: Lo de que el animalico no esté en su entorno es lo de menos :-P
#36
Te doy positivo por el "megacalzador para soltar la mía" que te has marcao.
Con dos par de huevos o huevas!
#51 es que no pretendia que fuera un :calzador:, es que me hizo gracia al pensarlo y ale... lo solté así, tal cual :-P
Martes y trece , cruz y raya y ahora los monthy..... dios :'(
Microsoft compra python? :-S :palm: :roll:
Será muy interesante seguir el cambio de forma de gobierno de una dictadura a lo que elijan.
Python es el lenguaje de script que se usa para usar otros programas hechos por gente que realmente sabe programar, como tkinter,pygal,OpenCv,tensorflow y etc

el 95% de fulanos que se hacen llamar programadores jamás ha programado nada ,sino solo son albañiles que ensamblan ladrillos fabricados por otros. Y a veces, ni los pegan bien y se cae la pared.
#7 la verdad, tu comentario no tiene ningún sentido más allá del trolleo :'D

Nos sentimos honrados con tu presencia, porque supongo que tu eres un "programador de los de verdad" y no solo te dedicas a mencionar tecnologias porque sí :-)

Por cierto, sí, Python se puede (y se usa) tambien para hacer cosas serias: herramientas de administracion, aplicaciones de escritorio (pyqt), aplicaciones web (django/flask/...), microservicios (asyncio/tornado), soporte de extracciones de big…   » ver todo el comentario
#19 sin ánimo de apoyar el otro comentario, ¿eres consciente que los usos que comentas son bindings a librerías escritas en otros lenguajes? Python está bien para algunas cosas pero es cierto que al final el código "importante" no está escrito en Python.
#32 " ¿eres consciente que los usos que comentas son bindings a librerías escritas en otros lenguajes?"

Y?

Me estas queriendo decir que esos lenguajes tan molones y tan potentes son tan jodidamente complicados de usar que al final tiene que venir un lenguaje sencillote como python para que la gente pueda usar esos bindings???

Que si, que C, assembler y demas estan muy bien (y tienen usos brutales y fantasticos), pero para el 80% de lo que hace la gente, lenguajes de MUY alto nivel funcionan perfectamente, otra cosa son los sistemas empotrados y demas cosas.
#39 En resumen,

- Lenguajes de bajo nivel son jodidos pero difíciles, e imprescindibles para hacer librerías. Muy poco prácticos para hacer interfaces de usuario o programas sencillos como dices que hacen el 80% de la gente.

- Lenguajes de alto nivel son fáciles de usar e imprescindibles para que un programador sea productivo, pero al final dependen totalmente de liberías escritas en bajo nivel.

Una comparación es absurda, se complementan y necesitan. Como el Yin y el Yang, como el hombre y la mujer :-D :-D :-D
#49 "Muy poco prácticos para hacer interfaces de usuario o programas sencillos como dices que hacen el 80% de la gente."

No siquiera, se hacen cosas complejas con Usted, PHP o Python (microservicios, lógica de negocio...) Porque el código queda mejor estructurado y más legible, y hoy en día la falta de rendimiento se puede suplir de muchas maneras (colas, caches, cqrs para tener diferentes modelos de lectura y escritura...).

Evidentemente cada lenguaje tiene su nicho de mercado. Yo cambiaría la frase de #7 por algo más del estilo de:

"el 95% de fulanos que se hacen llamar programadores no saben porque se utilizan diferentes lenguajes y son incapaces de optar por uno u otro en función de sus necesidades"
#50 Tu corrector ortográfico del móvil te ha jugado una mala pasada. A que lenguaje te referías dónde pone Usted?
#56 yo siempre programo de tu, usted es muy formal :troll:
#49 Pero hay que forzar su uso al 50/50, que si no uno se siente oprimido :troll:
#39 c y asembler.. tanto como brutales y fantásticos...{lol}
#39 hay lenguajes de alto nivel que no tiene tanto sentido bindings. Python es horrible de usar para proyectos serios de un tamaño considerable. Lo sé porque lo uso a diario y preferiría usar otras cosas.
#32 depende de lo que entiendas por "importante". Son lenguajes complementarios, al igual que ocurre con otras tecnologias.

Ejemplo equivalente: Java+JNI o en el caso de Android Java+NDK (que para el caso es lo mismo). Las partes en las que requieres mayor eficiencia las haces en lenguaje compilado y el resto en lenguajes de mas alto nivel. Es la parte de bajo nivel la mas importante? No, necesariamente.

Ejemplo más claro usando Java como referencia: hadoop (big data en general),…   » ver todo el comentario
#40 a ver... Python no sirve para proyectos relativamente grandes. El multithreading es horrible, básicamente no existe. No tiene tipado fuerte. Y un alero etc. Java es d ealto nivel y se hacen cosas muchísimo más complejas de lo que harías en Python.
#66 www.hartmannsoftware.com/Blog//Companies_Using_Python

Créeme, hay proyectos "muy tochos" hechos con Python. Mirate Tornado, de Facebook y preguntate porque una empresa de ese nivel iba a crear un framework completo de programación asincrona en Python. Youtube, Dropbox,... hasta los crawlers de Google (en este caso si lo usan solo como lenguaje de apoyo).

No hay lenguaje mejor ni peor. Hay lenguajes más adaptados a unas problemáticas que otras. Python es muy polivalente y…   » ver todo el comentario
#70 no veo a Python como un juguete, simplemente considero que es un error usarlo para proyectos de cierta envergadura. Es muy fácil añadir Bugs que son muy difíciles de depurar. Los tabuladores también son un dolor de muelas y añaden Bugs inesperados. Python es un lenguaje de scripting para hacer prototipado rápido y cosas pequeñas. Y para eso es genial usarlo, pero para poco más. Y aún así por mi creo que hay lenguajes mucho mejores para hacer lo que hace Python. En Python es complicado hacer algo concurrente que requiera usar bastante RAM, y hay lenguajes que es super fácil.
#32 ? "Bindings" jajajajajaja
#46 si explicas que tiene tanta gracia nos reímos todos. Sino entiendes a que me refiero con bindings te lo explico sin problemas.
#32 Si seguís esa lógica y por ese razonamiento, el único lenguaje "importante" es ensamblador, o ya si somos 100% puretas, el lenguaje máquina puro y duro. Y ninguno de los que estáis aquí despotricando de Python tenéis ni puta idea de programar a bajísimo nivel. Así que dejad de escribir tonterías, por favor.
#48 importante no significa bajo nivel. Java es un lenguaje mucho más serio que Python con el que se puede hacer muchas más cosas, más grandes y más fáciles de mantener. Yo uso Python a diario y se lo que es pegarse con el.

P.D. antes no escribí ninguna tontería pero tú prejuzgaste muy rápido.
#68 Java y TODOS los lenguajes se compilan a ensamblador y código máquina, así que no, no te he prejuzgado y sí, si estáis diciendo tonterías.
#72 si eres capaz de decir que todos los lenguajes se compilan a ensamblador y decir que otro dice tonterías te quedas solo en esta conversación. Porque cualquiera con un mínimo de conocimiento ha estudiado que hay lenguajes interpretados que no se compilan. Java en concreto se compilan a bitecode que es interpretado por la máquina virtual y a veces esta máquina virtual decide compilar partes del código para hacerlo más rápido. Android ha hecho otras cosas con java durante algunas versiones pero eso es otra historia y un caso particular. En resumen, eres un ignorante bocazas
#7 #19 JjaJAJaJAa "gente que realmente sabe programar" Porque claro C++, C# o Javascript no es programar de verdad, ¿verdad churri?

Ay cómo están los trolls.
#7 "lenguaje de script" xD
#23 ¿python no es un lenguaje de script? ¿Y bash?
#26 comparar Python con Bash denota un problema de niputeismo.
#43 es una pregunta. He puesto la pregunta y luego otro lenguaje que estoy 100% seguro que es un lenguaje de script.
#43 ambos son lenguajes de script, la comparación es correcta.
#7 te falta otro ejemplo de uso muy común. Dentro de la comunidad de seguridad, para hacer el outline y ejecución del código que realmente explota la vulnerabilidad, este último generalmente escrito en un lenguaje de verdad (C) .

Fdo - un tipo que come gracias a python :^)
#7 Yo programo directamente en código máquina, ni ensamblador ni hostias.
#7 mmm, no. Python es un lenguaje muy potente, y al mismo tiempo sencillo de aprender (eso si, programar muy bien en python lleva tiempo). Personalmente estoy muy cansado de la gente que se dice "Soy programador de X" (donde x es java, .net. php o lo que sea)... personalmente programo (a diario) en java, python, js y bash... ocasionalmente en php y R... si algo me ha ensenyado el usar varios lenguajes es que cada uno tiene su aplicacion.
#35 yo no se que es programar de verdad, en matlab he escrito un pequeño código que detecta cambios de intensidad de luz en imagenes(que aún no funciona) y la automatización de pasar imagenes al programa la hago con python. Los dos son esenciales
#7 ya me daría vergüenza escribir tu primer patrafo. No tiene ningún sentido.
Esto es MNM, solo aquí tiene portada una noticia así, de echo con ese nombre no se como puede dirigir ni su libro de familia .
#8 No se ni escribir la palabra hecho correctamente, pero puedo menospreciar a alguien que ha creado algo como Python. Olé.
#10 era una coña pero a lo hecho pecho, igual estás ofendido tú también .
#11 siento el negativo.
Te compenso.
#12 ni te molestes, a mi no me preocupa, buenas noches .
#11 Ofendido? Que va. Estaba sorprendido, pero si era una coña no digo na! :hug:
Tu tranquilo, peor que el paso de Python2 a Python3 no se va a liar.
#9 a todo se acostumbra uno :-P

En mi opinion, realmente se deben ver como dos lenguajes distintos. Especialmente con la aparición de asyncio hay diferencias lo suficientemente grandes como para así considerarlos,ya que no existen compatibilidades hacia atrás.

Afortunadamente, Python 2 esta cayendo en desuso, por lo menos yo lo he notado así especialmente en este último año.
#21 Calla calla , que estoy aprendiendo python ahora para reciclarme y hasta que me di cuenta que los ejemplos no me funcionaban porque estaban en 2 y estoy usando 3 , ....
Una de las cosas que estoy usando ahora , Medusa, esta en python 2 , y me lo estoy pasando teta intentando traducirlo a 3 xD
#22 Por suerte, todo lo que me es útil ya está migrado a Python 3. Así que me puedo dedicar a tareas productivas.
#28 Bueno , yo estoy aprendiendo ahora y este me esta resultando un ejercicio de lo mas instructivo.
#22: Y luego critican JavaScript. :palm:
#29 Python es ultra consistente y no es caotico como JavaScript.

Si hay cambios importantes de la 2 a la 3. Incluso que hacen que sean incompatibles entre ellas, pero el código se puede migrar relativamente fácil.
#30: JavaScript es según lo escribas, de hecho su libertad en mi opinión es una virtud.
#30 ultra consistente? Ni siquiera los imports es capaz de mantener una consistencia entre versiones. :roll:
#21 En Python 3 estan ya todas las librerías de terceros que puedan ser importantes, e incluso muchas librerías ya abandonan el Python 2 totalmente.
Po' fale.
Las assignment expressions van a dar mucho que hablar durante mucho tiempo
Que mal... Espero que no hagan locuras sin el... Es mi lenguaje favorito y vivo de el también.
#25 Estoy como tú. De todas maneras queda gente muy buena currando en el equipo, pero Jode que Guido se retire. Es un genio.
Nos queda su obra
A ver si alguien consigue quitarse de encima el GIL, que es lo peor con diferencia.
wiki.python.org/moin/GlobalInterpreterLock
#41 Un lenguaje que te dice que hacer threads no es posible y que tu no deberías intentarlo por no ser ‘buena práctica’ tendría que estar en el cubo de la basura.
#44 bueno, está asyncio, que viene a ser como las promises... Cada instancia ocupa muy poca ram, asi que puedes escalar por procesos y te olvidas en ambos casos de los threads, dela mutex y muchos líos.
#44 ignorancia se llama lo tuyo. Por lo que para evitar este tipo de desinformación y que se propague, a otros nos toca informar.

Es posible hacer threads pero tienen sus limitaciones (debido al GIL tan solo es posible aprovechar al maximo combinandolo con programación asincrona):
docs.python.org/3/library/threading.html

Tambien es posible utilizar el paradigma de programacion asíncrona (asyncio), que tan de moda se han puesto en la última decada (ej: NodeJS). Ver uvloop para…   » ver todo el comentario
#60 o usar su version 2.7, que se que todos vivis en el 'bleeding edge', pero otros no.

CPython implementation detail: In CPython, due to the Global Interpreter Lock, only one thread can execute Python code at once (even though certain performance-oriented libraries might overcome this limitation). If you want your application to make better use of the computational resources of multi-core machines, you are advised to use multiprocessing. However, threading is still an appropriate model if you want to run multiple I/O-bound tasks simultaneously.
#41 Una comparacion odiosa :troll:
yaketyhack.blogspot.com/2010/07/threading-perl-vs-python.html

Para el mismo problema:
Perl: Threads reported 43.3241600990295 combined runtime
Python: Threads reported 120.4 combined runtime

Here we see where the global interpreter lock causing us problems. Each additional thread causes it to take the same amount more time. That's because only a single thread can run at any time, yielding no time savings for running four threads. It's equivalent to running them in sequence, in this case.

menéame