20 grandes invenciones en la programación de computadoras
En una de las conversaciones que tuve con nuestro editor senior, me hicieron la pregunta: "¿Cómo programaron los primeros programadores?" Esto condujo a una discusión sobre Babbage y Ada Lovelace, al final de la cual me asignaron a investigue cómo comenzó todo, siendo los primeros en la historia de la informática.
Busqué en libros y sitios web y me encontré con muchas revelaciones: Babbage no es técnicamente el inventor de la computadora, FORTRAN definitivamente no era el primer lenguaje de programación de alto nivel y solíamos tener lápices ópticos para pantallas CRT (realmente).
También me sorprendió descubrir cómo las guerras esenciales contribuyeron al rápido progreso del desarrollo de computadoras, además de la contribución de muchas mujeres que nuestros libros de texto decidieron descuidar. Por lo tanto, para llenar los vacíos en la historia de las computadoras y los programas, he reunido 20 primicias en el mundo de la informática, desde bolas de boliche hasta la Segunda Guerra Mundial y todo lo que hay en el medio.
1. Primera computadora: "Motor de diferencia" (1821)
El "motor de diferencia" era una computadora mecánica propuesta que se usaría para generar tablas matemáticas. Encargado por el gobierno británico, Charles Babbage (también conocido como Padre de la computadora) comenzó a trabajar en él, pero debido a su alto costo de producción, la financiación se detuvo y la máquina nunca se completó .
2. Primer ordenador de propósito general: "Motor analítico" (1834)El "motor analítico" también era una computadora mecánica propuesta, cuya entrada se suponía que era una tarjeta perforada, con programas y datos perforados. Otra creación de Charles Babbage, esta máquina tampoco fue completada.
3. Primer programa de computadora: algoritmo para calcular los números de Bernoulli (1841 - 1842)Ada Lovelace (la primera programadora de computadoras del mundo) comenzó a traducir los registros del matemático italiano Luigi Menabrea en el motor analítico de Babbage en 1841. Durante la traducción se interesó en la máquina y dejó notas con su traducción. Una de las notas, nota G, contenía el algoritmo para calcular los números de Bernoulli por el motor analítico, considerado el primer programa de computadora.
4. Primera computadora programable de trabajo: Z3 (1941)Konrad Zuse (el Inventor de Computadoras) ya tenía una computadora mecánica en funcionamiento Z1 pero funcionaba solo unos pocos minutos a la vez. El uso de una tecnología diferente - relés, condujo a Z2 y finalmente a Z3. Z3 era una computadora electromagnética para la que el programa y los datos se almacenaban en cintas perforadas externas. Era un proyecto secreto del gobierno alemán y el Instituto Alemán de Investigación de Aeronaves lo utilizó. La máquina original fue destruida en el bombardeo de Berlín en 1943.
5. Primer Ordenador Electrónico: Atanasoff-Berry Computer (ABC) (1942)Creado por John Vincent Atanasoff y Clifford Berry, el así llamado Atanasoff-Berry Computer o ABC se utilizó para encontrar la solución para ecuaciones lineales simultáneas. Fue la primera computadora que usó binarios para representar interruptores de datos y electrónicos en lugar de mecánicos. Sin embargo, la computadora no fue programable.
6. Primera computadora electrónica programable: Coloso (1943)El coloso creado por Tommy Flowers, fue una máquina creada para ayudar a los británicos a descifrar los mensajes alemanes cifrados por el cifrado de Lorenz, en la Segunda Guerra Mundial. Fue programado por interruptores y enchufes electrónicos. Colossus trajo el tiempo para descifrar los mensajes encriptados de semanas a meras horas.
7. Primera computadora electrónica programable de propósito general: ENIAC (1946)Financiado por el Ejército de EE. UU., ENIAC o Electronic Numerical Integrator And Computer fue desarrollado en la Escuela de Ingeniería Eléctrica Moore de la Universidad de Pensilvania por John Mauchly y J. Presper Eckert. ENIAC tenía 150 pies de ancho y podía programarse para realizar operaciones complejas como bucles; la programación se realizó alterando sus interruptores y cables electrónicos. Utilizaba lectores de tarjetas para la entrada y perforaciones de tarjeta para la salida. Ayudó con los cálculos de la viabilidad de la primera bomba de hidrógeno del mundo.
8. Primera bola de seguimiento: (1946/1952)¿Por qué los dos años para la primera trackball? Permíteme explicarte.
El primer año fue el año otorgado por Ralph Benjamin, quien afirmó haber creado la primera trackball del mundo cuando estaba trabajando en un sistema de monitoreo para aviones de vuelo bajo en 1946. La invención que describió utilizó una bola para controlar las coordenadas XY. de un cursor en la pantalla. El diseño fue patentado en 1947, pero nunca fue lanzado porque se considera un "secreto militar". Los militares optaron por el joystick en su lugar.
El segundo contendiente de la primera rueda de desplazamiento del mundo, utilizado en el sistema DATAR de la Armada canadiense en 1952, fue inventado por Tom Cranston y compañía. Este diseño de trackball tenía una maqueta que utilizaba una bola de bolos canadiense hilada en "cojinetes de aire" (ver imagen a continuación).
9. Primera computadora del programa almacenado: SSEM (1948)Para superar las deficiencias de la memoria de línea de retardo, Frederic C. Williams y Tom Kilburn habían desarrollado el primer dispositivo de almacenamiento digital de acceso aleatorio basado en el CRT estándar. La SSEM ( Máquina Experimental a Pequeña Escala de Manchester) se usó para implementar ese dispositivo de almacenamiento para uso práctico. Los programas se ingresaron en forma binaria usando 32 conmutadores y su salida fue un CRT.
10. Primer lenguaje de programación de alto nivel: Plankalkül (1948)Aunque Konrad Zuse comenzó a trabajar en Plankalkül desde 1943, no fue hasta 1948 cuando publicó un artículo al respecto. No atrajo mucha atención desafortunadamente. Tomaría casi tres décadas más tarde para que se implementara un compilador, creado por Joachim Hohmann en una disertación.
11. First Assembler: "Pedidos iniciales" para EDSAC (1949)Assembler es un programa que convierte mnemónicos (bajo nivel) en representación numérica (código máquina). Los pedidos iniciales en EDSAC ( calculadora automática de almacenamiento de retraso electrónico ) fueron los primeros de dicho sistema. Se usó para ensamblar programas de la entrada de cinta de papel en la memoria y ejecutar la entrada. Los programas estaban en códigos mnemotécnicos en lugar de códigos de máquina, lo que hace que el "código inicial" sea el primer ensamblador al procesar un código simbólico de programa de bajo nivel en código máquina.
12. Primera computadora personal: "Simon" (1950)"Simon" de Edmund Berkeley fue la primera computadora digital asequible que pudo realizar cuatro operaciones: adición, negación, mayor que, y selección. La entrada fue en papel perforado, y el programa se ejecutó en cinta de papel. La única salida fue a través de cinco luces.
13. Primer compilador: A-0 para UNIVAC 1 (1952)Un compilador es un programa que convierte el lenguaje de alto nivel en código de máquina. El sistema A-0 era un programa creado por la legendaria Grace Hopper para convertir un programa especificado como una secuencia de subrutinas y argumentos en código máquina. Posteriormente, el A-0 se convirtió en A-2 y se lanzó a los clientes con su código fuente, lo que lo convierte posiblemente en el primer software de código abierto .
14. Primer código automático: Glennie's Autocode (1952)Un Autocode es un lenguaje de programación de alto nivel que usa un compilador. El primer autocódigo y su compilador aparecieron en la Universidad de Manchester para hacer que la programación de la máquina Mark 1 fuera más inteligible. Fue creado por Alick Glennie, de ahí el nombre Glennie's Autocode.
15. Primer ordenador con pantalla gráfica en tiempo real: AN / FSQ-7 de IBM (1951)AN / FSQ-7 se basó en una de las primeras computadoras que mostró salida en tiempo real, Whirlwind. Se convirtió en el salvavidas para el sistema de Defensa Aérea de los EE. UU. Conocido como Medio Ambiente Semiautomático (SAGE). Las computadoras mostraron pistas para los objetivos y mostraron automáticamente qué defensas estaban dentro del alcance. AN / FSQ-7 tenía 100 consolas de sistema; aquí hay una (imagen a continuación), la pantalla de situación OA-1008 (SD), con una pistola de luz utilizada para seleccionar objetivos en la pantalla para obtener más información.
16. Primer lenguaje de programación de alto nivel ampliamente utilizado: FORTRAN (1957)Si revisa los libros de texto, encontrará que FORTRAN aparece como el primer lenguaje de programación de alto nivel. Pensado por John W. Backus, a quien no le gustaba escribir programas y decidió crear un sistema de programación para ayudarlo a hacer el proceso mucho más fácil, el uso de FORTRAN redujo en gran medida la cantidad de instrucciones de programación requeridas para hacer funcionar una máquina. En 1963, ya estaban disponibles más de 40 compiladores de FORTRAN.
17. Primer ratón (1964)Mientras estaba sentado en una sesión de conferencia sobre gráficos por computadora, la idea del ratón llegó a Douglas Engelbart en 1964. Pensó en un dispositivo con un par de ruedas pequeñas (una gira horizontalmente la otra verticalmente) que se puede usar para mover una cursor en una pantalla. Un prototipo (ver más abajo) fue creado por su ingeniero principal, Bill English, pero tanto el inglés como Engelbart nunca recibieron regalías por el diseño porque, técnicamente, pertenecía a SRI, el empleador de Engelbert.
18. Primera computadora de escritorio comercial: Programma 101 (1965)También conocido como Perottina, Programma 101 fue la primera PC comercial del mundo. Podría realizar sumas, restas, multiplicaciones, divisiones, raíces cuadradas, valores absolutos y fracciones. Por todo lo que podía hacer, tenía un precio de $ 3, 200 (era un momento muy diferente) y logró vender 44, 000 unidades. Perottina fue inventada por Pier Giorgio Perotto y producida por Olivetti, un fabricante italiano.
19. Primera pantalla táctil (1965)No parece mucho, pero esta fue la primera pantalla táctil que el mundo haya conocido. Es un panel de pantalla táctil capacitivo, sin sensibilidad a la presión (hay contacto, o no hay contacto) y solo registra un único punto de contacto (en lugar de multitáctil). El concepto fue adoptado para su uso por los controladores de tránsito aéreo en el Reino Unido hasta la década de 1990.
20. Primer lenguaje de programación orientado a objetos: Simula (1967)Basado en el concepto de construcciones de clase de CAR Hoare, Ole-Johan Dahl y Kristen Nygaard actualizaron su lenguaje de programación "SIMULA I" con objetos, clases y subclases. Esto resultó en la creación de SIMULA 67 que se convirtió en el primer lenguaje de programación orientado a objetos.
Pensamientos finalesA pesar de que este post fue sobre lo que pudimos aprender sobre las muchas primicias en la historia de la informática, es difícil sumergirnos en la historia misma. Como resultado, al menos para mí, apreciamos más el trabajo hecho por generaciones antes que el nuestro, y podemos entender mejor qué impulsa los muchos cambios que dan forma al mundo en el que vivimos hoy.
Espero que esta publicación te inspire tanto como me inspiró. Comparta sus ideas sobre estas primicias, y si me perdí alguna, y estoy seguro de que lo hice, agréguelas en los comentarios.
Ahora lea: 40 personas que cambiaron Internet
Puede fijar sitios web a su cajón de aplicaciones Android pronto
En 2015, Google introdujo una función para Chrome para Android que permite a los usuarios fijar accesos directos de sitios web a su pantalla de inicio. En 2017, Google va un paso más allá ya que una próxima actualización de la versión beta de Chrome para Android también permitirá a los usuarios ubicar sitios web en el cajón de aplicaciones de Android.No todos
Ahora puede conversar en vivo con amigos a través del Live Stream de Facebook
La experiencia de Facebook Live está a punto de ser mucho más íntima, ya que Facebook está facilitando que los amigos miren o se unan a una transmisión en vivo .Comenzaría por echar un vistazo a la funcionalidad Live Chat With Friends . Con la introducción de esta función, los amigos que participan en un livestream en el que te encuentres se mostrarán en la esquina superior derecha de la pantalla . Al toca