A Brief and Fun History of Coding: the Beginnings

Wrens operating the 'Colossus' computer, 1943.'Colossus' computer, 1943. ¿Alguna vez has visto fotos de las primeras computadoras y te has preguntado cómo hemos llegado de eso al dispositivo súper dulce y de alta velocidad en el que estás leyendo este artículo?

¿No? Bueno, deberías, porque es genial e importante.

Al escribir sobre el desarrollo de cualquier cosa desde una perspectiva histórica, es difícil elegir un punto de partida sin ponerse demasiado filosófico bastante rápido (¿cómo llegamos aquí??). Si bien es tentador profundizar en una investigación torcida de la teoría de la información, por ahora, nos limitaremos a lo básico, que por supuesto comienza con Hollywood

Hollywood.

¿Recuerdas cuando el Doctor Strange interpretó el papel de Alan Turing en la película El juego de imitación? Si aún no la ha visto, la recomiendo encarecidamente, ya que es una historia fascinante, aunque trágica, dado el tratamiento que recibió una mente tan brillante. Pero relevante para esta narrativa es el papel que desempeñó en el desarrollo de la codificación.

Durante la Segunda Guerra Mundial, los británicos tenían la intención de romper los mensajes codificados que enviaban los alemanes. Reuniendo la mayoría de sus esfuerzos en un lugar llamado Bletchley Park, una finca de campo inglesa, se pusieron a trabajar para determinar la mejor manera de resolver el caso, por así decirlo.

Que su ciudad sea bombardeada repetidamente es aparentemente un gran motivador, ya que el equipo allí hizo rápidos avances en el área de la asistencia automatizada, lo que llevó a la creación de una máquina llamada «Coloso», posiblemente la primera computadora programable, electrónica y digital del mundo (ver la imagen de arriba). Turing fue un miembro clave del equipo allí y su trabajo fue directamente responsable de romper varios códigos alemanes que, según algunos historiadores, acortaron la guerra en al menos un par de años.

A partir de ahí, Turing pasó a desarrollar lo que se conocía como el ACE (Automatic Computing Engine), que se diferenció de sus predecesores como la primera máquina en emplear «instrucciones abreviadas de computadora», un lenguaje de programación.

Los mensajes codificados inspiraban la ruptura de código, que necesitaba velocidad y eficiencia; estas cualidades requerían máquinas, que requerían más velocidad y eficiencia, que requerían que se ejecutaran en un lenguaje abreviado que operara un programa, lo que significaba que necesitaban código….

Nació la informática moderna.

Completando el círculo de las necesidades de desarrollo y los avances en muy poco tiempo, la tecnología informática despegó de allí. Gran parte de esto se debió a uno de los individuos más inteligentes que han existido: el matemático, físico y erudito general John von Neumann, cuyo trabajo en el Proyecto Manhattan impulsó varias ideas que llevó adelante en el desarrollo algorítmico, la resolución de problemas con generadores de números pseudoaleatorios y un diseño de arquitectura de computadoras que todavía se usa hoy en día, y que influyó fuertemente en el desarrollo de la famosa máquina ENIAC y el IBM 704.

Podría pasar las siguientes 50.000 palabras escribiendo sobre von Neumann y todavía apenas arañar la superficie de su genio. Basta con decir que era muy inteligente, muy importante, y vale la pena leer más sobre varios niveles, pero especialmente sobre el tema del desarrollo computacional.

NNeumannlas teorías y aplicaciones prácticas de eumann estimularon un tremendo crecimiento en el área de la programación de computadoras, específicamente en el área de cómo funciona dentro de la arquitectura de una máquina. La forma en que se almacena y accede a la memoria se atribuye directamente a von Neumann, y ha permitido seguir numerosas direcciones de desarrollo desde su explicación en 1945.

A partir de ahí podemos hacer algunas conexiones interesantes en un método de tipo de separación de seis grados. Neumann también consultó sobre el proyecto EDVAC, cuyos diseñadores principales fueron J. Presper Eckert y John Mauchly. La Eckert-Mauchly Computer Corporation en 1949 contrató a una matemática llamada Grace Hopper como desarrolladora senior en el proyecto UNIVAC I, la mujer más responsable del lenguaje de programación conocido como COBOL—Common Business-Oriented Language.

Grace HopperCode Peloon ofrece una beca de Mujeres en Tecnología a una veterana en honor a Hopper. La beca cubre la matrícula completa de 1 15,500 para una veterana durante cada cohorte.

Su creencia era que la programación debería basarse principalmente en el idioma inglés, ya que era mucho más fácil de entender y trabajar para la mayoría de las personas. Aunque le tomó tres años de ser rechazada en Eckert-Mauchly, finalmente ganó a todos y lanzó lo que sería uno de los lenguajes de programación más influyentes en el desarrollo de software.

Lo que quizás es más fascinante de Grace, sin embargo, es que hizo todo esto mientras servía en las Reservas Navales, a las que se unió durante la Segunda Guerra Mundial (quería estar en servicio activo, pero era demasiado pequeña para los estándares de la Marina) y se retiró como Contraalmirante, lo que le permitió implementar muchas de sus ideas en las normas de práctica del Departamento de Defensa. Su insistencia en probar sistemas informáticos llevó a una convergencia de lenguajes de programación como COBOL y FORTRAN, desarrollados por John Backus, y los métodos para implementar estas pruebas finalmente formaron la base de la Oficina Nacional de Estándares, que finalmente pasó a llamarse Instituto Nacional de Estándares y Tecnología (NIST).

Algunos programadores argumentan que FORTRAN es la base de casi todos los lenguajes de programación utilizados hoy en día y que todo lo demás desciende de él. Aunque era más matemático que el método basado en inglés que Hopper había defendido con COBOL, la intención que Backus tenía con FORTRAN era crear algo decididamente más humano en su metodología de entrada que los lenguajes anteriores, permitiendo así a los usuarios desarrollar el suyo propio con más facilidad (un componente crucial para el desarrollo de código).

Backus, diseñador de IBM, es el autor del BNF, la Forma Normal de Backus, que se implementó para definir la sintaxis del lenguaje de codificación y cómo se expresan. Así que cuando ves un libro de texto o un manual que explica qué tipo de lenguaje de programación se está utilizando y cómo diferenciarlos, puedes agradecerle a John Backus (o enojarte con él, dependiendo de lo frustrado que te sientas con ese estilo de notación).

Lo que es interesante notar aquí es que la mayor parte de lo que acabas de leer (aparte de la creación del NIST) había sucedido en 1959.

En otras palabras, las bases de la programación moderna se habían establecido firmemente antes de que la televisión en color fuera algo común.

La próxima vez veremos los desarrollos desde entonces, lo que significan y cómo los chicos de Bill Gates y Steve Jobs trabajan en esta mezcla.

Greg Drobny es un ex Soldado de Infantería Aerotransportado, Jefe de Equipo de Psiquiatría, consultor político, bloguero profesional de mil y es Coordinador de Alcance Estudiantil de Code Platoon. Tiene una licenciatura en historia, una Maestría en Ciencias en psicología organizacional y actualmente está cursando una maestría en historia. Está casado y tiene cuatro hijos que lo mantienen más que un poco ocupado y le apasiona ayudar a los veteranos a encontrar su camino en la vida y desarrollar las habilidades necesarias para perseguir sus objetivos.

Suscribirse A Nuestro Boletín de noticias

Únase a nuestra lista de correo para recibir las últimas noticias y actualizaciones de nuestro equipo.

Gracias por suscribirse a nuestra lista de correo!



Deja una respuesta

Tu dirección de correo electrónico no será publicada.