Computadoras y Programación · ENES Juriquilla · UNAM
Módulo 1 · Sesión 2

De los bulbos
al código.

Cómo se reinventó la computadora cinco veces, y cómo evolucionó el lenguaje con el que le hablamos — del binario puro a la IA que ya programa contigo.
Por
Walter Rosales
Retomando desde la sesión 1
El cómo ya lo viste.
Analógico y digital Generaciones Lenguajes

Hoy toca el cuándo
y el con qué.

La sesión pasada viste piezas y planos: hardware, software, arquitecturas. Hoy vas a ver historia — cómo llegamos de un cuarto lleno de bulbos al chip que traes en el bolsillo, y cómo cambió la manera de hablarle a esa máquina para que hiciera algo útil.
Antes de las cinco generaciones

¿Qué tiene en común un termómetro de mercurio
con la computadora que guió el primer alunizaje?

Ninguno se parece al otro. Y sin embargo los dos son máquinas de cómputo — una analógica, una digital. La diferencia entre ambas es donde empieza todo lo que sigue.
1.3 — Computadoras analógicas y digitales

No es lo viejo
contra lo nuevo.

Analógico significa que la señal es continua — sube y baja como el mercurio en un termómetro, sin saltos entre un valor y el siguiente. Digital significa que esa señal se corta en pasos discretos — ceros y unos, sin nada entre medio. No es una diferencia de época: es una diferencia de cómo se representa la información.
Termómetro de mercurioDisco de vinilCámara de rollo → analógicos
1.3 — Cómo se ve la diferencia
SEÑAL ANALÓGICA — continua SEÑAL DIGITAL — 0 y 1, sin intermedios
Todo lo que ves, oyes y grabas empieza como una señal analógica del mundo real. Una computadora solo puede procesar la versión digital de esa señal: muestreada y redondeada a pasos discretos.
Reto en vivo · 60 segundos
A / D
Termómetro de mercurio, disco de vinil, reloj de pulsera digital, cámara de rollo, sensor de huella.
¿Cuáles son analógicos y cuáles digitales? La primera mano levantada con los cinco bien clasificados gana un punto para el marcador de hoy.
Respuesta

Analógicos: termómetro, disco de vinil, cámara de rollo.
Digitales: reloj de pulsera, sensor de huella.

La luz o el calor de los analógicos se registran de forma continua. Los digitales convierten todo a bits antes de procesarse.

De 1945 a hoy,
cinco reinvenciones.

Cada generación cambia la pieza física que hace el cómputo — y cada cambio la vuelve más pequeña, más rápida y más barata, por órdenes de magnitud. Ese es el patrón que vas a ver repetirse cinco veces.
1.4 — Generaciones de computadoras
1Generación
1940s – 1950s
ENIAC, 1945

Bulbos: la computadora ocupaba un cuarto entero.

Tubos de vacío controlaban el flujo de electricidad — el mismo principio que un foco viejo. El ENIAC (1945) tenía cerca de 18,000 bulbos, pesaba 27 toneladas y se recalentaba tanto que fallaba varias veces al día.
2Generación
Finales de 1950s – 1960s
Transistor original, Bell Labs, 1947

Mismo trabajo,
una fracción del tamaño.

Inventado en los Laboratorios Bell (1947), el transistor reemplazó al bulbo: controla electricidad sin el calor, el tamaño ni las fallas constantes. Las computadoras se volvieron confiables — y por primera vez, accesibles para universidades y empresas, no solo para el ejército.
3Generación
1960s – 1970s
Primer circuito integrado, Jack Kilby, 1958

Miles de transistores,
en una sola pieza de silicio.

El circuito integrado agrupa muchos transistores en un solo chip. Nace la miniaturización que hoy damos por sentada — y con ella, el camino directo hacia una sola pastilla capaz de hacer el trabajo completo de una CPU.
4Generación
1971 – hoy
Intel 4004, primer microprocesador comercial, 1971

