최근 수정 시각 : 2024-11-25 23:22:21

천공 카드

파일:Used_Punchcard_(5151286161).jpg
12행/80열 천공카드(Manchester, UK, 2010. 11. 06)
파일:This_is_a_card_puncher,_an_integral_part_of_the_tabulation_system_used_by_the_United_States_Census_Bureau_to_compile..._-_NARA_-_513295.jpg
미국 인구 조사국의 천공카드 운용(Department of Commerce, US, 1940)
언어별 명칭
영어 Punched card
일본어 穿孔カード
パンチカード
중국어 穿孔卡片
1. 개요2. 설명3. 여담4. 같이보기

[clearfix]

1. 개요

정해진 위치에 구멍이 뚫려 있는지 아닌지로 2진법 데이터를 기록한 카드.

2. 설명

파일:external/www-03.ibm.com/us__en_us__ibm100__punched_card__student_punch_card__620x350.jpg
IBM이 개발한 초소형 천공 카드 입력기.

천공카드는 지폐 용지 크기의 카드에 구멍을 뚫어 디지털 자료를 기록하는 저장매체로, 펀치카드 또는 상용화한 인물의 이름을 딴 홀러리스 카드로도 불린다.

1725년 바실 부숑에 의해 발명되어, 직조기에 도입되어 사용해 온 유서 깊은 입력장치이자 기억장치의 하나이다. Joseph Marie Jacquard에 의해 1803년 자카드 원단을 만드는데 쓰였고 지금까지도 그 이름은 고유 명사가 되어 쓰이고 있다. 이 자카드 직조기는 찰스 배비지가 자신의 해석기관을 설계하는데 큰 영감을 주었다. 1890년 독일계 미국인 통계학자인 헤르만 홀러리스가 이를 본격적으로 전산업무에 활용 할 수 있도록 1행이 12자리인 체계인 홀러리스 코드를 고안함으로써 본격적으로 상용화 되었으며, 그가 창립한 전산회사인 TMC는 IBM의 전신이 되었다. 컴퓨터라는 개념이 처음 생기기 시작한 20세기 초반부터 1960년대 무렵까지 컴퓨터의 기억장치로 많이 활용되었으며, 그 이후로는 자기테이프와 플로피 디스크에 밀리기 시작하여 산업체 레거시 장비 유지 보수용으로 명맥을 잠시 이었다가 지금에 와서는 OMR 카드나 로또 용지 등 극히 한정적인 목적으로 쓰이고 있다.

1928년 IBM이 처음 표준화한 천공 카드의 규격은 80비트*10열 규격으로, 카드의 크기는 미국의 달러 지폐와 비슷하게 맞췄다고 알려져 있다. 이후 1930년경 부가 영역을 취급 가능한 80비트*12열 규격의 카드가 새로 출시되었으며, 이 규격은 천공 카드의 시대가 저무는 1960년대까지 그대로 쓰였다. 80비트*12열 규격이라고는 하지만 카드 한 장이 담는 데이터의 양은 로마자 및 연산자를 포함하는 8비트 문자 80자로 고정되었다. 상단 11열 및 12열과 그 아래의 0열[1]은 진법 전환, 확장 문자 등 부가기능을 제공하였다.

기계에 종이를 넣으면 80글자를 알아서 읽어낸다는 것은 당대 전산기술 최대의 혁신으로, 그 이전까지의 저장매체는 코드북이고 이를 기계에 입력하는 방법은 사람이 코드북을 펴고 전신기를 따닥거리며 비트를 하나하나 입력하는 것이었다. 이 IBM 표준 천공 카드는 처음 상업적으로 제안된 1910년대에 비해 장족의 발전을 이룬 물건으로, 표준화 이전의 천공 카드는 클라이언트의 니즈에 맞춰 하드코딩된 기계에 구멍 뚫린 종이를 넣으면 불리언 등 정해진 값 몇 개를 내놓는 40비트 안쪽 규격의 간단한 카드였다. IBM 표준 천공 카드의 성공으로 인해 이를 넘어서 만능기계에 자연어를 직접 집어넣는 체계가 전세계에 보급될 수 있게 된 것.

