¿Por qué se le dio ese nombre al lenguaje de programación C? ¿Y qué pasó con el lenguaje D?

Puede que no veas el lenguaje de programación C en todas partes, pero está sutilmente presente en todas partes. Al arrancar tu coche, es probable que su placa base use C para comunicarse con sus diversos componentes. Al usar tu teléfono, ya sea iOS o Android, el núcleo del sistema operativo está escrito en C. No puedes ignorar el lenguaje C.

¿Por qué se le dio ese nombre al lenguaje de programación C? ¿Y qué pasó con el lenguaje D?

Bueno. Mal juego de palabras. Pero ¿cuál es la historia detrás de la letra C? Cuando apareció el lenguaje de programación C, revolucionó el mundo. Pero ¿por qué se llamó C?

Érase una vez, en los Laboratorios Bell…

Mentes brillantes y presupuestos enormes

Un sistema PDP-11 70 que incluía dos unidades de cinta de nueve pistas, dos unidades de disco y más en una oficina

Para responder a esa pregunta, tendremos que retroceder en el tiempo y observar un edificio modesto pero extenso ubicado en Nueva Jersey. Ese edificio son los Laboratorios Bell. Fundados por Alexander Graham Bell (¿les suena el nombre?) y propiedad en aquel entonces de AT&T —que era, de hecho, un monopolio respaldado por el gobierno—, los Laboratorios Bell disfrutaban de un gran presupuesto y de la libertad de experimentar y experimentar con ideas.

Este enfoque no invasivo condujo a la invención del transistor (razón por la cual las computadoras ya no son del tamaño de una manzana), los láseres y las células solares, por nombrar solo algunos. El lenguaje de programación C también es producto de los legendarios Laboratorios Bell. Pero antes de C, existía B.

Había un idioma B

B para mejor BCPL

El panel de fuente original del PDP-11 70

En 1969, Ken Thompson, un investigador brillante y notablemente independiente de Bell Labs, trabajaba en un proyecto de sistema operativo enorme y de alto nivel llamado Multics. Cuando Bell Labs suspendió el proyecto Multics, Thompson se encontró con algo de tiempo libre y un problema muy específico: quería jugar a un juego que ella había escrito llamado Viaje espacial En una vieja y polvorienta computadora DEC PDP-7 que estaba en el pasillo.

Computadora DEC PDP-7

El PDP-7 fueLa imagen está a la derecha.Estaba obsoleto incluso para los estándares de la década de 1960. Tenía muy poca memoria (unos 8 kilobytes). Para ejecutar su juego en la PDP-7, Thompson creó un nuevo sistema operativo desde cero. Este fue el nacimiento de Unix. Sin embargo, escribir Unix en un lenguaje... código de ensamblaje El lenguaje crudo y primitivo que se comunica con las máquinas usando unos y ceros era una pesadilla. Thompson necesitaba un lenguaje de alto nivel, algo más cercano a la lógica humana.

En aquel entonces, el lenguaje de programación de alto nivel relevante era BCPL (Lenguaje de Programación Combinado Básico). BCPL era demasiado grande para el hardware estrecho del PDP-7, así que Thompson tomó la palabra "Basic" de BCPL, la despojó de sus elementos esenciales y creó un nuevo lenguaje. Lo llamó B. Era rápido, sencillo y el primer paso hacia la programación moderna.

Juego de viajes espaciales de 1969

Sin embargo, B estaba condenado al fracaso. Funcionó bien con PDP-7, pero cuando Bell Labs actualizó a la más avanzada PDP-11, un lenguaje sin tipo especificado como B ya no era suficiente. Era ineficiente y hacía que la nueva y costosa PDP-11 funcionara mucho más lento de lo que era capaz.

C se convirtió en la nueva B

B consiguió un ascenso

Ken Thompson y Dennis Ritchie están trabajando en Unix

Esto nos lleva a Dennis Ritchie, amigo íntimo y colaborador de Thompson. Ritchie se dio cuenta de que para que Unix sobreviviera en las máquinas más nuevas, el lenguaje en el que estaba escrito debía evolucionar, así que dedicó dos años a trabajar en B para solucionarlo.

Su innovación fue la introducción del Sistema de Tipos. Creó el tipo char para caracteres y el tipo int para enteros. Ahora, el programador podía indicarle a la computadora que una casilla era para un solo carácter, evitando así el desperdicio de espacio. Esto permitió que el programa fuera más fácil de usar para la máquina.

Ken Thompson y Dennis Ritchie, alrededor de 1973

Durante un tiempo, Ritchie y Thompson simplemente se refirieron a este proyecto como "Nueva B". Pero a medida que el idioma cobraba mayor relevancia y fuerza, se dieron cuenta de que merecía una identidad propia. Al ser el sucesor del idioma B, buscaron la siguiente letra del alfabeto y la llamaron C.

