Early Programming: Crash Course Computer Science #10

Early Programming: Crash Course Computer Science #10

¿Cómo se cargan los programas en una computadora?

Introducción a la programación de computadoras

  • Carrie Anne da la bienvenida al curso y menciona que han discutido cómo funcionan las computadoras, incluyendo circuitos complejos y operaciones básicas.
  • Se introduce el concepto de programas informáticos y se señala que no se ha abordado cómo estos programas llegan a la memoria de una computadora.

Historia de la programación antes de las computadoras

  • La necesidad de programar máquinas existía antes del desarrollo de las computadoras, con ejemplos en la fabricación textil.
  • Joseph Marie Jacquard desarrolló un telar programable en 1801, utilizando tarjetas perforadas para definir patrones en tejidos.

Tarjetas perforadas y su evolución

  • Las tarjetas perforadas permitieron almacenar datos de manera económica y legible. Se usaron más tarde para tabular el censo estadounidense de 1890.
  • Cada tarjeta contenía información demográfica, donde un agujero específico representaba respuestas a preguntas del censo.

Limitaciones de las primeras máquinas tabuladoras

  • Las primeras máquinas no eran verdaderas computadoras ya que solo podían realizar una tarea: tabular datos.
  • A lo largo de 60 años, estas máquinas evolucionaron para realizar operaciones matemáticas simples pero seguían siendo fijas y no programables.

Avances en programación con paneles de control

  • Los paneles de control permitieron a los programadores conectar cables para pasar valores entre partes diferentes del dispositivo.
  • Aunque esto facilitó el uso, requería reconfigurar físicamente cada vez que se necesitaba ejecutar un programa diferente.

La llegada del almacenamiento electrónico

  • En la década de 1940, surgió la necesidad urgente por métodos más flexibles para programar debido al alto costo y tiempo requerido para cambiar programas.
  • Con el avance hacia memorias electrónicas, fue posible almacenar programas enteros dentro de la memoria informática.

Arquitectura von Neumann

  • La arquitectura von Neumann permitió unificar datos y programas en una sola memoria compartida, facilitando su acceso por parte del CPU.
  • Esta arquitectura incluye unidades lógicas aritméticas, registros de datos e instrucciones, así como memoria para almacenar tanto datos como instrucciones.

Primeras computadoras basadas en esta arquitectura

  • La primera computadora basada en esta arquitectura fue construida en 1948 por la Universidad de Manchester, conocida como "Baby".
  • Se destaca que incluso las computadoras modernas utilizan esta misma arquitectura.

Uso continuado de tarjetas perforadas

Historia de la Programación: Tarjetas Perforadas y Más

Introducción a las Tarjetas Perforadas

  • Las tarjetas perforadas se cargaban en un lector que las introducía en la memoria del ordenador de manera secuencial, formando un bloque grande. Una vez que los datos estaban en memoria, el ordenador ejecutaba el programa.
  • Si se caía el montón de tarjetas, reordenarlas podía llevar horas o incluso semanas. Se utilizaba una técnica llamada "striping" para marcar el orden correcto.

El Programa más Grande en Tarjetas Perforadas

  • El sistema de defensa aérea SAGE de la Fuerza Aérea de EE.UU., completado en 1955, fue el programa más grande registrado con 62,500 tarjetas perforadas, equivalente a aproximadamente 5 megabytes.
  • Las tarjetas perforadas no solo servían para introducir datos; también permitían extraer resultados al final del programa mediante la perforación de nuevas tarjetas.

Evolución hacia Cintas Perforadas y Almacenamiento Moderno

  • Un pariente cercano de las tarjetas perforadas es la cinta de papel perforada, que permite un flujo continuo de datos. Se mencionan otros medios modernos como discos duros y USB que se explorarán más adelante.

Programación a través de Paneles

  • Antes de 1980, otra forma común de programar era mediante paneles llenos de interruptores y botones. Estos paneles mostraban luces indicadoras para mostrar el estado del sistema.
  • Los ordenadores de los años 50 y 60 tenían consolas grandes donde era posible ingresar programas completos usando solo interruptores.

Computadoras Personales Tempranas

  • La primera computadora personal exitosa fue el Altair 8800, disponible preensamblada o como kit por $400 en 1975 (equivalente a $2,000 en 2017).
  • Para programar el Altair 8800, se usaban interruptores para ingresar códigos binarios directamente desde el panel frontal.

Desafíos en la Programación Temprana

  • La programación temprana requería conocimientos técnicos profundos sobre hardware y códigos operativos. Esto hacía que fuera difícil incluso para ingenieros profesionales aprovechar al máximo las computadoras.
Playlists: Computer Science
Video description

Since Joseph Marie Jacquard’s textile loom in 1801, there has been a demonstrated need to give our machines instructions. In the last few episodes, our instructions were already in our computer’s memory, but we need to talk about how they got there - this is the heart of programming. Today, we’re going to look at the history of programming and the innovations that brought us from punch cards and punch paper tape to plugboards and consoles of switches. These technologies will bring us to the mid 1970s and the start of home computing, but they had limitations, and what was really needed was an easier and more accessible way to write programs - programming languages. Which we’ll get to next week. Produced in collaboration with PBS Digital Studios: http://youtube.com/pbsdigitalstudios Want to know more about Carrie Anne? https://about.me/carrieannephilbin Want more Crash Course in person? We'll be at NerdCon: Nerdfighteria in Boston on February 25th and 26th! For more information, go to http://www.nerdconnerdfighteria.com/ The Latest from PBS Digital Studios: https://www.youtube.com/playlist?list=PL1mtdjDVOoOqJzeaJAV15Tq0tZ1vKj7ZV Want to find Crash Course elsewhere on the internet? Facebook - https://www.facebook.com/YouTubeCrashCourse/ Twitter - http://www.twitter.com/TheCrashCourse Tumblr - http://thecrashcourse.tumblr.com Support Crash Course on Patreon: http://patreon.com/crashcourse CC Kids: http://www.youtube.com/crashcoursekids