Toda la CPU,
en un solo chip.

El Intel 4004 (1971) fue el primer microprocesador comercial: una computadora completa en un chip del tamaño de una uña. Es, técnicamente, la generación en la que seguimos — tu celular y tu laptop son microprocesadores mucho más rápidos que aquel primero.
5Generación
Actual — sin fecha de cierre

La generación que todavía
no termina de nombrarse.

No hay una sola tecnología definiéndola, como en las anteriores: hay varias corriendo en paralelo — procesadores diseñados específicamente para IA, cómputo paralelo masivo en la nube, y cómputo cuántico todavía en fase experimental, resolviendo problemas que ninguna computadora clásica puede tocar.
1.4 — Resumen visual
1945
Bulbos
1955
Transistores
1965
Circuitos integrados
1971
Microprocesadores
Hoy
IA, paralelo, cuántico
Cada salto no solo hizo la computadora más chica: la hizo más barata — y eso fue lo que la sacó del laboratorio y la metió en tu bolsillo.
Votación rápida · levanta la mano
A
El transistor
Sacó a la computadora del cuarto especializado.
B
El microprocesador
Metió la computadora en un bolsillo.
Vota primero — las dos respuestas tienen argumento: sin el transistor no existe el microprocesador, pero el microprocesador es el que de verdad democratizó el cómputo, al meterlo en un aparato que cabe en la mano de cualquiera.
1.5 — Lenguajes de programación

Un lenguaje de programación
es la traducción entre tu idea
y lo que la CPU puede ejecutar.

Tú piensas en pasos y en metas. La CPU solo entiende ceros y unos. Un lenguaje de programación es el puente entre ambos — y ese puente, igual que el hardware, ha tenido sus propias generaciones.
Lenguajes · primera generación

El primer lenguaje
no se escribía:
se cableaba.

Las primeras computadoras se programaban conectando cables físicamente, o alimentando código máquina directo — la misma secuencia binaria que viste la sesión pasada, sin ninguna capa entre tu instrucción y el hardware. Es posible programar así. También es brutalmente lento y propenso a errores.
01000011 01001111 01000100
COD
Lenguajes · segunda generación
Ensamblador
En vez de memorizar patrones binarios, el programador escribe mnemónicos que un programa llamado ensamblador traduce a código máquina. Sigue tan cerca del hardware que casi cada línea equivale a una sola instrucción del procesador — pero ya es legible por un humano.
MOVADDCMPJMP
Lenguajes · tercera generación

Dejaron de hablarle a un solo chip.

Un compilador (o un intérprete) se encarga de traducir; el programador se enfoca en el problema, no en el procesador. Tres hitos marcaron el camino:
FORTRAN · 1957, IBM
El primer lenguaje de alto nivel ampliamente adoptado, pensado para cálculo científico.
COBOL · 1959
Diseñado para negocios y gobierno. Buena parte de la banca mundial todavía corre sobre COBOL escrito hace décadas.
C · 1972, Bell Labs
Cerca del hardware para escribir sistemas operativos, legible para ser productivo. Casi todo lenguaje moderno le debe algo a su sintaxis.
Reto en vivo · 90 segundos
10110000 01100001
MOV AL, 61h
print("Hola mundo")
Ordena estos tres fragmentos del más cercano al hardware al más cercano a un humano. La primera mano levantada con el orden correcto gana un punto.
Respuesta

Código máquina → ensamblador → alto nivel.

Del más cercano al hardware (arriba) al más cercano a un humano (abajo). Los tres le piden exactamente lo mismo al procesador: imprimir un valor.
Lenguajes · después del alto nivel

No fue el final.
Fue el punto de partida para pensar distinto.