Luego, en 1973, Ritchie y Thompson reescribieron el núcleo del sistema operativo Unix en C. Antes de eso, los sistemas operativos siempre se escribían en lenguaje ensamblador porque todos sabían que los lenguajes de alto nivel eran demasiado lentos. C demostró que todos estaban equivocados. Era rápido, elegante y, lo más importante, portable.

…luego vino D

¿O que?

Panel frontal original para PDP 11 20

A finales de la década de 1970, C era el rey indiscutible. Pero con el tiempo, a medida que el software se volvía más complejo, empezó a mostrar signos de envejecimiento. Bjarne Stroustrup, otro investigador de Bell Labs, admiraba la velocidad de C, pero quería añadir un concepto llamado "programación orientada a objetos". En pocas palabras, quería permitir a los programadores recopilar datos e iniciar sesión en "objetos", como un objeto "usuario" con un nombre y una contraseña conocidos.

Bjarne Stroustrup

Cuando llegó el momento de Stroustrup (Míralo en su oficina a la izquierda.Tras nombrar su invento, el siguiente paso lógico habría sido D. Pero a la gente de Bell Labs le gustaban los juegos de palabras. Así que Maschetti, un colega de Stroustrop, sugirió C++. Para ellos, al menos, fue una genialidad. Sugería que el lenguaje era C, pero con una extensión. C era Pero mejor.

Esta elección de nombre fue tan atractiva que la posición D en la secuencia alfabética permaneció vacía durante casi veinte años. C++ se convirtió en el estándar para todo, desde videojuegos hasta navegadores web, y el mundo simplemente siguió adelante. Si no lo sabes, en C, para incrementar un número en uno, se usa un comando especial: ++Si tienes una variable x Y ella escribió x++Se convertirá en x + 1.

El lenguaje D ya existe.

Pero apareció décadas después.

Walter Bright, el creador del lenguaje de programación D

No fue hasta 2001 que el veterano ingeniero de conmutadores Walter Bright finalmente decidió reclamar el título. Bright había pasado años desarrollando herramientas de C++ y estaba frustrado por lo "extenso" e "inseguro" que era el lenguaje, ya que debía mantener su compatibilidad con el código heredado de la década de 1970.

Quería la potencia pura de C y las características organizativas de C++, pero con un diseño moderno, limpio e inquebrantable. Así, creó el lenguaje de programación D. D ofrecía una mejor gestión de memoria y funciones de seguridad que evitaban los errores que causan la pantalla azul de la muerte en el ordenador.

Pero, a pesar de sus logros, D se enfrentó a un problema clásico. Para cuando D llegó, el mundo ya lo había superado. Las empresas usaban Java y C#, y el mundo seguía firmemente anclado en C y C++. Unos años más tarde, surgió un lenguaje llamado Rust que priorizaba la integridad de la memoria (el mismo principio que D), y logró captar la atención del mundo tecnológico de una manera que D nunca logró, volviéndolo irrelevante.

Hoy en día, D es un lenguaje especializado muy respetado. Ya lo utilizan empresas como Netflix y eBay para tareas específicas de alto rendimiento. Es un lenguaje excelente, pero nunca llegó a ser el rey.

¿Existió un idioma A?

Sí, pero… no realmente

Bien. Ahora sabemos que C es C porque proviene de B. ¿Pero existió un idioma A anterior a B? La respuesta es sí, pero no de la forma que se podría pensar. Verás, no hubo un idioma A formal antes de estos idiomas. Sí, C se convirtió en C porque surgió después de B. Pero B se convirtió en B porque era la primera letra de BCPL, no porque surgiera después de A.

Portada del manual de idiomas ALGOL 1965

Sin embargo, si rastreamos el linaje correctamente, la historia comienza antes de Bell Labs. Mucho antes de B o C, existía ALGOL. ALGOL, abreviatura de Lenguaje Algorítmico, nació en 1958. No fue el producto de un solo hombre, sino de un comité de científicos europeos y estadounidenses que buscaban una forma universal de describir las operaciones matemáticas. Si buscamos al bisabuelo de la notación moderna —la verdadera "A" en la cima de la pirámide—, ese es ALGOL.

Se creó un lenguaje llamado CPL (Lenguaje de Programación Combinado) basado en las ideas de ALGOL, pero era demasiado complejo para las máquinas de la época. Esto dio lugar a una versión básica de CPL, llamada BCPL. Y así comienza nuestra historia en Bell Labs.

Ahora, en 2026, seguimos viviendo en la era de C. Incluso lenguajes nuevos y sofisticados como Python o JavaScript suelen ser interpretados por programas escritos en C. C sigue siendo la base. Un lenguaje nacido en un laboratorio de Nueva Jersey para ayudar a alguien a jugar un juego espacial en una computadora que era básicamente una calculadora gigante.

Ir al botón superior