Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Década de los 40: primeras computadoras y lenguajes ensambladores

14/21
Recursos

Aportes 16

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

De hecho, si nos vamos más allá, la primera computadora no fue ninguna máquina, las primeras computadoras eran humanos, las primeras computadoras eran mujeres que hacían sus cálculos a manos 👀
.

.
Aunque claro, si hablamos de máquinas, ya todos sabemos la historia, desde computadoras enormes que trabajaban con tarjetas perforadas hasta lo que tenemos hoy en día 😄

El Curso de Introducción al Desarrollo de Lenguajes de Programación cuenta de manera brutal la historia de los intérpretes, compiladores y lenguajes de programación más importantes en la historia.

Hola Platzinauta. 👋
Te comparto mis apuntes para que #NuncaParesDeAprender. 👀✍

Historia de algunos lenguajes de programación.

Década de los 40: primeras computadoras y lenguajes ensambladores.

La primer computadora no fue una maquina abstracta, eso es un concepto teórico, sin embargo, sabíamos que las computadoras épocas atrás, tenían tamaños enormes, ocupaban canchas de tennis, trabajaban con switches.

Hay distintos criterios para definir cuál fue la primer computadora y algunos autores mencionan que fue la EDSAC. Sus características:

  • Electrónica y digital.
  • Realiza 4 operaciones básicas.
  • Es programable.
  • Almacena programas y datos.

Las precursoras

Carecían de herramientas lingüísticas para ser programadas al nivel de la EDSAC.

Iniciaron con código máquina, llamados first-generation languages (1GL)

Lenguajes ensambladores

  • Representaciones simbólicas del lenguaje máquina.
  • Un programa “ensamblador” traduce las instrucciones.
  • Cada maquina tenía su propio lenguaje, había nula portabilidad.
  • Son llamados second-generation languages (2GL)

En esta clase del curso de Introducción al Pensamiento Computacional con Python se hace un lindo recorrido por la historia de los cómputos.
https://platzi.com/clases/1764-python-cs/25228-introduccion-al-computo/

"En el principio Turing creó la Máquina.

Y la Máquina era enrevesada y artificiosa, existiendo solamente en teoría. Y von Neuman miró hacia la Máquina, y vió que era enrevesada. Él dividió la máquina en dos Abstracciones, el Dato y el Código, y los dos eran una misma Arquitectura. Este es un gran Misterio, y el principio de la sabiduría Y von Neumann habló a la Arquitectura, y la bendijo diciendo: "Sal y reprodúcete, intercambiando libremente datos y código, y puebla la tierra con todo tipo de dispositivos. Y así fué hecho, y era bueno. La Arquitectura prosperó y fué realizada en hardware y software. Y pobló la tierra con muchos Sistemas"
Fragmento del Evangelio de Tux 2005

Tarjeta Perforada

No sé ustedes, pero esa chaqueta con logos está fenomenal

Decada de los 40: primeras computadoras y lenguajes ensambladores

  • Tenían tamaños gigantes (varias canchas de tenis)
  • Tenían switches
  • Había decenas de miles de combinaciones para reemplazar un solo cable

EDSAC
Fue la primera computadora que cumplió las siguientes características:

  • Electrónica y digital
  • Realizaba las 4 operaciones básicas aritméticas
  • Programable
  • Almacenaba programas y datos (ya implementaba algunas ideas de Von Neumann)

Precursoras (ENIAC, MARK I)

  • Carecían de herramientas lingüísticas para ser programadas al nivel de la EDSAC
  • Iniciaron con código máquina, se les llama 1GL o first generation languages

Lenguajes ensambladores

  • Representaciones simbólicas del lenguaje máquina
  • Un programa traductor de las instrucciones
  • Al principio cada fabricante usaba su propio ensamblador, lo que hacía imposible la portabilidad
  • Se les conoce como 2GL o second generation languages
  • Los primeros dispositivos fueron las tarjetas perforadas

1801 El primer lenguaje de programación
Joseph Marie Jacquard fue el inventor del telar programable. Este inventor francés es el responsable de la programación. No es el inventor de la misma, ya que las cosas han cambiado mucho desde entonces, pero creó el primer sistema de instrucciones para un ‘‘computador’’. La máquina del telar de Jacquard, creada en 1801, utilizaba los orificios en tarjetas perforadas para representar los movimientos de un brazo de la máquina de tejer, con el objetivo de generar patrones decorativos automáticamente. sus tarjetas programables se introducían en un telar que leía el código, las instrucciones, de dichas tarjetas y automatizaba procesos. Esto permitió que cualquiera con el telar y las tarjetas perforadas crearan estos diseños sin ser expertos en la materia. este fue el primer lenguaje de programación, ya que estas tarjetas perforadas se utilizaron en las primeras máquinas computacionales creadas por Charles Babbage, y posteriormente por los primeros ordenadores.

