Para principiantes
Después de leer esto
Entenderás por qué la programación no es un "estudio", sino una "experiencia". Y además, ya habrás ejecutado algunas líneas de código.
Parte 1. Ya sabemos cómo aprender un idioma
Nadie empezó enseñando gramática
¿Recuerdas las primeras palabras que escuchaste al nacer?
Es normal no recordarlas. Pero lo cierto es que, en aquel entonces, nadie te dijo algo como esto:
"La estructura básica de las oraciones en coreano es sujeto-objeto-verbo. Primero comprende este principio y luego intenta hablar".
Eso nunca sucedió.
Tu madre simplemente decía "mamá" y tu padre decía "papá". No explicaban el significado. No enseñaban reglas. Solo repetían. Cada uno a su manera, sin criterios ni gramática. Y así, un día, empezamos a hablar.
Con la programación pasa lo mismo.
Simplemente inténtalo: tu primer código
Mira el siguiente código. No intentes entenderlo. Solo presiona el botón Run.
print("Hello, World!")
assert "Hello" in "Hello, World!"¿Apareció Hello, World! en la pantalla?
¡Felicidades! Esto es esencialmente lo mismo que ocurrió cuando Tim Berners-Lee creó el primer sitio web del mundo en 1991. Le dijo a la computadora: "Muestra esto en la pantalla". Todos los programas, todas las aplicaciones y todos los sitios web del mundo comenzaron con esta única línea.
¿Es simple? Sí. Y este es solo el comienzo.
Saludando con el lenguaje de nuestro campo
Ahora, hagámoslo con algo que nos sea familiar. Simplemente presione.
dna = "ATGCGATCG"print(f"Secuencia: {dna}")print(f"Longitud: {len(dna)} bp")
assert len(dna) == 9Le dimos el nombre dna y guardamos dentro la secuencia "ATGCGATCG". len() es una regla para medir la longitud. Igual que medimos el tamaño de una banda en un gel, la computadora mide la longitud de una secuencia.
No pasa nada si hay partes que todavía no entiendes. Por ahora, basta con pensar: "Ah, esto se puede hacer" y seguir adelante.
La computadora es una calculadora, pero muy rápida
En el laboratorio, ¿sacan la calculadora para calcular las diluciones? La computadora es esa misma calculadora, solo que mucho más rápida.
stock = 10.0target = 2.0dilution_factor = stock / targetprint(f"Factor de dilución: {dilution_factor}×")print(f"Al diluir {dilution_factor}× una solución madre de 10 mg/mL, se obtienen {target} mg/mL")
assert dilution_factor == 5.0stock / target — Esto es todo. Es una división. Los informáticos ya han establecido los principios, y nosotros solo tenemos que aprovecharlos. Nuestro objetivo no es crear un nuevo lenguaje de programación, sino utilizar las herramientas existentes en nuestra investigación.
Procesamiento de múltiples muestras simultáneamente
Al igual que se coloca una muestra en cada pocillo de una placa de 96, también podemos entregarle varias al ordenador a la vez. Simplemente haga clic.
samples = ["muestra_A", "muestra_B", "muestra_C", "muestra_D"]
for sample in samples: print(f"{sample} → analizando...")
print(f"\n¡Procesamiento de {len(samples)} muestras completado!")
assert len(samples) == 4No importa si no sabes qué es for. Por ahora, basta con que sientas: "Ah, puedo ejecutar varios a la vez". Puedes consultar la sintaxis más adelante si te surge la duda; poco a poco, como si estuvieras consultando un diccionario.
Si le dices su nombre, te saludará.
name = "Ana"lab = "Laboratorio de Genómica"
print(f"¡Hola, {name}, del {lab}!")print("¡Te damos la bienvenida a DevBench!")print(f"Desde hoy, {name}, también eres una persona investigadora que programa.")
assert "Ana" in f"{name}"name. Cámbialo por tu propio nombre y vuelve a pulsarlo. La computadora te saludará.
Por qué este enfoque es el correcto
¿Cuántas veces has probado el código hasta ahora?
Probablemente la mayoría no lo hayan entendido. ¿Qué es print? ¿Qué es f""? ¿Qué es for? Eso es normal. De hecho, es lo correcto.
Lo que buscamos es este flujo:
- Simplemente sigue los pasos — No importa si no lo entiendes.
- Ejecútalo y observa el resultado — "Ah, esto funciona así".
- Olvídalo inmediatamente — Está bien. Olvidar es algo natural.
- Vuelve a intentarlo más tarde — "¿Eh? Creo que ya vi esto antes".
- Disfruta de la repetición — "¿No podría crear algo así también?".
- Busca información cuando sientas curiosidad — "¡Ah, con que era esto!".
No intentes comprender los principios desde el principio. No estamos repasando la historia de la computación desde sus inicios. Simplemente interactuamos con las cosas interesantes que tenemos delante y las asimilamos de forma natural.
Y esto no es solo una cuestión de actitud. Tiene una base científica.
Parte 2. Tu cerebro se encarga — La ciencia lo garantiza
A partir de ahora, hablaré un poco sobre mi campo de especialización. Como biotecnólogo, explicaré por qué nuestro cerebro tiene una estructura que permite que "solo con repetir sea suficiente".
La ley de Hebb: "Las neuronas que se activan juntas, se conectan"
Este es un principio descubierto en 1949 por el neuropsicólogo Donald Hebb.
El cerebro tiene aproximadamente 86 mil millones de neuronas (células nerviosas), que se comunican entre sí a través de conexiones llamadas sinapsis. La ley de Hebb establece lo siguiente:
"Neurons that fire together, wire together." Las neuronas que se activan juntas, se conectan.
Al ver la palabra print, presionar el teclado y ver el resultado en la pantalla, las neuronas de la corteza visual, la corteza motora y los circuitos de recompensa del cerebro se activan simultáneamente. Las sinapsis entre estas neuronas se vuelven físicamente más fuertes con la repetición. Aumentan los receptores AMPA en la membrana postsináptica y se produce la potenciación a largo plazo (LTP).
En pocas palabras, si repites, tu cerebro crea las conexiones por sí mismo. No necesitas esforzarte por entenderlo. Tu cerebro se encarga.
neurons = ["visual(ver print)", "motora(pulsar el teclado)", "recompensa(¡ver el resultado!)"]
for neuron in neurons: print(f"🧠 {neuron} → ¡activación!")
print("\n→ ¡Sinapsis reforzadas! La próxima vez será más rápido.")
assert len(neurons) == 3Memoria procedimental: el cuerpo recuerda
Existen dos tipos de memoria.
La memoria declarativa consiste en memorizar hechos, como "en Python, una variable es un espacio que almacena un valor". El hipocampo se encarga de ella y se olvida fácilmente.
La memoria procedimental es la que se forma a través de acciones repetitivas, como montar en bicicleta, pipetear y —programar—. Los ganglios basales y el cerebelo se encargan de ella y, una vez formada, no se olvida fácilmente.
Memorizar la sintaxis de programación en un libro de texto es memoria declarativa. Se olvida rápidamente. Pero si repites el proceso de escribir código, ejecutarlo, encontrar errores y corregirlos, eso se convierte en memoria procedimental. Como montar en bicicleta o pipetear: las manos lo recuerdan.
Por eso no enseñamos la teoría primero. Primero lo ponemos en práctica.
memory_types = { "memoria declarativa": {"ejemplo": "for crea un bucle", "región cerebral": "hipocampo", "duración": "se olvida fácilmente"}, "memoria procedimental": {"ejemplo": "escribir y ejecutar el código", "región cerebral": "ganglios basales+cerebelo", "duración": "perdura"},}
for name, info in memory_types.items(): print(f"\n📌 {name}") print(f" Ejemplo: {info['ejemplo']}") print(f" Región: {info['región cerebral']}") print(f" Característica: {info['duración']}")
assert "hipocampo" in memory_types["memoria declarativa"]["región cerebral"]assert "ganglios basales" in memory_types["memoria procedimental"]["región cerebral"]Mielinización: al principio lento, de repente se acelera
Las neuronas del cerebro tienen prolongaciones largas llamadas axones. Las señales eléctricas viajan a lo largo de estos axones. Al principio, el axón es como un cable pelado, por lo que la señal es lenta.
Sin embargo, al repetir la misma ruta, los oligodendrocitos comienzan a envolver el axón con un aislante llamado mielina. Esto es la mielinización.
A medida que la mielinización progresa, la velocidad de transmisión de la señal aumenta hasta 100 veces gracias a la conducción saltatoria.
Esto significa que:
- Al empezar a programar: tardar 3 minutos pensando en cómo escribir
print→ es normal - En la décima vez: "Ah, print... esto es para imprimir" → la mielina se está formando
- En la trigésima vez: la mano escribe
print()por instinto → mielinización completada
¿Han experimentado esa sensación de que, de repente, todo fluye sin esfuerzo? No es solo una impresión. Es que la mielina se ha formado lo suficiente y la señal es más rápida. Es un cambio físico.
stages = [ ("1.ª vez", 0.5, "conducción lenta"), ("10.ª vez", 5.0, "formación de mielina"), ("30.ª vez", 50.0, "¡comienza la conducción saltatoria!"),]
print("🧬 Simulación de mielinización\n")for trial, speed, status in stages: bar = "█" * int(speed) print(f" {trial:>6s} | {bar:<50s} | {speed:>5.1f} m/s — {status}")
assert stages[2][1] == 50.0En resumen, la ciencia lo dice:
- Ley de Hebb: La repetición hace que el cerebro establezca conexiones por sí solo.
- Memoria procedimental: El cuerpo aprende a través de la práctica directa.
- Mielinización: Al principio es lento, pero con la repetición se vuelve físicamente más rápido.
Estos tres puntos nos dicen una sola cosa:
No es necesario entenderlo. Solo hay que repetir. El cerebro se encarga.
Esto no es una cuestión de voluntad. Son cambios físicos medibles: aumenta la densidad de los receptores AMPA en las sinapsis, se fortalecen los circuitos procedimentales de los ganglios basales y se recubre el axón con mielina.
Bien, empecemos
Lo que vamos a hacer es esto:
- No vamos a estudiar la historia de la informática desde cero.
- No vamos a memorizar la sintaxis de los lenguajes de programación.
- Y mucho menos vamos a crear un nuevo lenguaje de programación.
Aprendemos a usar las herramientas existentes en nuestra investigación. Los ingenieros informáticos ya han establecido los principios; nosotros los aprovechamos. Es como poder realizar una PCR perfectamente sin conocer el diseño del circuito de la máquina de PCR.
Si no lo entiendes ahora, simplemente síguelo. No importa si lo olvidas inmediatamente después de verlo. Aunque no sepas qué es cada cosa, simplemente haz lo que se presenta aquí y piensa: "Ah... supongo que es así".
Con el tiempo, pensarás: "¿Espera, entonces no podría crear algo así?". Entonces podrás volver a consultarlo: "Ah, con esto me refería". Y así, poco a poco, irás progresando.
Este espacio es precisamente eso: un lugar donde no necesitas entender desde cero ni la programación ni la IA reciente. Es un espacio para asimilar las cosas de forma natural, tal como aprendimos a hablar por primera vez.
print("=" * 40)print(" 🧪 Te damos la bienvenida a DevBench")print(" No intentes entenderlo. Simplemente empieza.")print("=" * 40)
started = Trueassert started == TrueEn el siguiente apartado, abriremos la terminal. Verás que la pantalla negra no es algo intimidante.