Este libro se adentra en la Historia de una profesión tan nueva como la programación haciendo un seguimiento sobre:
Buscando algunas definiciones y acercándolas a lo que hoy en día entendemos como programación.
¿Lo hacemos por la máquina? ¿lo hacemos por mantener una forma de comunicar acciones computables?
Relata la vida y obra de las personas pioneras en la programación de alto nivel: sus problemas, sus logros, sus frustraciones, sus confrontaciones y mucho más.
Hablaremos de los inicios de la historia de los lenguajes de programación antes de los sistemas operativos, las bases de datos, la programación estructurada y la programación orientada a objetos.
Aquí puedes echar un vistazo a lo que puedes encontrar dentro del libro, capítulo a capítulo y algunos extractos si quieres lanzarte directamente a la lectura ahora mismo.
John von Neumann, Alan Turing y Alonzo Church comienzan a dar los primeros pasos en computación. Veremos cómo además de sus aportes a la computación aportan también en la elaboración de los primeros lenguajes y formas de programar.
Uno de los primeros lenguajes y más completos. Aunque es un lenguaje que no se implementó ni utilizó fue el lenguaje más antiguo pensado como de ámbito general. Konrad Zuse además de ser su creador, fue quien desarrollo los primeros computadores mecánicos.
ENIAC nos dejó muchos avances, muchos matemáticos y muchas mujeres comenzaron pasaron de computadores humanos a codificadores e incluso programadores. ENIAC marca un hito entre la generación de computadores mecánicos a computadores electrónicos. Comentamos la influencia de John von Neumann y opiniones de Haskell B. Curry.
En Reino Unido Kathleen Booth junto a su esposo comenzaron a trabajar con los computadores proporcionados por la Universidad. Mientras que su esposo se centro en el hardware y aplicaciones concretas de la computadora, la señora Booth implementó el primer ensamblador para facilitar la programación.
Howard Aiken es quizás el pionero en Estados Unidos en la construcción de computadores analógicos. Gracias a su empuje y su conexión con el ejército, su proyecto de máquina analógica basada en la máquina analítica de Charles Babbage pudo llevarse a cabo. Para realizar los cálculos necesarios para el Departamento de Defensa, su equipo desarrollo un lenguaje máquina conocido como CPC.
Aunque John Mauchly no fue el único implicado en el desarrollo de ENIAC y los lenguajes máquina para operar con la computadora, fue el hombre clave para que el desarrollo fuese posible. Además, en tiempos de guerra tuvo que intentar mantener a flote una empresa con un modelo de negocio casi inexistente hasta la fecha.
Veremos en este capítulo las asociaciones que sustentaron los avances tecnológicos encargándose de mantener a cuantos más científicos conectados y compartiendo conocimiento como fuese posible.
Comenzamos a ver movimiento en Europa influenciado por Zuse. Esta vez en Suiza. La creación del Instituto de Matemáticas Aplicadas en el ETH de Zúrich.
Después de separarse de Howard Aiken, Grace Hopper comenzó su nueva andadura con Rand Corporation donde se encontró con Betty Holberton y juntas idearon el primer compilador. Recorremos esos primeros compiladores y sus problemáticas.
Revisamos esta prolífica línea de lenguajes desarrollados en Reino Unido, desde el primer Gleenie Autocode hasta Mercury Autocode que fue finalmente destituido por FORTRAN. Este lenguaje tuvo muchos detractores pero también mucha influencia tanto en sus usuarios como en otros lenguajes que vinieron después como Dartmouth BASIC o ALGOL.
Este proyecto influenció el avance al siguiente nivel de muchos compiladores y lenguajes de programación así como impactó en el avance del hardware. Algunos de sus componentes se involucraron más tarde en el desarrollo de otros lenguajes de programación como el caso de Alan Perlis. Echamos un vistazo a sus hitos.
No hay mucha información de este lenguaje ni su impacto en otros lenguajes, pero gracias a su presentación en la Western Joint Computer Conference de San Francisco en 1956 pudo quedar constancia de este lenguaje de programación desarrollado por Mandalay Grems y la empresa Boeing.
En IBM comenzaron a unirse al desarrollo de lenguajes de programación en 1953. John W. Backus fue el encargado del desarrollo de este primer lenguaje.
Después de Speedcoding, John W. Backus tomó como desafío el desarrollo de un verdadero lenguaje de programación y compilador que ayudase realmente a los programadores a librarse de escribir en código máquina. Su apuesta fue muy ambiciosa, arriesgada y muy criticada, pero gracias a él FORTRAN fue creado.
Echamos un vistazo a Australia, allí Charles H. Hamblin comenzó a emplear los computadores y para facilitar su uso creó GEORGE, un lenguaje de programación muy fácil que introdujo elementos tan familiares hoy en día como la notación polaca inversa.
A través del trabajo de Herbert A. Simon, Allan Newell y John Clifford “Cliff” Shaw. Entre los tres comenzaron a desarrollar programas que pudiesen ayudarles a tomar decisiones razonadas. A Simon se le considera por todas sus obras publicadas al respecto el padre de la Inteligencia Artificial y IPL fue el primer lenguaje en este campo.
En 1955 las asociaciones GAMM y ACM tuvieron su primer contacto y tras iniciativas paralelas llegaron al acuerdo de formar un comité para desarrollar un único lenguaje para uso en investigaciones, publicaciones e implementaciones. Este lenguaje fue ALGOL 58.
Uno de los lenguajes más empleados en el sector bancario y que aún cuenta con millones de líneas en ejecución en nuestros días. COBOL surgió como una necesidad por parte de un comité de empresas, usuarios y organismos gubernamentales que necesitaban un lenguaje fácil para cubrir sus necesidades. Hopper encabezó su desarrollo.
En 1957, IBM trabajó en un proyecto secreto con el gobierno de los Estados Unidos para proporcionar una máquina y un lenguaje para implementar la lógica necesaria. Frances Allen fue contratada y tras aprender de Backus y FORTRAN todo lo necesario se embarcó en cumplir con la tarea de proporcionar un lenguaje adaptado a las necesidades del cliente.
Hacemos de nuevo repaso al final de la década de los 50 y sus avances y actores en resumen.
* eBook incluye las versiones PDF y ePUB
Si tienes preguntaso te solo quieres decir hola, contáctanos. Quizás algunas de tus preguntas puedan ser respondidas en la sección de preguntas de uso frecuente.
No. Ese no es el objetivo del libro. El objetivo del libro es transmitir las necesidades y problemas del momento, las personas que lo iniciaron todo, qué hicieron, cómo lo hicieron y sobre todo el por qué lo hicieron. Intenta ser una lectura narrativa pero con algunos detalles técnicos.
Conocer nuestro pasado nos ayuda a entender nuestro presente y modelar mejor nuestro futuro. Las décadas tratadas en el libro ocurrieron hace 80 y 70 años y aún así guardan mucha relación con temáticas que aún siguen ocurriendo en nuestro sector:
Aún no teniendo una utilidad práctica en nuestro trabajo, considero necesario este trasfondo cultural y el conocimiento de los pioneros de nuestra profesión.
Este libro ha sido escrito pensando en la Historia detrás de los Lenguajes de Programación y aunque muestra algunos detalles técnicos, estos no son demasiado profundos y se explican todos tanto en el glosario como durante la explicación. No obstante, la narrativa se centra en los personajes y cómo llegaron a realizar su obra. Así que sí. Este libro puede ser para ti si te gusta la Historia y sientes curiosidad sobre el origne de los lenguajes de programación.