Recursos iniciales
para
programar
¿Quién es este tipo llamado Javed?
Bismillah
Alex finalmente es presentado al tipo llamado Javed
Alex: Oye, hombre, ya es hora. Me dijiste en
que me presentarías a este tipo llamado Javed. Al principio no quería aprender a programar, pero acepté, y ahora, Yusuf, inshallah, cuéntame sobre los primeros pasos.
Yusuf: Sí, me encantaría. Mira, yo también tuve que aprender a programar. No nací sabiendo programar. El recurso principal que utilicé fue el libro de Javed.
Alex: Entonces, ¿aprendiste a programar a través de un libro y el autor se llama Javed?
Yusuf: Sí.
Alex: ¿Cuáles son sus cualificaciones, o simplemente lo elegiste porque te gustaba su nombre?
Yusuf: Este hombre tiene una trayectoria impresionante. Sin embargo, esta es solo la razón secundaria por la que disfruté aprender a programar con él.
Alex: Vamos paso a paso. Tal vez a ti no te importe mucho su carrera profesional, pero a mí sí, y creo que a mucha otra gente también.
Yusuf: Estudió en Austria. No Australia, sino Austria. No hay canguros en Austria y allí se habla alemán.
Alex: Entiendo y no me importa.
Yusuf: Luego se fue a Alemania a estudiar ingeniería mecánica. Mientras hacía su licenciatura, trabajó en un campo que realmente le gustaba. Se trataba de la optimización numérica de estructuras mecánicas. En los dos años que trabajó allí, básicamente solo programaba. Empezó programando en Java y luego, debido a las demandas, incluyó HTML, CSS y JavaScript.
Alex: Javed usa Java, ¿intentaste ser gracioso?
Yusuf: No, Java es el nombre de un lenguaje de programación. Además de trabajar para esa cátedra de ciencias, también fue tutor de varios deportes: kickboxing, correr, fútbol y algunos otros.
Alex: Entonces, ¿no está gordo?
Yusuf: No, no lo está. Para su tesis final de licenciatura, se fue a este fabricante de automóviles alemán, BMW. Escribió su tesis allí. Su trabajo consistía en matemáticas y código. Todas las cosas matemáticas tenían que ser implementadas como código.
Alex: No creo que conseguir algunas ecuaciones matemáticas sea tan difícil en los lenguajes de programación, ¿o estoy equivocado? Además, ¿usó Java o JavaScript para eso?
Yusuf: Hacer operaciones matemáticas simples en los lenguajes de programación no es tan difícil, tienes razón. Pero él desarrolló un software de optimización topológica. Escribió todo en Matlab, otro lenguaje de programación.
Alex: Le gusta cambiar entre lenguajes de programación, ¿verdad? La optimización topológica suena sofisticada, ¿qué es?
Yusuf: Javed lo describe de la siguiente manera: imagina que me das cualquier estructura física mecánica. Podría ser una silla, un coche, un avión o lo que sea. Ahora me dices que quieres sujetar un lado, un área o cualquier otra localidad. Básicamente, lo estás sosteniendo firmemente.
Alex: Bien, tengo un avión y lo estoy sosteniendo por las alas.
Yusuf: Luego, me dices dónde quieres aplicar fuerzas. Ahora el código de optimización tratará de generar agujeros en la estructura. Su objetivo es minimizar la conformidad mientras elimina material. O en otras palabras, ¿cómo puedo mantener la mayor rigidez posible y aún así eliminar algo de material, es decir, agregar agujeros en él?
Alex: Entonces, quieres mantener la rigidez y eliminar la mayor cantidad de material posible. ¿Es esto porque quieres que sea ligero?
Yusuf: Exactamente, también puedes decirle al optimizador cuánto material se le permite eliminar.
Alex: ¿Qué hizo después de su licenciatura?
Yusuf: Hizo un semestre más de maestría en ingeniería mecánica y luego completó su maestría en ingeniería aeroespacial. Mientras hacía esto, trabajó para el Centro Aeroespacial Alemán y en algunos puestos en otras cátedras de ciencias.
Alex: Cuando dices cátedras de ciencias, ¿quieres decir que trabajó en la universidad para un profesor?
Yusuf: Sí. En cada trabajo que tuvo, estaba programando. Programaba en Java, Python, Matlab, HTML, CSS, JS y no sé qué más. Además, para algunas de sus asignaturas en su maestría también tenía que programar.
Alex: ¿Te refieres a la tesis de maestría o a asignaturas reales, como aerodinámica de aviones?
Yusuf: Ambas cosas, por ejemplo, tenía que desarrollar un problema multidisciplinario y resolverlo. Durante su maestría, tuvo que escribir dos tesis. Adivina qué, ambas están completamente basadas en programación y matemáticas.
Alex: ¿Continuó con la optimización topológica en su tesis de maestría?
Yusuf: No, quería saber por qué todo el mundo hablaba tanto sobre el aprendizaje automático. Su tesis de maestría intentaba crear un modelo sustituto para hacer predicciones de campos de flujo. Básicamente, utilizó diferentes técnicas de aprendizaje automático para obtener un modelo de predicción.
Alex: Suena sofisticado. ¿Su trabajo está disponible públicamente?
Yusuf: Puedes leer la tesis en
Alex: Impresionante, creo que este tipo Javed realmente debe saber cosas sobre programación.
Yusuf: La historia continúa. Actualmente está haciendo su doctorado y para la mayoría de él, también tiene que programar. Por cierto, el campo de su doctorado es la aeroespacial.
Alex: ¿En qué exactamente?
Yusuf: Normalmente en las alas de los aviones, tienes queroseno. Ahora el objetivo es reemplazar el queroseno con hidrógeno. El hidrógeno se almacenará bajo muy alta presión en tubos. Además de usar hidrógeno, los tubos son una parte integral de la estructura del ala. Entonces, cada carga que soporta el ala, se transfiere directamente a los tanques de hidrógeno altamente presurizados.
Alex: Bien, me has convencido. El CV de este tipo realmente suena bien y creo que no me importaría aprender de él también.
Yusuf: Sí, su CV está bien, pero esta no es la razón por la que me gusta tanto.
Alex: ¿Entonces cuál es?
Yusuf: Él mantiene las cosas complicadas simples. Dice que, si realmente has entendido ideas complejas, puedes descomponerlas en partes más simples. Le gusta hablar con los humanos al mismo nivel. Debido a su experiencia en algunos campos, podría usar términos técnicos, complicar las cosas y así parecer inteligente.
Alex: Entonces básicamente estás diciendo que no le gusta alardear y no humilla a otros con parte de su experiencia.
Yusuf: Tal vez también eso, pero simplemente me gusta que mantenga las cosas simples y accesibles. La persona con la que habla no se sentirá estúpida. Incluso podría estar motivada a través de la conversación con él. Además, es una forma respetuosa o simplemente honesta de comunicarse.
Alex: No complicar las cosas en exceso tiene ciertamente un vínculo con la honestidad. Además, si realmente quieres enseñar algo, usarías un lenguaje con el que otros puedan identificarse. Creo que entiendo lo que estás tratando de decir. Déjame hacerte la pregunta probablemente más importante.
Yusuf: Claro, adelante.
Alex: Él es musulmán, ¿verdad?
Yusuf: Sí, lo es y me encanta que sea tan abierto al respecto. Le gusta llamarse a sí mismo un esclavo de Allah. Obviamente, los musulmanes somos esclavos de Allah, pero requiere de cierto valor decirlo abiertamente en un mundo donde los musulmanes tienen que tener miedo de ser abiertamente musulmanes.
Alex: Está bien, no me importa si es musulmán o no. Sin embargo, por tu descripción, este tipo parece ser transparente y no se presenta a sí mismo como el gurú sin errores.
Yusuf: La razón por la que me encanta que sea tan abiertamente musulmán es que, a través de eso, sabes quién es. Realmente se preocupa por la justicia, los derechos humanos, o en general por la moral. Otra cosa es que otros musulmanes también pueden motivarse a través de un musulmán confiado, para ser ellos mismos esclavos de Allah confiados.
Alex: Ya veo, quieres casarte con él. De todos modos, ¿es gracioso?
Yusuf: Más gracioso que tú.
Alex: ¿Quieres besar mi zapato? Javed, ese no es un nombre austríaco.
Yusuf: No, es de Pakistán.
Alex: En una de nuestras conversaciones anteriores también hablaste sobre el editor y otras herramientas que podrías necesitar. ¿Él también habla sobre estas cosas?
Yusuf: Sí. Porque tuvo que escribir código real él mismo, conoce el valor de las herramientas útiles. No quieres hacer clic aquí, allí y luego allí para hacer una cosa. Tampoco quieres escribir código redundante tú mismo. Tampoco quieres recibir mensajes de error una vez que ejecutas el código, cuando algunos de ellos podrían mencionarse directamente.
Alex: Solo entendí una cosa de tu críptica descripción. Él tuvo que programar en la vida real y por lo tanto te enseña en consecuencia. Quiero decir, no solo el lenguaje de programación, como tal vez en un curso universitario, sino la aplicación eficiente del mismo.
Yusuf: ¿Entendiste todo lo que dije y aún lo llamas críptico? ¿Debo consultar a un médico especial para ti?
Alex: Puedes llamarme Dr. Alex.
Mashallah, hagamos un resumen
Yusuf: Creo que te he dado suficiente de mi valioso tiempo. Ahora, Alex, dame un breve resumen de lo que hablamos para que pueda rezar Asar.
Alex: Valioso tiempo, tu métrica de medición está rota, si llamas valioso a tu tiempo. Este tipo Javed parece tener conocimiento sobre programación. Y como le gusta hablar con otras personas de manera digna, se esfuerza en desglosar ideas complejas en más simples.
Yusuf: Sí, además, yo mismo aprendí a programar con él. Debido a la experiencia que tuve con él, me gustaría enseñarte a programar usando su libro.
Alex: Finalmente, inshallah, también habla sobre herramientas para ser eficiente en la programación.
Yusuf: Sí, mashallah.