songin.dev님의 블로그

[Computer Science] 초기컴퓨팅 #1 본문

Developer/Computer Science

[Computer Science] 초기컴퓨팅 #1

songin.dev 2022. 3. 9. 12:03
728x90

[Computer Science] 초기컴퓨팅 #1

- 본 포스팅은 Youtube 채널 CrashCourse의 Computer Science 영상을 기반으로 작성한 글입니다.

 

컴퓨팅의 기원

계산을 위해 사용되던 최초의 장비는 기원전 2500년에 메소포타미아에서 발명된 '주판' 이다.

주판은 많은 숫자의 덧셈과 뺄셈을 도와주는 손으로 하는 계산기이다.

주판은 마치 우리들의 컴퓨터 하드디스크에 숫자를 저장하는 것과 같이 현재 계산 상태를 기록한다.

주판은 점점 커져가는 규모의 사회 인원과 자원을 개개인이 기억하거나 다루는것이 어려워졌기 때문에 만들어지게 되었다.

주판은 각 줄에 1, 10, 100, 1000과 같은 숫자가 있고, 그 안에 10개의 구슬이 들어있다.

만약 212라는 숫자를 계산하기 위해서는 100이 있는 줄에 구슬을 오른쪽으로 2개 옮기고, 마찬가지로 10에 1개, 1에 2개를 옮기면 된다.

이후 4,000년 동안 인류는 모든 종류의 다양한 계산기들을 개발했다.

배가 바다위에서 그들이 있는 위도를 계산할 수 있게 도와주는 천문 관측 장치, 곱셉과 나눗셈을 하는 계산기, 수백가지의 시계, 일물과 썰물, 천체 그리고 시간들을 계산할 수 있는 시계 등

그러나 그때 이러한 도구들을 컴퓨터라고 부르진 않았다.

"각 분야의 지식이 증가하고 새로운 장치가 고안될수록 인류의 노동력은 단축된다."
Charles Baddage

컴퓨터라는 단어의 등장

컴퓨터라는 단어가 제일 처음 나타난 것은 1613년 Richard Braithwait가 집필한 책이었다.

심지어 Computer는 기계를 말하는 것이 아니였다. 직업의 이름이였다.

"나는 컴퓨터의 시대가 올 것이라고 믿는다.
또한 컴퓨터는 최고의 산술가로써 하루를 짧은 단위로 줄일 수 있다"
Braithwait

그 시대에는 자주는 아니지만 가끔씩 기계의 도움으로 계산을 할 수 있는 사람을 일컬었다.

이 직업의 명칭은 컴퓨터라는 의미가 기계로 옮겨진 1800년대 후반까지 사용되었다.

이 장치들 중에서 주목할만한 것은 독일 정치가 "Gottfried Leibniz"가 1694년에 개발한 "Step Reckoner"이다.

그것은 "주행거리계"와 같은 역할을 했다.

이 장치는 여러 종류의 기어를 가지고 있으며, 각각의 기어는 10개의 톱니를 가지고 있다.

톱니의 바퀴는 0~9까지의 숫자를 나타내었으며, 하나의 기어가 9를 지나가면 그것은 0으로 다시 되돌아갔다.

그리고 인접한 기어를 한단계 진행시켰다.

이 방법은 마치 주판이 10을 더할 때와 같다. 뺄셈을 할 때는 반대로 작동시키면 된다.

곱셈과 나눗셈도 할 수 있었다. 예를 들어 17을 5로 나눈다면, 단순히 17에서 5를 빼고, 5를 빼고를 반복해 5가 3번 들어가고 2가 남는 것을 알 수 있다.

그래서 20세기 이전의 대부분의 사람들은 컴퓨팅을 경험했다.

 

전쟁에서의 컴퓨팅 

전쟁에서는 속도와 정확도가 중요하다. 이러한 문제를 해결하기 위해 처음으로 컴퓨팅을 적용했다.

특히 1800년대 1킬로미터 이상 넘게 발사될 수 있는 포탄의 포격 위치를 맞추는 일은 정말 어려운 일이였다.

다양한 풍향상태, 온도, 기압 때문에 커다란 배를 맞추기도 힘들 정도였다. 

이때 Range Tables는 사격수에게 사격이 가능한 환경 조건과 거리를 찾을 수 있게 도와주었고 캐논을 세우는 각도를 알려주었다. 이 Range Tables는 아주 잘 작동했고, 2차 세계대전까지 사용되었다. 그러나 문제가 있었다.

캐논이나 포탄의 설계를 변경하게 된다면 새로운 표가 필요했고, 이건 엄청난 시간이 소요되었으며, 필연적으로 에러가 발생했다.

