규도자 개발 블로그

프로그래밍 언어에는 왜 쓰이지도 않는 캐리지 리턴(\r : Carage Return)이 있는 걸까? 본문

Topic

프로그래밍 언어에는 왜 쓰이지도 않는 캐리지 리턴(\r : Carage Return)이 있는 걸까?

규도자 (gyudoza) 2018. 9. 2. 16:01

그 기원은 프로그래밍 언어를 만들 때로 거슬러 올라간다. 시대는 정확히 모르겠지만 1950년대라고 한다. 타자기가 문명의 주 매체였을 때 말이다. 그땐 컴퓨터에 대한 개념이 명확하지 않아서 printf함수를 만들 때 타자기의 작동원리를 많이 참고했다고 한다.

 타자기는 다음줄로 갈 때 줄바꿈레버를 돌리는데 그렇게 하면 커서가 바로 밑의 칸으로 가긴 한다. 하지만 거기에서부터 글씨를 쓸 순 없잖은가. 오른쪽 끝인데. 그때 바로 캐리지 리턴이라는 레버를 통해 종이를 오른쪽으로 옮겨 다시 문서의 왼쪽부터 작성되게 하는 기능이 존재했다. 타자기는 찍는 위치는 항상 그대로이고 종이만 움직이는 원리이니 말이다.

typewriter에 대한 이미지 검색결과

 오른쪽의 레버로 줄을 바꾸고 왼쪽의 레버로 종이의 위치를 조절하였다. 그리고 당연하게도 타자기 또한 점점 발전하여 개행시에 자동으로 종이의 위치까지 이동시켜주는 기능이 보편화됐다.



enter key에 대한 이미지 검색결과

 그래서 엔터의 모양을 잘 보면 아래로 내리고 왼쪽으로 쭉 그어진 화살표 모양을 볼 수 있다. 타자기로 치면 '뉴 라인'과 '캐리지 리턴'을 줬을 때 커서의 이동 위치이다. 프로그래밍에 대한 개념이 모호했던 시절이었으니 그냥 '뉴 라인'기능만 주면 커서가 타자기같이 바로 아래쪽으로 이동할 거라고 생각했던 것 같다. 컴퓨터는 '뉴 라인'만 줘도 다음행의 첫번째 열로 돌아가므로 사실상 쓸모없는 기능이라고 보면 된다. 그냥 타자기를 모티브로 만들었다는 과거의 흔적이라고 보면 편할 것이다.

Comments