This graph shows how many times the word ______ has been mentioned throughout the history of the program.
David Heinemeyer Hanson. Es que ha habido un gran drama tech y es que David Heinemeyer Hanson es el CTO de la empresa 37 Signals, que claro dirás y vale, pues a mí qué me importa. O sea, ¿sabes qué es eso? ¿Qué es eso? Bueno, es el creador de Ruby on Rails, uno de los frameworks de Ruby más importantes, más conocidos y seguramente del desarrollo web, de la programación web, es bastante conocido.
Pues es el creador, es el creador y siempre, siempre, siempre, siempre tiene un montón, pero un montón de dramas este chico porque le gusta tener opiniones bastante potentes. También es el fundador de diferentes empresas, ha tenido, porque solo pone esto, pero 37 Signals. Seguro que la conocéis de Basecamp, por ejemplo. Basecamp que era como para manejar y para crear proyectos y el correo Hey, un nombre muy chulo para un correo, la verdad.
Está muy chulo, pero aunque yo nunca me terminé de acostumbrar. Pero bueno, que esta empresa ha hecho grandes cosas y detrás siempre han estado utilizando Ruby on Rails. ¿Dónde está lo más polémico? Lo más polémico, bueno, es lo más polémico, cada tres días dice algo polémico este hombre, cada tres días.
Es una cosa, este hombre dice, yo voy a sacudir un poco la avispero y lo hace. Bueno, ¿qué es lo que ha hecho? Pues lo que ha hecho aquí es Turbo 8 está dejando de soportar TypeScript. ¿Qué quiere decir esto?
Turbo 8, que si no me equivoco, a ver, ¿qué era Turbo 8? Lo tengo por aquí. Turbo también era como para hacer más rápidas las páginas web, ¿no? Porque, ¿qué pasa? Que este hombre es un enemigo, enemigo, literal, enemigo. O sea, no es que, no, enemigo de la Single Page Application.
Las odia, las odia con toda su alma, con toda su fuerza. ¿Por qué? Porque Ruby on Rails no hace SPAs. Entonces, el tema es que está muy cabreado.
Y entonces dijo, mira, como no quiero, no quiero utilizar SPAs en Ruby on Rails, lo que vamos a hacer es sacar esto, que se llama Turbo, ¿vale? Turbo, que te dice y te promete la velocidad de las Single Page Applications sin necesidad de escribir JavaScript, ¿no?
Y entonces, está muy bien. La idea es bastante interesante. No hay ningún problema, ¿no? Es una técnica que lo que te hace es acelerar los links y, dependiendo del contexto, pues te carga un link y otro, ¿no?
Te hace como una precarga. Está súper bien. Es una librería muy amada, muy querida, igual que Ruby on Rails, que también mucha gente la quiere.
¿Pero qué ha pasado? Que en la versión número 8 han quitado el soporte de TypeScript. O sea, ellos tenían el código, todo el código hecho con TypeScript.
Y el otro día, el 6 de septiembre, anunciaron la bomba. ¡La bomba! Y la bomba fue que eliminaban todo el código de TypeScript.
Y para que lo veáis, que esto no es broma, aquí podéis ver la PR que tienen en GitHub. En la PR podéis ver que, bueno, aquí hay algunos cambios.
Si vamos bajando, fijaos que aquí todo el TypeScript se lo han cargado. Se lo han cargado. ¡Qué raro, ¿no? O sea, es curioso. Es como todo lo contrario a lo que hace mucha gente, ¿no?
Mucha gente lo hace esto al revés. Es como que le están añadiendo tipos. Pues no, esta gente, como podéis ver, le han quitado todos, todos los tipos.
Todos los tipos. Todos, todos. O sea, es que esta PR es súper larga, súper larga. Bueno, vamos a ver la razón. Eso sería lo primero, ¿no?
Entender cuál es la razón, por qué. La verdad, David, David Heinemeyer, es un muy buen ingeniero. O sea, muchas veces tiene sus razones.
Y vamos a ver cuáles son las suyas, ¿eh? TypeScript ha sido un gran éxito para Microsoft y la verdad es que habrá mucha gente que esté disfrutando de JavaScript
teniendo estos tipos explícitos que pueden ser chequeados por un compilador. Pero yo nunca he sido un fan, ¿vale? Lo pone aquí.
Ni después de darle cinco minutos, ni después de darle cinco años. O sea, que ya veis por dónde va el asunto. El asunto es que David quiere destruir TypeScript.
Así que, o sea, es que el tío, el tío es un troll, dice. Así que es un gran placer anunciaros que vamos a quitar el soporte de TypeScript
en el próximo lanzamiento de Turbo 8. Es que la madre que lo parió, ¿eh? Porque podría decir, bueno, hemos decidido después de no sé qué,
de no sé cuánto, pero no. Los hechos es que me gusta JavaScript. Y esto es mi segundo lenguaje favorito después de Ruby.
Y claro, solo faltaba, que es el creador de Ruby on Rails. Sí, un distante segundo, pero un segundo que tampoco está nada mal.
Y no siempre ha sido el caso, porque el tema es que, bueno, JavaScript ha mejorado mucho y eso. Dice que todavía JavaScript no está preparado
para todas las cosas que se hacen en el server site, o sea, en el server site, en la parte del servidor.
Pero la verdad es que JavaScript ahora mismo es lo suficientemente capaz y ya no hay que compilarlo tanto.
Y TypeScript básicamente se pone en mi camino. Se pone en mi camino. Aparta, TypeScript, que te doy una cachetada.
Se pone en mi camino. No solo porque requiere un paso de compilación, sino porque, ojo, ojo, polutes, polutes,
poluciona, contamina el código. Lo contamina, ¿vale? Con tipos de gimnasia. O sea, que tienes que estar ahí como,
Dios, Dios, que tengo que poner este tipo en TypeScript. Ay, qué difícil. Y nunca he tenido tan poca,
o sea, y le añade muy poca felicidad a la experiencia de desarrollo. Y en cambio le da problemas, le añade problemas.
Está diciendo por aquí. Las cosas que deberían ser fáciles se convierten en difíciles y las cosas que son difíciles
se convierten en any. Esto la verdad que está gracioso. O sea, puedo estar no de acuerdo con él, pero está gracioso.
Y dice, no, gracias. No, gracias. Dice, bueno, esto no es para intentar convencer a nadie, ¿vale?
O sea, dice que, que bueno, que él ha hecho esto, que no me gusta, que no sé qué. Muchos programadores, pues oye,
le gustaban los tipos y otros, pues no. Y al final no hay un sitio correcto. O sea, no hay una decisión correcta 100%.
Esa es parte de la magia de la dicotomía entre JavaScript y TypeScript. Y le doy crédito absoluto a toda la gente
que le encanta a TypeScript realizando de que quieren, de que nunca jamás TypeScript va a superar a JavaScript.
Se ha dado cuenta que la gente, la gente de TypeScript, dice él, se han dado cuenta que nunca van a superar a JavaScript.
Pero bueno, esto es normal. Es muy difícil. A no ser que eventualmente los navegadores, que está por ver,
eventualmente los navegadores realmente le den soporte nativo a TypeScript, obviamente es muy difícil.
Eso es lo bueno. Pero yo creo que esto no tiene mucho sentido, esto que hizo. O sea, esto me parece a mí
un poco de intentar tirar una piedra a no sé a quién. También es necesario porque, a diferencia de otros
lenguajes como Ruby, que son lenguajes que es un lenguaje que elegirías cuando lleva al server site,
JavaScript es un lenguaje obligatorio cuando estás en el lado del cliente. Y entonces, pues puedes compilar
en dialectos y tal, pero todavía tienes que aceptar el hecho de que el código que se ejecuta
significa ejecutar JavaScript. Y esto significa escribir libre de cualquier herramienta y libre
de cualquier tipado fuerte. Así que, adiós, adiós, adiós, TypeScript, adiós, adiós, adiós, adiós.
Dice que lleves tanta rigor y satisfacción a tu tribu. Y la verdad es que es muy despectivo el cabrón,
es muy despectivo porque ya vas a ver que siempre está hablando como tribu, como gang, como si fuesen una
mafia, como cosas así. Es muy despectivo el tío. La verdad, o sea, yo le puedo entender y puedo
empatizar y puedo comprar que él quiera quitar TypeScript, pero yo veo muy innecesario. Y eso que
este artículo, amigos, es antes, es antes de todo el jaleo que vamos a ver que se ha liado. O sea,
esto es su decisión. Y ya está pillando, ¿no? Está como atacando incluso, ¿no? Innecesariamente,
en mi opinión, ¿no? Dice que te lleves tanto rigor y satisfacción a tu tribu como al resto
le dejas la felicidad de seguir utilizando JavaScript en su glorioso espíritu como fue
originalmente diseñado. Libre de tipado fuerte.
Madre mía. La verdad, la verdad, no da muchas buenas razones. O sea, puede haber razones. Sí que dice,
ah, y los tipos, no sé qué, no sé cuánto. No sé cómo habrá sido en el equipo, ¿sabes? Cómo habrá sido
en el equipo. Pero, pero, yo he estado leyendo en Twitter, no sé si será verdad, que había mucha gente
de la empresa que esto se anunció en un All Hands, por ejemplo, esta noticia. Inside the All Hands
meeting que, mira, este es un artículo de 2021 que dice, dentro del All Hands, de la reunión
de All Hands que hicieron en esta empresa, la empresa de Basecamp, donde un tercio de la empresa
se fue. Un tercio de la empresa se fue después de una reunión. Pero que se fue, no que lo echaron,
que se fue. O sea, mi honesta asencia es que todo el mundo está cabreado ya de este comportamiento
Jason contra David. ¿Qué pasa? Que durante mucho tiempo siempre este hombre ha tenido
como un montón de problemas, ¿no? Un montón de problemas de que si, ah, es que nos atacan,
es que vamos en contra de esto, también de cultura tóxica, un montón de cosas, ¿no?
Y en ese momento, además, dijeron que iban a quitar 100% el trabajo en remoto. Pero, además,
las formas que lo dijeron no hubo. Sí, hubo temas ideológicos, políticos, ataques. O sea,
fue muy bestia. Fue muy, muy, muy bestia. Muy bestia, ¿no? Y entonces, pues uno de los
grandes culpables a la persona que están ahí como señalando es a él. Y desde entonces
no ha tenido muy buena prensa. ¿Por qué la gente que suelen ser genios tienen que ser
gilipollas? En serio, esa es una pregunta abierta. No lo digo con maldad. Pero casi todos
son como imbéciles. No digo 100% de la gente, pero suelen ser muy cabezones, muy estúpidos,
muy... No sé por qué. Sí, yo creo que Linus Torvalds, dentro de sus cosas, dentro de...
¿Cómo es? Yo sí que le he visto muchas veces saber ceder. O sea, le he visto mucho más
tener discusiones bastante acaloradas y ceder. Cosa que me parece bastante interesante.
David, por si no lo sabéis, también tuvo un percal, tuvo un drama con una keynote.
Madre mía. Tuvo un drama. No me acuerdo en qué... Hay una conferencia que es la RailsConf.
Y el tema es que en una RailsConf... Él es el creador de Rubio en Rails. Pues en una RailsConf,
la conferencia de Rubio en Rails, va el tío y le invitaron para que hiciese la keynote
junto con otra persona. O sea, era una co-keynote. Para que la keynote es la charla, la primera
charla que se hace y la más importante del evento, ¿no? Y entonces le invitaron, pero
con otra persona. Y el tío se rebotó, que dijo, ah, sí, pues no voy. Pues y que un poco
más y cancelan la conferencia y todo por todo lo que hizo. O sea, una cosa loca. O sea, que este
hombre, tiene un poquito de mala baba. Bueno, en la PR, aquí empieza el drama y aquí empieza el
salseo, amigos. Aquí quitaron TypeScript. Esta es la PR que hemos visto de quitar TypeScript. Y aquí,
ojo, que si os fijáis, esto, 145, ok, 773, 773 que estaban en contra. Dios, Dios. Bueno, hay gente
que estaba contenta, gente que no tanto, pero sobre todo mucha gente estaba desencantada. No estoy seguro
si quitar TypeScript es lo mejor. Para mí me ha ayudado un montón a contribuir y creo que tiene
mucho sentido a nivel de librería, de biblioteca, ¿no? La experiencia de desarrollo ha sido muy
genial para encontrar errores, ¿eh? Y bueno, creo que en algunas situaciones, ¿vale? Pues es un
problema, pero quitar los tipos, incluso, claro, es que no han hecho ni JSDoc, es que han quitado
los tipos al 100%. Es un paso atrás. Y bueno, aquí, o sea, aquí os podéis aburrir, ¿vale? Aquí podríamos estar
todo el día leyendo, ¿vale? Y ojo aquí, porque dice, DHH se ha metido aquí a tope. Ojo aquí,
se ha ganado. Pobrecillo. Dice, aquí puedo reconocer que TypeScript le puede a alguna gente
añadir algunas ventajas, pero en mis ojos los beneficios, esos beneficios son evidentes
de esta PR. El código no solo se lee mejor, sino que hemos liberado todas esas tener que poner
tipos tan difíciles, hacer tu código que se amolde a los tipos por la necesidad de
complacer al compilador de TypeScript. Ahora escribimos todo nuestro código de 37 signas,
que es la empresa, en puro JavaScript. Y eso es lo mismo para librerías internas. Y esto,
this is going to bring that in line. O sea, que va en esta línea, ¿no? Todo el amor y apreciación
a los contribuidores que prefieren TypeScript. O sea, el tío ahí intentando tender puentes,
tender puentes de que vamos a llevarnos bien. Pero este es uno de los debates donde los
argumentos no va a mover a ninguno de su posición fundamental. Así que yo no lo intentaría.
Pero tiene razón. Tiene razón. Ahí le voy a dar un punto. Le voy a dar un punto. A ver,
va muy sobrado. También es verdad que es su empresa. Una frase muy fea, muy fea que se dice
aquí en España es, esto es mi empresa y me la follo como quiero, ¿no? A ver, la verdad,
tiene sentido. Tiene sentido. Es su empresa. No le vas a convencer por más dislikes que tenga,
¿sabes? O sea, lo ha hecho porque le ha dado la gana. Yo creo que el problema que ha habido de todo
lo que ha pasado esta semana también es, oye, no tiene sentido darle tanto hate. O sea,
igual se ha hecho famoso esto por culpa tuya. Quiero decir, está bien que lo comentemos. Mira,
yo lo estoy comentando ahora. Pero tampoco hay que darle hate de qué idiota, no sé qué. Es que en
Twitter he visto cada cosa ahí. Y al final, pues se hace una bola, ¿no? Es el efecto
Streisand. Dices, no, esto está mal, esto está mal, esto está mal. Y al final lo que se está
haciendo es una bola muy bestia, muy bestia, ¿no? Y bueno, aquí fijaos todas las discusiones.
Mira, se han puesto hasta memes. Mira, un gato. O sea, me encanta porque esta persona ha dicho,
voy a poner un gato aquí. Se ha puesto un gato y punto. Bueno, los otros proyectos que han hecho lo
mismo no han sido tan llamativos. Bueno, pero también con Svelte, cuando Svelte pasó a JSDoc,
que fíjate que ni siquiera quitó. O sea, quitó TypeScript para JSDoc. Le mantuvo los tipos.
Pues también se lió. Un montón de gente se lió. Gente cabreada. O sea, un poquito de todo, ¿no?
Está bien porque aquí todo el rato se va viendo gente que sí, que no. Ya está. Ya lo han cerrado.
Dice, esta conversación has been locked as too hated. O sea, que en realidad estuve viendo esta frase
que pone, esta conversación ha sido borrada. Pues se ve que pone aquí que esta conversación,
ahí hay un mensaje oculto. No sé si la habéis podido ver, pero pone que esta conversación,
ahora os voy a enseñar. Si tocáis unas teclas, os sale esto. Esta conversación porque me da asco
TypeScript y punto. Too hated, unlimited, too collaborative. Se ve que esta es la frase real
en la que, por la razón que cerraron esto. Si le dais a una combinación de teclas,
os sale el mensaje original, ¿vale? Es el mensaje original por el que han cerrado
las conversaciones. Es que me encanta porque ha dicho, oye, que yo cierro esto,
que me importa un pepino lo que me estáis comentando. Que ya está, que no me rayéis
y ya está, que ya está. Pero obviamente, obviamente esto no podía quedar así. No podía
quedar así porque, porque hay gente que la ha liado pardísima, como es el bueno de Teo.
Teo. El tema es que el tío este se ha metido aquí, obviamente. Se ha metido, pero a fuego.
Va el tío y hizo una PR, una PR que dice añadir TypeScript. El tío se ha metido aquí
una rayada, la madre que lo parió. O sea, Teo. Luego me dice que tiene burnout. Es que,
¿cómo no vas a tener burnout? Si has escrito aquí una tesis, tío. Una tesis para algo que
ni te va ni te viene, porque esto obviamente no va a cambiar. Y se pone aquí que JavaScript
ha sido un gran... Encima se pone ahí a meter el dedo en el ojete. Porque dice que nada,
lo mejor es TypeScript, ¿vale? El hecho es que odio JavaScript. Y encima, si te pones a mirar
todo el texto, que esto es lo interesante, en realidad encima el texto este, en realidad
todo este texto es el mismo artículo de David. Es el mismo artículo de David. Es este artículo
que dice aquí. El mismo, pero cambiando TypeScript por JavaScript. O sea, que dices, tío,
qué cabrón que eres. Eres muy cabrón. Y encima podéis verlo por esto. Porque es el
mismo artículo. Es el mismo artículo. Ha comprado un dominio que es evilhey.com, ¿vale?
Y es que se ha copiado la página y todo. Se ha copiado el diseño de la página y ha hecho
el mismo artículo, pero dándole la vuelta. Luego, luego que se tiene burnout, ¿sabes?
Es que, tío, ¿eh? Este es que es la leche. Bueno, total, que aquí la gente obviamente
le estaba dando apoyo. Otra gente sí, otra gente no, no sé qué. Ya la han cerrado porque
no nos importa la opinión. De hecho, mira, DHH está aquí, o sea, ahí diciéndome
cago en la leche. O sea, basta ya que os den por saco a todos. Que os den por saco
a todos. Al menos lo ha visto. O sea, está claro, ¿eh? O sea, al menos lo ha visto porque
ha sido él personalmente el que ha cerrado esto. O sea, madre mía, madre mía
cómo estaría de cabreado. Y lo mejor es que hay gente por ahí que le estaba corrigiendo
a Teo, le estaba corrigiendo la PR porque tenía cosas mal. Porque obviamente esto
lo único que ha hecho es un rollback, ¿no? Pero lo que ha hecho es un rollback, ¿ves?
Por aquí había gente diciéndole, ¿ves? Esto es innecesario porque no sé qué. O sea,
la gente está muy mal de lo suyo, Dios mío. Está muy mal de lo suyo. Pero, pero, tengo
que decir, ha habido cosas interesantes de esto. Tenemos esta de Nicolás Cezacas, que
dice, como alguien que ha sido, que fue atacado en línea durante días después de decir
que la reescritura de Slim no estaría en Taskley, puedo verificar que hay una facción
ProTypeScript bastante agresiva en línea. Y aquí os pregunto, amigos, ¿notáis, creéis
que existe una facción ProTypeScript que roza el terrorismo en Twitter? Hay gente que
dice que parece una secta, los cristalitos, los cristalitos de siempre. La madre no parió.
En Twitter hasta con ganchillo. ¿Por qué la gente nota las tecnologías como si fuese
algo tan personal? No sé, Ria, Cangular. A mí en YouTube me llega una de hate porque
me gusta Ria, que digo, pero la gente, pero ¿qué te pasa, amigo? Pero sal a la calle,
tómate una cerveza, no seas deporte. O pégate con una piedra. Pero, tío, ¿qué te pasa? Es que,
pero muy cabreados, ¿eh? Pues Ria que es una mierda y tú también porque Vue es lo mejor. Y dices,
joder, vale, tío, pues ya está. O gente que dice, ¿pero qué tienes en contra de Angular? Cuando a
mejor el vídeo es, crea un router con Ria. ¿Sabes qué? Dices, no he dicho nada, no he dicho nada.
¿Por qué me estás haciendo estas cosas? Pero la gente se enfada mucho, tío, se enfada,
¿eh? Eso es un todo. La gente defiende sus creencias a muerte. Sí, yo tengo una teoría. Tengo una
teoría, a ver si creéis que es cierta. De que la gente se lo toma como algo personal porque han
invertido tiempo. Y el tiempo, al final, queráis o no, es una de las cosas más valiosas que tenemos.
Entonces, tú inviertes tiempo en aprender o en dominar algo, como por ejemplo Ria. Imagínate que te pones
tiempo, ganas, dedicación, lo que sea, a Ria. Y de repente la gente empieza a hablar mal de Ria en
Twitter. Pues dices, pues no me da la gana. No me da la gana, te voy a destruir porque esto es parte
de mí, porque le he dedicado tiempo. Es la única explicación que yo le puedo dar, ¿eh? Porque otra
explicación no le puedo dar porque la gente obviamente no invierte en los lenguajes de
programación o tecnologías y por lo tanto, no sé. Dice Nicolás, necesitamos dejar de atacar a las
personas por sus opciones de lenguaje o framework. Es tonto. Estoy de acuerdo. O sea,
sinceramente, nunca hagas esto. Nunca hagas estas mierdas. Nunca, nunca taques a alguien porque
utilice, que lo he visto por desgracia, porque utilice Angular o porque utilice Ria. Deja que
la gente use lo que le salga de ahí abajo. ¿Qué más da? Si lo importante no es eso. O sea,
pero luego he leído otro tuit del que no estoy de acuerdo, no estoy muy de acuerdo y es como
todo lo contrario. Y es de Dan Auramov. A ver qué opináis. Si agregas TypeScript, te aplaudiré.
Si quitas TypeScript, te aplaudiré. Lo que importa es que estás cambiando el código,
no lo que hacen esas líneas de código. El cambio significa vida y que estás viviendo.
La verdad, por un momento parece una galleta de la fortuna que me he comido y ya ha salido
esto, ¿no? El cambio significa vida y eso significa que estás viviendo. Pues no estoy
de acuerdo, Dan. Lo siento. Lo siento porque el mensaje de primeras es bonito, de primeras
es bonito, pero no estoy de acuerdo. Y os voy a explicar por qué. Esto de lo que importa
es que estás cambiando el código, no lo que esas líneas de código hacen, esto no estoy
muy de acuerdo. Y os voy a explicar por qué. En programación, y seguro que lo habéis visto
alguna vez en vuestra empresa, si estáis trabajando y si no, lo habréis visto en algún sitio,
en programación, algo que a veces pasa es que la gente prefiere mantenerse ocupada que
no productiva, que son dos cosas diferentes. Una cosa es estar ocupado y otra cosa es ser
productivo. Y para estar ocupado, tú puedes estar ocupado 24 horas y haber sido productivo
solo dos horas. Y justamente la diferencia, la diferencia entre estas dos cosas viene en esta
frase de lo que importa es que estás cambiando código, no lo que hacen esas líneas de código.
Muchas veces, y esto lo he visto en las empresas así, así, así, así, así, que hay gente que dice
ah, pues yo me voy a poner a hacer un refactor y a lo mejor tenía que hacer una tarea que era
de una hora, dos horas. Pues es que he hecho un refactor, no sé qué, llevo 20 horas, he cambiado
todo el código, que no sé qué. Pues justamente esa persona ahora puede decir, bueno, es que lo
importante es que estoy cambiando código, no lo que ese código hacía, ¿sabes? No se trata de esto.
No se trata de ahora estar todos los días añadiendo TypeScript, quitando TypeScript y al día siguiente
añadir TypeScript solo porque así sabes que estás vivo. No van por ahí los tiros, ¿sabes?
Los tiros van de realmente que aportes valor, o sea, no de que te mantengas ocupado. Que no
significa que no hagas un refactor, a veces los refactors son necesarios. Pero lo que quiero
decir es que tiene que haber un valor en lo que haces, no simplemente mover código para arriba
y para abajo y ya está, y así sabes que estás vivo y ala, anda, ya está, te voy a aplaudir.
Bueno, no sé, es un poco rara. No he llegado a entender muy bien el mensaje de Dan, no sé
si iba con broma, con sorna, pero al menos así no sé, no me ha convencido, no me ha convencido
mucho.