1842 El primer lenguaje de programación, el de Ada Lovelace
Durante un período de nueve meses entre 1842 y 1843, Ada Lovelace tradujo las memorias del matemático italiano Luigi Menabrea acerca de la nueva máquina propuesta por Charles Babbage, la Máquina Analítica. Con estos escritos, ella añadió unas notas en las cuales especificaba en detalle un método para calcular los números de Bernoulli con esta máquina. mientras lo hacía, creó un lenguaje de programación a mano para calcular la serie de números de Bernoulli con la máquina de Babbage. la primera programadora de computadoras fue AdaByron, condesa de Lovelace. llegó a trabajar con Charles Babbage, mientras estese concentraba en diseñar el hardware de la máquina analítica, una calculadora mecánica que fue diseñada para realizar cálculos complejos. Por esta relación con Babbage, Ada Byron se convirtió en la primera persona en desarrollar un conjunto de instrucciones para la máquina analítica de Babbage, que luego se llamó programa de computadora. Ada nunca pudo ver funcionar un programa en una computadora, ya que faltarían todavía más de un siglo para que estas se construyeran por primera vez. Con el tiempo, el énfasis paso de hacer las instrucciones lo suficientemente simples para que la computadora entendiera, a hacerlas lo suficientemente parecida a la lengua hablada para que las personas lo pudieran escribir y fueran ejecutados por una computadora.

1890 Hollerith codificó los datos del censo en tarjetas perforadas.
Herman Hollerith se percató de que podía codificar la información en tarjetas perforadas cuando observó a los conductores de trenes que identificaban a los pasajeros según el orificio que hacían en su respectivo ticket. Los primeros códigos de computadora estaban especializados según sus aplicaciones.

1900 los cálculos numéricos estaban basados en los números decimales.
se dieron cuenta de que la lógica podía ser representada con números, no sólo con palabras. Alonzo Church fue capaz de expresar el cálculo lambda a través de fórmulas.

1936 Alan Turing
Turing revolucionó la computación con su Máquina de Turing. Se trata de una máquina que demostraba que, con un algoritmo, podían resolver cualquier problema matemático. Si había un algoritmo, la máquina podía resolver el problema. La máquina de Turing estableció las bases para almacenar programas como datos en la arquitectura de von Neuman de una computadora. A diferencia del cálculo lambda, el código de Turing no serviría satisfactoriamente como base para lenguajes de más alto nivel- su principal uso es en el análisis riguroso en la complejidad algorítmica.

El futuro será maravilloso!

🤔 Los primeros computadores electrónicos se programaban directamente usando el conjunto de instrucciones del procesador, en código máquina.

1946: en la Universidad de Pensilvania se pone en funcionamiento la ENIAC (Electronic Numerical Integrator And Calculator), que funcionaba a válvulas y fue la primera computadora electrónica de propósito general.

a primera generación de computadoras eran usualmente construidas a mano usando circuitos que contenían relés y tubos de vacío, y a menudo usaron tarjetas perforadas (punched cards) o cinta de papel perforado (punched paper tape) para la entrada de datos [input] y como medio de almacenamiento principal (no volátil).

1940 computadoras modernas, con alimentación eléctrica.
La velocidad y capacidad de memoria limitadas forzaron a los programadores a escribir programas, en lenguaje ensamblador muy afinados. la programación en lenguaje ensamblador requería de un gran esfuerzo intelectual y era muy propensa a errores. las restricciones de hardware definían el lenguaje. Las tarjetas perforadas permitían 80 columnas, pero algunas de estas serían utilizadas para una clasificación de cada tarjeta.
El uso del tambor magnético para la memoria implicaba que los programas informáticos tuvieran que estar intercalados con las rotaciones del tambor. Por lo tanto los programas eran muy dependientes del hardware.

1943 - Plankalkül (Respetad a Konrad), diseñado, pero sin implementar durante medio siglo
1946: Konrad Zuse , un ingeniero Alemán mientras trabajaba en los Alpes de Bavaria, desarrolló el lenguaje Plankalkul, el cual, fue aplicado entre otras cosas para jugar al ajedrez. En 1948, Konrad Zuse publicó un artículo acerca de su lenguaje de programación Plankalkül. no fue implementado en su vida y sus contribuciones fueron aisladas de otros desarrollos.

1943 - se crea el sistema de codificación ENIAC.
Computadoras como ENIAC y EDVAC almacenaban información, tanto números como instrucciones de programa, como grupos de dígitos binarios 0 y 1. Un programa consistía en una serie de instrucciones escritas en este lenguaje de máquina. Cada instrucción se compone a menudo de dos partes, un grupo de bits (dígitos binarios) que representan la operación a realizar, y un grupo que representa el operando (la dirección de máquina de los datos a ser operados). 1949 - 1954 – una serie de conjuntos de instrucciones nemotécnicas como la de ENIAC, comenzando en 1949 con C-10 para BINAC (que luego evolucionaría en UNIVAC). Cada conjunto de instrucciones estaba destinado a un fabricante específico el lenguaje de máquina requería que se escribieran series muy largas de instrucciones numeradas y con los códigos binarios para los diferentes comandos que tenía el set de instrucción de la máquina. se debía llevar un registro de las direcciones de almacenamiento de los datos y las instrucciones. un solo programa, tomaba meses para escribirse Y no eran raro que tuvieran errores difíciles de encontrar.

Esta clase la rompio!

Interesante