하지만 천공 카드는 당대 사람들이 생각하기에도 정보량 대비 물리적 부피가 너무 컸다. 1달러 지폐 한 장 정도의 크기를 가진 천공 카드 한장에는 최대 80바이트 용량의 정보까지만 담을 수 있었기 때문에,[2] 프로그램을 좀 짰다 싶으면 천공 카드의 가격은 둘째로 쳐도 이삿짐 한 박스 어치의 카드 더미가 발생하는 문제가 있었다. [3]

입력 또한 전담 타자수를 고용하는 비용보다 싸다는 점을 제하면 혁신적인 편의성과는 거리가 조금 있었는데, 낱장의 카드를 기계에 꾸역꾸역 밀어넣는 근로자가 어차피 한 명은 필요했기 때문. 이를 개선하고자 대형 리본 형태의 장대형 펀치카드도 상용화가 되었는데, 어차피 재밍 나지 말라고 사람이 지켜봐야 했던 것은 마찬가지고 리본형 카드는 라인 수정이 불편했기 때문에 일장일단이 있었다. 낱장은 아무리 번호를 매겨도 흩어지면 큰일 나는 건 당연한 얘기고, 한 장을 잃어버리면 당연히 프로그래머가 새로 펀치를 쳐 주기 전 까지는 프로그램을 쓸 수 없었으며, 여러 번 사람 손을 타면 내구성에도 당연히 문제가 생겼다. 이런 점에서는 빠른 타자수가 나았지만 사람이 매번 직접 치게 하면 오타가 안 날 수가 없으니...

천공 작업 또한 매우 노동 집약적인 사무였다. 자동 출력기 솔루션은 물론 시판되었으나 비싸고 느렸으며, 대체로 기업들은 코더를 채용해서 손 코딩을 천공 카드에 전사하는 단순 노동을 분화했다. 이런 천공 카드가 쓰이던 시절에 사용된 대표적인 컴퓨터 언어가 코볼 포트란인데, 언어 자체적으로 80칼럼에 맞추어 코딩하도록 되어 있다. 또한, 지금의 Python과 비슷하게 들여쓰기를 맞춰줄 필요가 있었기 때문에 코딩의 편의를 제공하도록 80칼럼에 맞게 미리 인쇄된 코딩 용지가 따로 있다. 이렇게 생겼다. 여기에 보통의 필기구로 먼저 코딩을 한 다음, 한줄 한줄 천공 카드로 옮기는 작업을 하게 된다. 이후 분업화가 이루어져 프로그래머들은 코딩 용지에 기입만 하고 이를 천공 카드에 찍어주는 여사원들을 따로 고용하기도 했다. 이들은 보통 "펀순이"(치카드 + 순이)라는 은어로 불렸다. 작업자의 편의를 위해서 손코딩 시 L은 무조건 대문자로, i는 무조건 소문자로 적는 규칙이 있었다.

파일:1955 Punch Cards.jpg
위 사진은 미국의 군용 항공 통제 시스템인 SAGE에 포함된 IBM 메인프레임의 제어 프로그램을 담은 62,500장 규모의 천공 카드를 찍은 1955년 사진으로, 80바이트 천공 카드 기준 4MB에 해당한다. 물리적으로 종이를 빨아들이면서 천공 체크를 하는 느린 과정이 수반되기 때문에 이 4MB 어치의 천공 카드를 모두 기계에 넣는 데는 꼬박 4일이 필요했다. 0.00004629629MBps

이런 지나치게 큰 부피와 은근히 불만족스런 편의성은 당대에도 충분히 문제로 여겨졌고, 결국 저장 매체로서의 천공 카드는 1960~70년대에 걸쳐 카세트 테이프로 대표되는 자기 테이프, 8인치 50KB 용량의 플로피 디스크 등이 상용화에 성공하면서 서서히 대체되었다.

21세기에 이 매체를 현업용으로 사용하는 곳은 사실상 없고, 수기를 받아 적은 양의 데이터를 전산화할 수 있다는 장점은 1930년대에 발명된 OMR 카드에게 그 영역을 내어 주었다. 다만 천공 카드 시대의 유산은 그대로 이어지고 있는데, 대부분의 CLI 기반 터미널이 여전히 가로 80자, 세로 24열로 디스플레이를 제한하고 이 이상을 스크롤하는 것은 천공 카드의 규격이 80*12비트였던 흔적이다. 호환성을 이유로 강제된 표준이었기에 다소 원시적으로 보일 수도 있으나, 2020년대에도 세계의 유력 대기업들은 고용된 프로그래머들에게 리팩토링된 코드 한 줄의 길이를 80자 전후로 강제하는 가이드라인을 제시하고 있다. 어쩔 수 없는 경우 강제개행과 들여쓰기를 써서라도 길이를 맞추게 하는 편인데, 이는 출력물 가독성 및 유지보수 용이성과 관련되어 있다. 한편 최종 사용자 영역에서는 이런 제약을 원하는 사람이 아무도 없기 때문에, 2010년대 이후 개발되는 GUI 기반 터미널(예컨대 PowerShell)들은 이러한 제약을 푸는 경우도 있다.


