Inglés para Devs: Mejora tu inglés, con Darwinglish
La industria tech habla en inglés y la IA lo está cambiando todo. En Inglés para Devs destripamos un término por episodio junto a developers con más de 20 años de experiencia en empresas de clase mundial. Esta temporada con Vicente Plata, Staff Engineer en Pinterest y xAI — alguien que literalmente construye herramientas de AI mientras hablamos.
No puedo con este concepto, no sé qué pensar, ya no entiendo. Mira, esta palabra a mí me trae muchos recuerdos. pero no tiene nada que ver con lo que estoy pensando hard code código duro, código difícil es que hard es duro es difícil, es imposible bueno no imposible pero si es complicado y no me entiendas mal yo hard code lo confundo, me acuerda de hardcore pero el hardcore metal hardcore metal era un tipo de música que escuchábamos los chavos en los 2000, ¿verdad? Bandas como Korn, Lembeski y todo eso. No sé por dónde estabas tú porque estabas risa y risa hace rato. Entonces, sí, era eso. Pero acá, ¿qué onda con Hardcore? A mí... lo que me da, este, entender es que es un código complicado, como bien dices, pero no sé, probablemente no sea así. ¿Qué onda? Es que, es que justo podría ser, podría ser un código complicado, pero tal vez no por las razones que piensas que es complicado. ¿Has escuchado, has escuchado este, el, el, ¿cómo, cómo es? No sé, ¿es el anglicismo? ¿Así se dice? El anglicismo. Anglicismo, sí. De cuando nos apañamos una, una palabra y decimos, ¿es que está jarcodeado? ¿Has ¿Has escuchado eso? Sí, por supuesto. Sí, está jarcodeado. Y como hay muchas, hay muchas, hay muchas palabras que adoptamos de otros idiomas, no nada más del inglés, pero así está plagado nuestro vocabulario y está padrísimo eso, ¿no? Tener como destellos de otras culturas. Pero acá, yo sí lo escucho mucho con los devs, que está jarcodeado y no sé que yo... me quedo así, ¿estará hecho difícil o cómo el código? No sé, platico. Es que justo fíjate, ahorita que estamos hablando de eso, siento que sí tiene un componente de que está difícil, pero otra vez, tal vez no por las razones que tú estás pensando o las razones más aparentes. Nosotros decimos, en el mundo del development, decimos que algo está hard-coded o hard-codeado, ¿no? Por favor, digan hard-coded. Está hard-coded o el hard-code básicamente hace referencia a cuando tú, cuando estás desarrollando un sistema, en vez de programar tu sistema para que acepte variables y sea flexible, le pones el valor por defecto en el código. Voy a poner un ejemplo súper, súper directo, güey. Imagínate que tú y yo estamos desarrollando una aplicación de red social, ¿no? Estamos desarrollando un Twitter o estamos desarrollando un Facebook. Y en este proceso de desarrollo, obviamente, está el concepto de usuarios. Un usuario puede publicar o puede hacer una publicación, puede enviar un tweet, ¿no? Tal vez, durante el proceso de desarrollo, tú y yo empezamos y decidimos que nuestro primer sprint... Ah, lo dices muy bien, ¿eh? ¿Con quién tomas inglés? Con Darwin English. Darwin ¿Cómo es tu Twitter? Darwin English. Darwin English. ¿Sabes por qué no le puse en español? Porque iba a decir Darwin English. Darwin el de las ingles, entonces mejor en inglés. Darwin English. Buenísimo. Entonces nosotros decidimos que obviamente lo más importante de nuestra aplicación es que la gente pueda publicar su tweet. Entonces vamos a enfocarnos en nuestro primer sprint. en el apartado o en los features que hacen que una persona pueda publicar un tweet. Ok. Vamos a poner... Voy a ir hablando más en términos de desarrollo de software. Dale, dale. Entonces, lo más importante es que la gente pueda publicar el tweet. Vamos a obviar ahorita el quién lo está publicando. No vamos a preocuparnos ahorita por quién lo va a publicar, sino porque pueda publicar. ¿Cómo vamos a hacer eso? Vamos a hardcodear o vamos a hacer hardcode del usuario. Ah, o sea, ¿solamente un usuario va a poder hacer esto? ¿A eso te refieres? Exacto. Porque ahora, por ejemplo, cuando tu usuario está hardcoded o cuando está hardcoded dentro del sistema, todos los tweets que se manden mientras no desarrollemos el sistema de cuentas de usuario van a venir por Darkwinglish. Ah, ya, ya, ya, ya. Oye, ¿este está como para hacer un video en YouTube cuando le entiende y yo me quedo. Y el sonido del grillito atrás, ¿verdad? O aquí, ahora está de moda en TikTok un trend que está como que... Me quedé. Pero sí que eches el concepto. Básicamente es algo que debería de ser variable en el sistema, como tu nombre de usuario. ¿Setearlo?
UNKNOWN
Sí, sí, sí.
SPEAKER_00
O sea, todo mundo puede mandar tweets, ¿no? Pero, pues obviamente cada tweet necesita o viene de un usuario diferente. Entonces, un sistema que tenga nombres de usuarios hardcodeados o hardcoded, pues en realidad todavía no es una red social. Entonces, ese concepto... Entonces, una duda que me surge aquí, porque estoy pensando en dos ejemplos, pero la primera es, ¿el hardcoded sería utilizado solamente en una etapa anterior al release? Es que son cosas diferentes, porque justo es ahí donde se puede poner como en partes diferentes de la disciplina del desarrollo de software, porque ahorita estamos hablando de nombres de usuario, ¿no? Ok. Y ahí va mi segunda duda. Por ejemplo, Twitter, no sé ahorita en cuánto van, pero cuando yo lo empecé a utilizar, eran 40 caracteres nada más. Creo que eran por 120, ¿no? Entonces, ¿podemos decir que el número de caracteres ahorita está hard-codeado, está hard-coded a 120? ¿Podríamos decir que sí? ¿A 280? Podríamos decir que sí. ¿Ya van en 280? No, pues ya hagan blogs, ¿no? O sea, ¿ya qué onda? O sea, podríamos decir que sí. Pero ahí te va. O sea, digo, nos podemos meter más como en temas de negocio. El concepto de hardcoded es una parte de tu negocio, como pueden ser nombres de usuario, como pueden ser justo este límite de caracteres, como puede ser cuántos caracteres puede tener un nombre de usuario. Todos esos valores pueden estar hardcodeados en tu sistema. ¿Cuál es la implicación de eso? Porque ahí es donde se pone interesante. No es que necesariamente esté mal que algo esté hardcoded o que algo esté hardcodeado. No necesariamente está mal. La implicación es de que si es una parte de tu negocio que cambia constantemente, cada que la tengas que cambiar, vas a tener que sacar una nueva versión de tu aplicación. ¡Oh! Oh, ok. ¿Sabes? Entonces, si tú... La implicación y lo difícil, lo crítico del hardcoding o del hardcode o de hardcodear cosas, es que si tú hardcodeas cosas o si tú haces hardcoding de cosas que cambian constantemente, entonces en realidad estás poniendo al equipo de desarrollo en una posición bastante precaria porque cada que cambie el negocio van a tener que hacer un nuevo release. Ah, ya. Y es ahí donde entramos en una discusión... de qué sí se debería dejar codear y qué no se debería dejar codear. Ok. Entonces, podríamos decir... Sí, dime, dime. Dime, dime, dime. Entonces, ¿siempre es como un tema debatible cuando no... entre los equipos? Oye, ¿esto debería ir hard codeado o esto no debería ir hard codeado? No debatible, pero sí como punto de discusión, vamos a decir. Ok. Y también nos metemos en cosas, digo, para no alargarnos, porque el concepto de hard coding abarca mucho, como te puedes dar cuenta. cuenta, pero incluso nos podemos meter a discusiones incluso en términos de seguridad, güey. Porque imagínate, si tú tienes una aplicación de banco en la que haces hardcoding de las claves que la aplicación necesita para conectarse a los servidores, alguien puede agarrar ese binario, decompilarlo, y como las claves están hardcodeadas en el binario, yo las puedo sacar. Sí, sí. Sí, ya, sí, perfecto. Entiendo... Y eso funciona en todas las partes de la disciplina del desarrollo de software, ¿no? Cosas que tengan que ver con seguridad, cosas que tengan que ver con aspectos del negocio, cosas que tengan que ver con cómo distribuimos las cosas. Se dice que es buena práctica que no estén hard-codeadas. Porque son secretos, ¿no? O sea, porque, güey, si tú pones ese código duro, tal cual código duro, si lo pones en la aplicación, entonces alguien más puede acceder a ese código. Oye, estaría buenísimo que la gente que nos escucha a través de las plataformas donde trepamos esto, nos dijera su opinión. ¿Qué creen que sí debería de ir hardcodeado y que nunca debería ir hardcodeado? Entonces, pues si ya saben, esto es un call to action. Es un call to action de dejarnos por ahí un comentario, ¿no? A ver, ¿qué debería ir hardcoded y qué no debería ir hardcoded? Exactamente. Eso es hardcoding. Podemos seguir hablando de esto y de sus implicaciones otros 15 minutos, pero ya explicamos qué es la palabra. Vámonos a lo que sigue. A lo que sigue. Bye bye. A otra cosa, mariposa.