[CrashCourse CS] #10 Early Programming

Steve·2021년 4월 16일
0

Programmable Textile Loom (1800)

  • The need to program machines existed before the deveopment of computers.
  • Making patterned fabrics were very labor-intensive, thus expensive.
  • Joseph Jacquard developed a programmable textile loom using punched cards.
  • It is considered an earlist forms of programming.

Tabulating Machine, Punch Cards (1800, 1900)

  • Punched cards turned out to be a cheap, reliable and fairly-human-readable way to store data.

US census 1890

  • Punch cards were used to help tabluate the 1890 census, each card holding an individual person's data.
  • Early tabulating machines were not truly computer, as they could only tabulate. Their operation was fixed and not programmable.
  • At this time punch cards stored data, not a program.

Control Panel, Plugboards (1900~)

  • Over the next 60 years, business machines grew in capability, adding features to subtract, multiply, divide, and even make simple decisions about when to perform certain oprations.
  • To trigger these functions appropriately, programmer accessed control panel.
  • Control Panel had full of little sockets, in which a programmer plug cables to pass values and signals between different parts of the machine. For this reason, they were also called plugboards.
  • A programmer had to rewire the machine each time a different program needed to be run.

  • By 1920s, plug boards were made swappable - more comfotable, and allowed different programs to be plugged in to a machine.
  • However, plugboards were complicated to program - physically wiring up the ENIAC(1946) and getting the program to run could take upwards of three weeks.

Electronic Memory (Late 1940s, 1950s)

  • Electronic memory was becoming feasible. Cost fell, memory size grew.
  • Stored Program Computers - It became possible to store a program into a computer's memory - could be easily changed by programmers and quckly accessed by the CPU.
  • With enough computer memory, it could store not only the program but also any data that program would need.

Von Neumann Architecture

  • Unifyed the programming data into a single shared memory.
  • Named after Von Neumann(폰 노이만), a mathmatician and physicist, worked on the Manhattan project and several early electronic computers.
  • Von Neumann Computer - the one build from the last episode. Modern computer have this architecture.

Punch Cards, still (1980)

  • Punch cards were stil used to load the programming data in to the computer before it can run.
  • Almost all computer had a punch card reader.
  • A program was stacks of punch cards. The order had to be kept.
    • striping : Drawing a diagonal line to keep order.

US Air Force's SAGE air defense system

  • The largest program ever punched into punch cards
  • Completed in 1955, stored its program on 62,500 punch cards (5 megabytes of data).

  • Punch paper tape (continuous version of cards)

Panel Programming

  • Another common way to program and control computers in pre-1980s.
  • Switches, buttons, and idicator lights to display the status of various functions and values in memory.

Altair 8800 (1975)

  • Early home computers made for the hobbyist market used switches extensively, b/c home computers couldn't afford expensive punch card readers.
  • Toggled the switches on the front panel to enter binary operation codes for the instructions to program.

Programming with early computers was the realm of experts.

  • Intimate knowledge of underlying hardware made the job hard and tedius.
  • Struggled to take full advantage of what computer can offer.
  • Simpler way needed : rise of programming languages.

Vocabulary

  • plaid - 격자무늬 천 (check design)
  • loom - 베틀
  • payroll - peopl on the payroll of an organization are the people who work for it and are paid by it.
  • fiendish - 기괴한, 복잡한, 어려운
  • upwards of - more than
  • downtime - 기계, 컴퓨터가 작동하지 않는 시간.
  • feasible - 실현 가능한.
  • hallmarks - most typical quality or feature.
  • well into - quite advanced or far along in something.
  • whopping - 엄청 많은 (수량의)
  • extensive - very great, 광범위하게
  • peripheral - 지엽적인, 주변의, (컴퓨터의) 주변 장치
  • socket - 다른 부분이 들어갈 수 있도록 푹 파인 것. (콘센트 등)

Thoughts

  • 펀치카드가 1980년대에도 사용되었다는건 불과 30년전에는 지금의 환경이 없었다는 사실이 놀랍다.
  • 기술의 발전 속도가 엄청 빠르다는 소리고, 뿐만 아니라 속도가 더 빨라지는 것 같다.
  • 점점 더 흥미로워진다...!
profile
게임과 프론트엔드에 관심이 많습니다.

0개의 댓글