천공 카드를 사용한 음악 책.[4] 동영상의 장치는 천공리더식 오르골의 한 종류인 페어그라운드 오르간이다. 스피커가 없던 시절 박람회장이나 테마파크 같은 대형 시설에서 반복된 음악 재생을 해야 할 때 사용했던 거대한 오르골인데, 천공 카드에 뚫린 구멍의 위치에 따라 공기압으로 악기를 연주하는 방식이다. 초기 테마파크의 회전목마 같은 기구에서 배경음악을 재생하는 데도 많이 쓰였으며, 롤러코스터 타이쿤 시리즈의 회전목마 배경음악으로 이러한 방식이 음악이 사용되었다. 이 물건의 변형으로 자동 연주되는 피아노(player piano)도 있는데, 돌돌 말린 롤지 형식의 천공 테이프를 사용한다. 1970~80년대 영화나 애니메이션을 보면 가끔 나온다. # 현재 자동연주 피아노는 디지털로 명맥을 잇고 있는 상태.


롤지의 모양이 잘 보이는 영상. 곡은 Bohemian Rhapsody.


1964년에 발매된 IBM029 모델 시연영상. 눈치챈 사람도 있겠지만, OMR카드와 비슷하게 생겼다.

3. 여담

  • 사무용 천공카드 시스템은 미국 정부의 국가통계작성과 인구조사 자료처리를 위해 발명된 것이다. 그 전에는 조사한 자료를 손으로 처리했는데, 20세기로 향해 가며 미국 인구와 경제 규모가 커져서 조사하고 강산이 한 번 변해야 결과보고서를 내게 생겼다. 그때 나온 이 시스템이 그걸 획기적으로 단축시켰다. 에니악이 출현하기 몇십년 전 일이다. #
  • 홀로코스트 당시 나치 독일희생자들을 체계적으로 분류하기 위해 IBM 사의 천공카드 시스템을 사용한 사례가 있다. 당시 IBM은 단순히 관련 설비를 판매한 수준에서 그친 게 아니라 당시 IBM의 사장이던 토머스 왓슨(1874~1956)이 직접 독일에 출장을 가 당시 물가로 백만 달러[5]의 정부 보조금을 받을 정도로 적극적으로 관여하였고, 이로 인해 왓슨은 아돌프 히틀러 측으로부터 상장과 메달을 받기도 했다.

    이 뒷이야기는 2001년 미국의 역사가이자 저널리스트인 에드윈 블랙(Edwin Black)의 저서 " IBM과 홀로코스트: 나치 독일과 미국의 가장 강력한 기업 간의 전략적 동맹"의 출간을 통해 본격적으로 알려지게 되었다. 이로 인해 유럽 기업도 아닌 미국 기업인 IBM에 전범기업이라는 낙인이 찍혔고, 유대인 집시 단체의 소송에 시달려야 했다. 흑역사도 보통 흑역사가 아닌지라, 현재 IBM은 이에 대해 철저히 침묵하고 있다.[6]
  • Microsoft 빌 게이츠가 본격적으로 유명해진 계기도 당시 PC 중 하나인 알테어용 베이식 인터프리터를 만들면서였다. 알테어 광고를 보고 친구인 폴 앨런과 함께 무작정 베이식을 팔겠다고 만들기 시작하지도 않은 상태에서(...) 납품제의를 했다. 승낙 후 광속의 개발을 거쳐 완성품 천공 카드 묶음을 들고 본사로 가는 비행기에 탔는데 그제서야 아직 코딩하지 않은 부분이 있다는 사실을 알아채고[7] 비행기 안에서 손수 천공 카드에 구멍을 뚫어가며[8] 코딩하여 도착하기 전에 완성했다고 한다. 천공 카드라 가능했던 일화이며, 이후 본사에서 성공적인 데모 시연을 해보였고 이 프로그램을 계기로 빌 게이츠가 소프트웨어 장사를 해야겠다고 마음먹게 되었다 한다.
  • 1976년 빌 게이츠는 취미가들에게 보내는 공개 편지(An Open Letter to Hobbyists)라는 공개 서한을 광고로 발표하였다. 1970년대 당시에는 당시 소프트웨어 저작권의 개념 자체가 없던 시절이라 매장에서 천공 카드를 복사기로 무한정 복사해가는 일이 흔했는데, 빌 게이츠는 '이런 행동은 절도나 다름없다'며 공개적으로 저격하였다.[9] 이 광고는 상당한 이야깃거리가 되었지만, 큰 영향은 미치지 못했다. 당시만 해도 소프트웨어는 기업체에 납품하는 것이 기본이라 복제 배포라는 개념 자체가 거의 없었기 때문이다. PC가 등장하기 전인 1970년대 중반까지만 해도 컴퓨터는 매우 비싼 기계였고, 소프트웨어는 '기계 사면 당연히 딸려서 오는 그 무엇'이란 개념이었다.[10] 공장에서 쓰는 공작기계를 구매하면 이를 실행하기 위한 프로그램이 당연히 기계 내장 ROM에 탑재되어 있는 것을 생각하면 된다.
  • 한국에서는 IBM PC가 사무용으로 본격 도입되던 1980년대 말이 되기 전까지는, 전산학원에서 포트란 코볼을 가르치며 천공카드 관련 교육도 했다고 한다.
  • 심슨 가족에서 아푸는 박사과정 논문으로 이 천공 카드를 10만장이나 사용해서 최초의 컴퓨터용 틱택토를 만들었다. 하지만 바트에 의해 카드가 엉망이 되는 바람에 쓰레기통행.
  • 홈스턱에서는 카드로 정리되어 디자이닉스를 통하여 구멍이 뚫린 물건들로 나온다.

