프로그래밍이 아니라, 지식이나 기술로써 다양한 컴퓨팅 주제들을 탐구할 것.
산업혁명 시기, 제조업의 발전은 인류 문명에 새로운 규모의 변화를 가져왔다.
컴퓨터 기술은 산업 혁명과 같이 우리에게 놀라운 변화를 가져오고 있다. 이른바, 전자 혁명 시대. ex. 자동화된 농업, 의료 장비, 통신 기술, 교육 기회 증대, 가상 현실, 자율주행자동차 등.
<컴퓨팅의 기원>
계산을 위해 가장 예전부터 사용되던 장비는 주판.(기원전 2500년에 메소포타미아에서 발명됨.)
주판의 원리:
각각의 줄들이 10단위의 다른 의미를 나타내고 있는 주판이다.
가장 아래쪽에 있는 줄을 기반으로 각각의 구슬은 1의 단위를 나타낸다.
그 위의 줄은 10의 단위, 그 위의 줄은 100의 단위, ...
만약 소 3마리가 있으면 맨 마지막 줄의 3개 구슬을 오른쪽으로 옮긴다.
더하기 1251을 하고 싶다면?
이후 4000년 동안 인류는 다양한 종류의 계산기를 개발하였고, 사람들이 어려운 계산에 쉽게 진입하도록 벽을 낮추어 줌. ex.astrolable이라는 천문 관측 장치(배의 위도 계산), 일출, 밀물과 썰물 등.
Charles Babbage는 각 분야의 지식이 증가하고 새로운 장치가 고안될수록 인류의 노동력은 단축된다고 말함.
그러나 그 때 이러한 도구들은 컴퓨터라 불리지 않음.
컴퓨터라는 단어는 1613년 Richard Braithwait가 집필한 책에 제일 처음 나타남. "나는 컴퓨터의 시대가 올 것이라고 믿는다. 컴퓨터는 최고의 산술가로써 하루를 짧은 단위로 줄일 수 있다." 라고 말함.
1800년 후반까지 컴퓨터는 '기계'가 아니라, 기계의 도움으로 계산할 수 있는 '직업'을 가리켰음.
독일 정치가 "Gottfried Leibniz"
Lebniz, "모든 농부가 기계의 도움으로 자신이 해야할 일을 정확하게 할 수 있는 것은 계산에 대해 연구한 사람들 덕분이다."
주행거리계와 같은 역할을 하고, 주판의 원리와 비슷함.
Lebniz는 1694년 "Step Reckoner"라는 계산 기술을 개발(곱셈과 나눗셈).
곱셈과 나눗셈은 덧셈과 뺄셈을 여러번 하는 것이고, Step Reckoner는 이러한 연산을 자동으로 할 수 있었다. 4가지 연산을 할 수 있는 최초의 장치가 되었고, 이후 약 300여년 동안 이 계산기를 사용함.
하지만 계산이 느리다는 단점이 있었기에, pre-computing tables가 더 편리할 수도 있었다. ex. 큰 수의 제곱근을 구할 때, Step Reckoner보다 제곱근 표가 더 빠름.
<포(artillery) 범위 테이블>
전쟁터에서는 특히 속도와 정확도가 중요함. 그래서 군대는 복잡한 문제를 해결하기 위해 처음으로 컴퓨팅을 적용. ex. 포탄의 포격 위치 등에 range tables 활용.
하지만 캐논이나 포탄의 설계를 변경할 때 새로운 계산표가 필요하여 엄청난 시간이 소요된다는 문제 발생.
<분석 엔진>
Charles Babbage는 이 문제점을 인지하여 1822년에 "the Royal Astronomical Society"에 "천문학 그리고 수학적으로 계산된 표를 기계에 적용할 때 참고사항"이라는 글을 기고하고, "Difference Engine"라 불리는 새로운 기계 장치 제안. 다항식(범위와 기압, 피자 섭취량과 행복의 정도 등 여러 변수 간의 관계를 설명할 수 있음.)의 계산, 대수나 삼각함수의 측정에 사용될 수 있는 복잡한 기계임. 1991년에 Babbage가 설계하고 만든 Difference Engine의 개발을 마쳤다! It worked!
Babbage는 Difference Engine을 연구하는 동안 "분석 엔진(general purpose computer)"이라는 더욱 더 복잡한 기계를 생각했다. 하나의 계산에 국한되지 않고 많은 용도로 사용할 수 있음. ex. 데이터 받기, 기억장치, 원시적인 프린터 등
이는 자동화된 작업, 컴퓨터 프로그램으로 나아갈 수 있는 가이드 역할을 해줌.
"분석 엔진"에 대한 가상 프로그램에 대해 기록한 영국인 수학자 Ada Lovelace는 미래에는 분석을 위한 새롭고, 다양하고 강력한 언어가 개발될 것이라고 말함. 그녀의 업적을 높여, Ada는 세계 최초의 프로그래머로 언급된다.
"분석 엔진"은 Babbage의 아이디어를 그들의 기계에 접목시킨 첫 세대 컴퓨터 과학자들에게 엄청난 영감을 주었기에 컴퓨팅의 아버지로 불림.
19세기 후반 컴퓨팅 장비는 과학과 공학의 특정 작업에 목적을 두고 사용되었다. 다만 사업, 정부, 또는 일상생활에는 잘 사용되지 않았음.
그런데 미국 정부는 1890년 인구 조사에서 오직 컴퓨터만이 제공할 수 있는 효율성에 대해 큰 문제 직면.
10년 주기로 인구조사를 실시했는데, 1880년 이민으로 인해 미국의 인구가 증가하게 되어 1890년 인구조사를 마치는 데 예상되는 소요 시간이 무려 13년이었음.
이에 인구조사부는 tabulating machine을 발명한 Herman Hollerith에게 연구를 맡겼다. 그가 개발한 electro-mechanical(전기 기계)라는 기계는 수를 저장할 때 전통적인 계산 시스템을 사용했지만, 전동장치를 결합함. 격자무늬가 있는 펀치카드를 사용하여 펀치카드를 뚫으면 데이터를 나타낼 수 있었다.
예를 들어, 결혼 상태를 나타내는 펀치카드가 있음. 기혼일 경우 구멍을 뚫고 Hollerith의 기계에 넣으면, 구멍이 뚫린 곳에 금속핀이 구멍을 통과함. 이러한 회로가 완성되면 종이는 유리병 속으로 들어감. 완성된 회로는 기어를 하나 더 추가하도록 전기모터를 하나 더 움직이고, 이는 결혼의 합계를 나타냄.
Hollerith의 기계는 manual tabulation보다 10배 이상 빨랐다. 인구 조사는 2년 6개월만에 끝났고, 수백만 달러를 절약할 수 있었다. 사업자들이 컴퓨터의 가치를 인식하기 시작했고, 회계, 보험 평가, 재고 관리 등 노동과 데이터 관리 집약적 업무를 개선함에 있어 잠재력을 보게 됨. 이들의 요구로 인해 Hollerith는 'the Tabulating machine company'를 설립했고, 이후 1924년 다른 기계 제작사와 합병함. 이는 IBM이 되었고, business machine이라 불리는 전기 기계는 크게 성공하였다. 상업과 정부를 변화시킴.
1900년대 중반에는 세계 인구 및 무역 증가로 데이터를 처리하는 데 더 빠른 속도와 유연성이 있는 도구가 필요했다. 이는 디지털 컴퓨터의 무대를 만들었다.
디지털 컴퓨터는 다음 시간에 !