Reírse de lenguajes discapacitados como JS y PHP es jugar en nivel fácil. Me han desafiado a jugar en difícil y criticar Python. Challenge accepted! ⬇
El gran líder pitoniso (Guido van Rossum) se sentó un día en el porche de su casa y, viendo todo el desorden que había con los lenguajes de aquel momento, pensó que él podría crear un lenguaje mejor. Un lenguaje majestuoso. Bonito. Elegante.
Un lenguaje que impusiera el orden y la belleza a golpe de real decreto, para que todos los chapuceros estuviesen obligados a indentar el código, maldita sea, ¿QUÉ COJONES SE OS PASA POR LA CABEZA PARA NO INDENTAR EL CÓDIGO?
¿COMO ES POSIBLE QUE CRITIQUÉIS UN LENGUAJE QUE OBLIGA A INDENTAR? ¡CADA VEZ QUE VEO CÓDIGO SIN INDENTAR SE ME DISPARA EL TOC! OS RAJOOOOOOOOOOOOOOOO!!!!!!!!!!!!!!!!!!!
Perdón, perdón... a lo que iba... El pitoniso maestro pensó en crear una especie de libro sagrado (llamado "PEP" [1]) donde recopilar todas las decisiones que se tomaban sobre el diseño del lenguaje.
Y en una de las primeras páginas [2] escribió 19 mandamientos que todo pitoniso-wannabe debería respetar para poder hablar Parsel y entrar en Slytherin. Y los llamó "el zen de los pitonisos".
Pos enga, otra regla que parece estar cumplida a rajatabla para que el lenguaje sea homogéneo y bonico ✅.
Pero ¿sabéis qué? Que da igual. Las reglas están para romperlas! ¡Vamos con las cosas importantes!
Python ha visto, año tras año, como su cuota de mercado se incrementaba gracias a su facilidad de escribir código multihilo (extremadamente útil para temas de análisis de muchos datos, ML, etc...) ...
Excepto que todo es mentira!!
Python tiene una cosa llamada GIL (Global Interpreter Lock) que hace imposible escribir ni una sola línea multihilo. Tan pronto como un hilo empieza a ejecutar bytecode de Python, todos los demás hilos se pausan!
Y arreglar / quitar el GIL se ha intentado tantas veces (sin éxito, tampoco entraré en detalles técnicos) que a estas alturas ya es una especie de long running gag.
"Pero yo quiero exprimir mi Ryzen 7 5800X!!"
No hay problema! La comunidad siempre ofrece soluciones (y tantas, en este caso).
Di "hola" a CPython, Cython, Jython, IronPython, PyPy, Brython, RubyPython y demás variantes.
Ahora podrás escribir Python que no es Python, pero que se lee como Python, pero se comporta como cualquier otra cosa que no sea Python, aunque preservando su olor de Python.
Te ha quedado PythonClaro?
"Pero yo no quiero eso!! Yo quiero Python puro!!"
Vale, pues entonces puedes jugar al juego de "ejecuta-ejecuta fuera del interprete".
Consiste en escribir código multihilo de tal manera que todo lo hagan librerías externas (pandas, numpy, etc...).
Si lo haces bien tu CPU estará contenta y calentita.
Buena suerte intentando adivinar el pipeline correcto para mantener el flujo de ejecución fuera del interprete de Python y no pausar todos los hilos 😉
Python también es un lenguaje de mucho OOP. Y de muchos OOPs. Ejemplos:
Quieres constantes? OOPs.
Quieres overloading? OOPs.
Quieres variables/métodos privados en una clase? __OOPs.
Te gusta la palabra "self"? Cópiatela al portapapeles que la vas a usar mucho! (OOPs)
Tampoco se podía esperar mucho mas de los creadores del "duck typing"...
Gracias a este hilo seré expulsado de Slytherin y perderé mi licencia de pitoniso. Mandadme vuestras ayudas (bitcoin, doge o ada) a mi correo de yahoo.
• • •
Missing some Tweet in this thread? You can try to
force a refresh
¿Te has preguntado por que PHP tiene tan mala fama en cuanto a seguridad (y en particular con los SQL Injects)? ¿Realmente se la merece? Vamos al lio ⬇
Antes de nada, para los despistados, aclaración rápida de que es un SQL Inject: es cuando copiáis y pegáis de StackOverflow sin saber qué estáis haciendo.
Mas leer documentación y menos intentar sacar las cosas a base de prueba y error, gandules!
Todo empezó con PHP 2 cuando nuestro querido Rasmus Lerdorf (no estoy de coña, así se llama el creador de PHP. Tontos nosotros por no ver la señal luminosa...) integraba PHP con las bases de datos del momento y se dio cuenta que se podían colar comillas simples en las...
Sigues sin tener ni la más mínima idea de que cojones es todo eso de los "módulos" de JS y a estas alturas ya te da hasta corte preguntar? O a lo mejor simplemente quieres tener más munición para cagarte en toda la estirpe de JS? En cualquier caso este es tu hilo! ⬇
Todo empezó hace muchos años, cuando alguien decidió que meter 84 toneladas cúbicas de JS en cada página para hacer un sinfín de virguerías molestas era buena idea.
Y así nacieron los "utils.js" de un peso medio más alto que la mama de tu peor enemigo y de un contenido de dudosa calidad, fruto de meses y meses de copiar y pegar de foros daniweb y yahoo answers. Pero incluso los peores chapuceros javascripteros se dieron cuenta...
Sheldon tenía un "Fun with Flags", yo tengo un "Fun with Strings". Por demanda popular, ¡DENTRO HILO! ⬇
Todo empezó hace un porrón de años cuando los arcanos de los 0 y los 1 inventaron la tabla ASCII.
Majestuosa tabla que contenía absolutamente todas las letras, números y símbolos. Todos los
que se les ocurrieron en 1 tarde, quiero decir.
Y todo era maravilloso, porque con 1 byte representábamos cualquier carácter.
Y para medir "la longitud" de una cadena nos bastaba con contar cuántos bytes tenía, porque 1 letra = 1 byte.
Y para pasar de mayusculas a minúsculas sumabas 32 al valor decimal del carácter y pista.
¿Os habéis preguntado por qué en nuestro campo existe tanta sobre ingeniería y por qué todo se ha vuelto innecesariamente complejo?
Os cuento el motivo, ejemplos incluidos! Dentro hilo ⬇
Hay todo un cumulo de motivos y razones. Desde falta de dirección, falta de visión global, herramientas y/o arquitectura incorrecta, solución mal planteada o ejecutada, cúpula de la cadena de mando completamente descerebrada, etc...
Si esto fuese un blog, me saldría un post de 60.000 palabras (10.000 irían al síndrome de "Yo también!" de la comunidad de JavaScript), pero no lo es, así que voy a resumirlo todo en un vicioso bucle de 5 pasos.
A ver, en serio, ¿a nadie más le fascina el mundo de los virus de wordpress?
Necesito abriros los ojos a esa maravilla! ⬇
Cuando te montas un server pequeño para "meter mierdas" dentro (la web de tu cuñado, el pet project del fin de semana, el owncloud para luego no meter nada dentro, etc...), sueles buscar un panel de control que te facilite las cosas (plesk, cpanel, ispconfig...)
Pero es que resulta que todo eso es perder el tiempo. Hay maneras muchísimo mas cómodas y rápidas de hacerte con un panel de control.
¿Cómo? Muy fácil: te instalas un wordpress con 50 plugins en el server.
Pensabais que la vida de los devs frontend es miserable? Vamos con la de los devs full-stack en microempresas tipo MadHouse! ⬇
Estas tú tan tranquilamente sentado en tu puesto de trabajo, picatecleando mierdas, cuando aparecen (en manada) los 3 "jefecillos" (por llamarlos de alguna manera, porque "personajes de cuidado que nadie sabe a qué se dedican en la empresa" queda feo).
Se sientan a tu alrededor (en plan emboscada) y sacan el cuaderno con las <ideas>. Sigue una tanda de chorradas, a cada cual mas loca que la anterior.