4. 같이보기



[1] 10열이 아니다. [2] 천공 카드의 용량은 10행 80열으로 구성되어 최대 800비트의 정보를 가지고 있어 지금의 컴퓨터 기준에서는 100바이트이지만, 천공 카드에서 정보를 처리하는 가장 작은 단위는 한 열이기 때문에 천공 카드에서는 1바이트는 8비트가 아니라 10비트이다. [3] 만약 천공 카드로 1MB 짜리 프로그램을 짰다고 하면 이를 저장하기 위해서는 천공 카드가 13,108장이 필요하다. [4] 은 'Three o'clock in the morning'의 후반부. [5] 2021년 기준 약 2천만 달러 [6] 해당 저서의 출간에 대해 IBM 측은 직접적으로 해당 내용을 부인하지는 않았으나, 블랙의 연구 과정과 결론에 대해 비판을 제기하긴 했다. 이후 2010년 블랙은 IBM 측의 지시를 받은 것으로 보이는 유저들이 위키백과에서 관련 내용을 축소하는 반달 행위를 저지르고 있다고 발표했고, 2021년 해당 저서의 개정판을 출간하며 "IBM 측은 이 책의 그 어떤 내용에 대해서도 정정 요청을 하지도 않았고 내용을 부인하지 않았다"라며 한 번 더 극딜을 넣었다. [7] 테이프의 프로그램을 에 입력해서 실행시켜주는 부트스트랩 프로그램. [8] 1970년대에 배터리로 돌아가는 노트북 같은 게 있을 리 없다(...). [9] 앞서 언급된 알테어의 경우를 예로 들어보자면 하드웨어인 MITS는 몇천대가 팔렸지만, 게이츠가 설계한 베이직 코드는 수백장밖에 팔리지 않았다. [10] 쉽게 말하자면 모든 소프트웨어가 지금의 컴퓨터 사면 같이 따라오는 CD 같은 입장이였다고 보면 된다. [11] 오르골의 악보는 천공카드로 되어있는 것이 많다. [12] 그 큰 로켓의 설계도를 공돌이들의 피나는 노력으로 일일이 천공카드에 입력해서 설계했다. [13] 천공카드의 천공이 검은색 마킹으로 대체된 것으로, 천공카드와 같은 원리를 가진 카드. 천공카드의 연장선이라 볼 수 있다.