Mismo objetivo —decirle a la máquina qué hacer— con formas distintas de organizar la lógica: paso a paso, en objetos que se mandan mensajes, como funciones que no cambian estado, o describiendo el qué en vez del cómo.
ImperativoOrientado a objetosFuncionalDeclarativo
Lenguajes · paradigmas, con ejemplos reales

Cuatro formas distintas de organizar la misma lógica.

Imperativo · C, Pascal
Le dices a la máquina el paso a paso exacto: primero esto, luego aquello, cambiando el estado del programa en cada instrucción.
Orientado a objetos · Java, Python, C++
Organiza el código en objetos que combinan datos y comportamiento, y se comunican enviándose mensajes entre sí.
Funcional · Haskell, Clojure
Trata el cómputo como evaluar funciones matemáticas puras, evitando cambiar estado o mutar datos compartidos.
Declarativo · SQL, Prolog
Describes QUÉ resultado quieres, no CÓMO llegar a él — el motor decide los pasos.
Reto en vivo · el hola mundo
Ensamblador
C
C++
Java
Python
JavaScript
Haskell
Prolog
SQL
Elige uno y escribe (o grita) su "hola mundo". La primera respuesta correcta de cada lenguaje suma un punto para el marcador de hoy.
Marcador en vivo
PuestoNombreReto · Analógico/DigitalVotación · el saltoReto · Era del códigoReto · Hola mundoTotal
1
2
3
El mensaje de hoy

Cada generación —de hardware y de lenguaje— hace lo mismo: acerca lo que la máquina entiende a como tú ya piensas.

Del bulbo al microprocesador. Del binario al lenguaje natural que ya entienden los agentes de IA. La historia de la computación es la historia de borrar la distancia entre una idea humana y una instrucción que un chip puede ejecutar.
03
Sesión 3

Lo que viene:

— Cómo se piensa un problema antes de escribir una sola línea de código.
— Algoritmos, pseudocódigo y diagramas de flujo.
Explicación

Qué vimos en esta sesión

  • 1.3 · Analógico y digital. Analógico es señal continua; digital es señal cortada en pasos discretos (0 y 1). No es una diferencia de época, sino de representación de la información.
  • 1.4 · Generaciones de computadoras. Cinco reinvenciones del hardware: bulbos/tubos de vacío (1940s-50s), transistores (finales de 1950s-60s), circuitos integrados (1960s-70s), microprocesadores (1971-hoy) y la generación actual, sin una sola tecnología dominante — IA, cómputo paralelo y cómputo cuántico experimental.
  • 1.5 · Lenguajes de programación. Evolucionaron de código máquina (binario puro) a ensamblador (mnemónicos), a lenguajes de alto nivel (FORTRAN, COBOL, C como hitos), y luego a distintos paradigmas (imperativo, orientado a objetos, funcional, declarativo).
Verificable

Fuentes

Escuela Nacional de Estudios Superiores, Unidad Juriquilla — UNAM, Programa de estudios de la asignatura Computadoras y Programación, Plan de Estudios de la Licenciatura en Ingeniería en Computación, Sistema Escolarizado, Modalidad Presencial. Fuente del temario oficial: 1.3 Computadoras analógicas y digitales; 1.4 Generaciones de computadoras; 1.5 Lenguajes de programación.
Long, L. (1995). Introducción a las Computadoras y a los Sistemas de Información. México: Prentice Hall. Bibliografía complementaria del programa oficial, para los temas 1.3 y 1.4.
Pradip, D. (2014). Computer fundamentals and programming in C. New Delhi: Oxford University Press. Bibliografía complementaria del programa oficial, para el tema 1.5.
Tanenbaum, A. S., y Austin, T. (2013). Structured Computer Organization (6th ed.). Pearson. Referencia estándar para las generaciones de computadoras — tema 1.4 de esta sesión.
Sebesta, R. W. (2012). Concepts of Programming Languages (10th ed.). Addison-Wesley. Referencia estándar para la evolución de los lenguajes de programación — tema 1.5 de esta sesión.