Charles Babbage는 이 문제점을 인지하고 1822년에 "the Royal Astronomical Society"에 "천문학 그리고 수학적으로 계산된 표를 기계에 적용할 때 참고사항"이라는 글을 기고했다.

Charles Babbage는 "Difference Engine"라 불리는 새로운 기계 장치를 제안했다. 이 기계는 다항식을 계산할 수 있는 더욱 더 복잡한 기계였다. 다항식은 여러 변수간의 관계를 설명할 수 있다. Babbage는 1823년 연구를 시작했다. 그 후 20년 동안 총 무게가 15톤에 달하는 25,000가지의 부품들을 조립하고 만들었다. 하지만 불행하게도 이 프로젝트는 무산되었다. 하지만 1991년에 "Difference Engine"의 개발을 마쳤고, 잘 작동하였다. 그러나 더 중요한건 "Difference Engine"을 연구하는 동안에 "분석 엔진"이라는 더 복잡한 기계를 생각해냈다. 일반적인 모든 계산장치들과는 달랐으며, "분석 엔진"은 범용적으로 사용가능한 컴퓨터였다. 단순히 하나의 계산에 국한되지 않고 많은 용도로 사용할 수 있었다.

데이터를 받을 수 있었고, 순차적으로 작동이 가능했다. 심지어 기억장치와 원시적인 프린터를 가지고 있었다. 하지만 그것은 시대를 앞서 있었고, 결코 완성되지 못했다. 하지만, "자동 컴퓨터"라는 아이디어 자체만으로 굉장한 것으로 자동화된 작업, 컴퓨터 프로그램으로 나아갈 수 있는 가이드 역할을 하였다. 

"미래에는 분석을 위한 새롭고, 다양하고 강력한 언어가 개발될 것이다."
Ada Lovelace

Ada는 세계 최초의 프로그래머라고 종종 언급된다.

"분석 엔진"은 Babbage의 아이디어를 그들의 기계에 접목시킨 첫 세대 컴퓨터 과학자들에게 엄청난 영감을 준 것은 분명하며, 이는 Babbage가 컴퓨팅의 아버지라고 언급되는 이유이다.

 

19세기 후반 컴퓨팅 장비

19세기 후반 컴퓨팅 장비는 과학과 공학의 특정 작업에 목적을 두고 사용되었다.

사업과, 정부 또는 일상생활에서는 잘 사용되지 않았다. 

미국 헌법은 연방기금을 나누고, 의회의 대표를 뽑는것과 같은 작업들을 위해 인구조사가 매 10년마다 실시될 것을 요구했다. 그리고 1880년, 미국의 인구는 이민으로 인해 더욱 더 많아지게 되었다. 이 인구조사는 7년동안 통계를 내어 결국 완성 되었지만 이미 유효기간이 지난 뒤였다. 그리고 1890년 인구조사를 마치는 데 예상한 기간은 13년이었다.

이것이 매 십년마다 돌아오는 것이 문제였습니다.

인구조사부는 "tabulating machine"을 발명한 Herman Hollerith에 연구를 맡겼다.

그가 개발한 "electro-mechanical(전기 기계)"라는 기계는 수를 저장할 때 전통적인 계산 시스템을 사용했다.

그는 그 장치에 전동장치를 결합시켰다. Hollerith's 의 기계는 격자 무늬가 있는 펀치카드를 사용했다. 펀치를 뚫으면 데이터를 나타내는 방식이다. 

Hollerith의 기계는 "menual tabulations"로 계산하는 것보다 10배 이상 빨랐다. 그리고 인구조사는 2년 6개월만에 끝낼 수 있었고 인구조사부는 수백만 달러를 절약할 수 있었다.

 

민간에서의 컴퓨터의 가치 인식

사업자들은 회계, 보험 평가 및 재고관리와 같은 노동과 데이터 집약적인 업무를 개선하는 데에서 이익을 높일 수 있는 잠재력을 보았다. 이들의 요구로 인해 Hollerith는 "The Tabulating Machine Company"를 설립하였다.

이후 1924년 다른 기계 제작자와 합병을 통해 지금의 IBM이 탄생하게 되었다.

"business machines"라 불리는 전기 기계는 크게 성공하였고, 상업과 정부를 변화시켰다.

1990년대 중반에는 세계인구 증가와 전세계적인 무역의 증가로 데이터를 처리하는데 더 빠른 속도와 유연성이 있는 도구가 필요했고, 이는 디지털 컴퓨터의 무대를 만들었다.

 

반응형
Comments