왜 탭은 8칸일까요?

cppig1995의 이미지

왜 탭을 8칸으로 쓰는지 궁금증이 생겼습니다.
8칸으로 쓰지 않는 경우도 4칸과 같이 8과 관계있는 수로 쓰던데...
특별한 이유는 없는 것인가요? 3칸, 5칸, 7칸 탭 쓰는 사람은 없는 건가요?
(다른건 몰라도 5칸은 괜찮을 듯 한데...)

생각해 보니 아래의 이유가 떠올랐습니다.

* 40x25와 80x25. (40과 80모두 8의 배수이다.)

그런데 전 옛날(태초, 타자기 시절? 텔레타이프 시절? DEC PDP?)에 대해선 잘 모르는지라...
답변이나 생각을 한줄 써주시길 부탁드려요!

7339989b62a014c4ce6e31b3540bc7b5f06455024f22753f6235c935e8e5의 이미지

5칸으로 쓰고 싶으면 5칸으로 쓰면 됩니다. (...)

ed.netdiver의 이미지

tab8의 시초가 무엇이었는지는 모르겠는데,
tab8의 해악이라고 검색하시면 꽤 많이 보실수 있으실것 같습니다.
하지만 이것도 돼지군이 궁금해하는 왜 굳이 2^3인건지에 대한 답은 아니군요...=33

--------------------------------------------------------------------------------
\(´∇`)ノ \(´∇`)ノ \(´∇`)ノ \(´∇`)ノ
def ed():neTdiVeR in range(thEeArTh)

--------------------------------------------------------------------------------
\(´∇`)ノ \(´∇`)ノ \(´∇`)ノ \(´∇`)ノ
def ed():neTdiVeR in range(thEeArTh)

사랑천사의 이미지

4가 8과 관련이 잇나요? 저는 2와 관련 잇어 보이는데요... 4도, 8도 모두 2의 배수중 하나(들) 이죠.

제가 처음에 C를 배울 때 스승님은 탭은 아니고... 들여쓰기를 항상 2칸 으로 하셨고 저도 그걸 받아서 항상 2칸 으로 하고 있습니다. 하지만, 요즘은 좀 다른데, 2칸 씩 보다 더 들여 써야 할 때가 잇죠. 줄이 갈렸을 경우 그런 경우들이 종종... 아니 많이 있죠 아마.

그리고 보통 들여쓰기도 2칸 4칸 6칸 8칸 이런 식입니다. 근대 어디서 9칸 탭을 본 거 같습니다. 도스 시절 썼던 어떤 프로그램은 탭문자가 나오면 이걸 9칸으로 표시 햇었던 거 같은데 그게 뭐였는지 기억은 안 나네요 흐흠. 5칸은 모르겠습니다. 그리고 프로그램에 따라선 소프트탭 기능이 잇엇던 거 같은데... ㅎ흠... 그 기능을 사용하면 탭의 길이가 조정 가능했죠. 근대 그것도 뭔 프로그램인진 기억이 안 납니다. 그런 기능을 제가 쓰지도 않았고 말이죠 후후.

탭 이야기가 나오니까 보석글과 Qedit가 왜 생각 나는지 흐흠.
----
Lee Yeosong(이여송 사도요한)
E-Mail: yeosong@gmail.com
MSN: ysnglee2000@hotmail.com
----
웃음... 행복... 평화... (진정한...) 희망... 사랑... 이 세상 모든것이 그렇다면 얼마나 좋을까...(꿈 속의 바램일 뿐인가...)

사람천사

esrevinu의 이미지

흐흐
--
foldl (flip (:)) [] "universe"

사랑천사의 이미지

흐흠.. 그.. 그런.. 훗.
----
Lee Yeosong(이여송 사도요한)
E-Mail: yeosong@gmail.com
MSN: ysnglee2000@hotmail.com
----
웃음... 행복... 평화... (진정한...) 희망... 사랑... 이 세상 모든것이 그렇다면 얼마나 좋을까...(꿈 속의 바램일 뿐인가...)

사람천사

쿨링팬의 이미지

저도 예전에는 tab step을 4로 사용하다가 아래 글을 읽고 8로 바꾸어 코딩하고 있습니다.
http://www.linuxfromscratch.org/alfs/view/hacker/part2/hacker/coding-style.html

8 tab 또는 들여쓰기 간격은 4 또는 그 이하의 간격보다
코드를 좀 더 명확하게 해 주며 장시간 코딩 작업을 할 때, 피로를 덜어준다고 합니다.

다음 글이 가슴에 와 닿더군요.

Quote:

Some people will claim that having 8-character indentations makes the code move too far to the right, and makes it hard to read on a 80-character terminal screen.

The answer to that is that if you need more than 3 levels of indentation, you're screwed anyway, and should fix your program.

사랑천사의 이미지

전 선천적으로 시야가 좁아서 2칸 탭.. 은 아니고 2칸 들여쓰기를 하는게 코드 파악 하는데 더 도움이 됩니다. 들여쓰기가 기본적으로 4칸 이상 들어가게 되면 머리 아파 집니다. 어 밑에줄 어디잇찌 이러고 잇습니다. 다른 분들은 한번 화면을 보실 때 40C/S정도의 속도로 읽으실 수 있는 것으로 알고 있는데..(뭐 그정도란 예기죠 흠흠) 저는 한번에 많아야 5글자 박에 보질 못 합니다. 화면에 코박고 보니... 그래서 탭은 몰라도 들여쓰긴 2칸 아니면 잘 안 합니다. 물론 경우에 따라서 4칸 8칸을 쓰지만, 코드에선 줄이 갈리면서 SQL같은게 늘어지는 경우 빼곤 전부 2칸을 쓰죠.

흘흘...
----
Lee Yeosong(이여송 사도요한)
E-Mail: yeosong@gmail.com
MSN: ysnglee2000@hotmail.com
----
웃음... 행복... 평화... (진정한...) 희망... 사랑... 이 세상 모든것이 그렇다면 얼마나 좋을까...(꿈 속의 바램일 뿐인가...)

사람천사

chadr의 이미지

40x25와 80x25가 8의 배수라서 그런것 같진 않습니다..
생각해보면 저정도의 해상도에서 8칸이란 꽤나 깊은 깊이인데..
들여쓰기 몇번만 했다간 화면에서 사라져버릴테니까요;

저도 개인적으로 탭문자는 안쓰고 개발툴에도 탭문자를 공백문자로 입력되도록 바꾸고
탭사이즈와 들여쓰기 간격도 2칸으로 쓰고 있습니다.

2칸 이상으로 들여쓰면 눈을 움직여야하는 거리가 길어져서 귀찮고 ㄱ-
눈에도 잘 안들어오고 읽기도 힘들더군요..

탭문자를 안쓰는 이유도 이런 이유 때문입니다. 탭사이즈가 어디서든지 바꿀수 있으므로
탭문자쓰다가 공백쓰다가 하면서 작성한 코드를 메모장에서 보려고 할려면 이건 안드로메다로
날아가는 코드가 되니까요..
-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.

-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.

익명사용자의 이미지

TVCF를 보면 tepal~이라고 나오죠.

"탭이 8인 이유가 옛날 8/16비트 시절의 작은 CRT모니터 때문이 아닐까?"라는 의심을 품고
뒤적거리다가 http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=3978 이런글을 발견했네요.
특이한 녀석들도 있네요.

cppig1995의 이미지

존경스럽습니다...
탭팔~ 탭팔~

Real programmers /* don't */ comment their code.
If it was hard to write, it should be /* hard to */ read.

esrevinu의 이미지

워드프로세서에도 탭이 있잖아요? 오래전에는 텍스트 에디터에서 문서를 작성할 때 칼럼으로 정렬해서 표같은 것을 표현해야 했을 겁니다. 그런데 칼럼의 header(?)로 쓸 단어들이 적절하게 표현될 수 있으려면 8칸정도가 적당하지 않았을까요? 4칸이면 3자밖에 못 쓰니까 안 될 것 같고 7칸이나 9칸은 홀수여서 10칸은 너무 커서 그러지 않았을지...
그러고 보니까 탭이 꼭 8칸은 아닌 것 같네요. 지정해 놓은 다음 탭자리로 이동하는 거죠. 그러니까 디폴트로 탭이 8칸마다 있는 거군요.

--
foldl (flip (:)) [] "universe"

송효진의 이미지

파일명길이 8.3 이었던게 도스만인가요?
예전 시스템이 주로 8.3 이었다면, 탭도 여기에 맞췄다고 생각하면 자연스러울것 같네요.

emerge money

warpdory의 이미지

애플 2 나 2+, 2e 에 들어갔던 애플 도스 3.2, 3.3, Pronto 도스.. 이런 것들은 8.3 포맷이 아니었습니다. 정확한 제한은 기억 안나지만, 30 자 넘는 파일이름도 많았습니다.
BRUN 이라고 친 다음에 esc 누르고 i/j/m/k 눌러서 커서 움직여서 파일 이름 위치로 간 다음에 다시 esc 누른 후 파일이름 쭉 따라간 뒤에 엔터 쳐서 게임 실행하곤 했던 게 기억나네요.

아마 8.3 제한이 걸린 게, MSX DOS 때부터일 겁니다. 그 전에는 .. 8.3 ... 이런 게 없었거든요.

---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도

즐겁게 놀아보자.
http://akpil.egloos.com


---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도

즐겁게 놀아보자.

무단포옹의 이미지

모든 악의 근원은 MS로군뇨.

cppig1995의 이미지

CP/M이 8.3의 근원이라고 얼핏 들은 것 같습니다만... 전 잘 몰라서리.

Real programmers /* don't */ comment their code.
If it was hard to write, it should be /* hard to */ read.

warpdory의 이미지

CP/M was an operating system originally created for Intel 8080/85 based microcomputers by Gary Kildall of Digital Research, Inc. Initially confined to single tasking on 8-bit processors and no more than 64 kilobytes of memory, later versions of CP/M added multi-user variations, and were migrated to 16-bit processors.

입니다.

저 위키페디아 링크에도 있다시피 8080 기반의 CPU 용으로 나왔다가 Z80 용으로도 나오고, 더 나아가 6502 계열의 CPU 를 사용하는 애플 컴퓨터에도 CP/M 카드를 꽂으면 쓸 수 있었지요. - 그러고 보면 애플컴퓨터가 대단했습니다. 확장슬롯에 딴 CPU 를 꽂아서 쓸 수 있다니...

http://en.wikipedia.org/wiki/Image:CPM-86.png 이 그림에서 볼 수 있듯이, 8.3 포맷이죠.

별로 써본 기억은 없는데, 예전에 쓰던 RIE-80 이라는 반도체 장비가 CP/M 에, 8인치 디스켓으로 동작돼서 ... 8 인치 디스켓 구하러 여기 저기 뛰어 다니다가, 결국 농협 본관 창고에서 몇장 얻었던 기억이 나는군요.

---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도

즐겁게 놀아보자.
http://akpil.egloos.com


---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도

즐겁게 놀아보자.

cppig1995의 이미지

탭이 8.3에 맞추었다면, 파일네임은 최대 12글자일 테니까 13글자탭이 아니었을까 싶기도 한데요.

1234.ext\t5678.ext\t9012.ext\n
123456.ext\t12.ext\t3333333.ext\n
이런식으로 하려고요.

Real programmers /* don't */ comment their code.
If it was hard to write, it should be /* hard to */ read.

warpdory의 이미지

저희집에 예전에 삼촌이 쓰시던 아주 구닥다리 타자기가 한대 있는데, 그게 TAB 을 누르면 8 칸을 움직여갑니다. 대충 1968년도 제품이라고 뒤에 쓰여 있었으니(어렸을 때 보면서 와.. 나보다 먼저 만들어진 거네 ? 라고 했던 기억...) 그 전부터 TAB = 8 칸 이라는 공식이 있지 않았을까 싶습니다.

---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도

즐겁게 놀아보자.
http://akpil.egloos.com


---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도

즐겁게 놀아보자.

평양선봉의 이미지

그러고 보니, 초등학교때 사용한 타자기의 탭키가 8칸 밀렸던거 같습니다.
2학년때 타자기로 일기쓰면서, 글씨체를 잃어 버렸지만.. 키보드랑 친해진 계기가 아니었나 합니다.. :)

아무래도, 출판쪽에서의 관행(?)이 아닐까하는 생각입니다.

----
사진기록 : http://eunchul.blogspot.com/

----
웹페이지 : http://bzpalm.net/

irondog의 이미지

돼지군 wrote:
(다른건 몰라도 5칸은 괜찮을 듯 한데...)

5칸으로 tab을 쓰는 사람도 분명 있을 것 같은데요. ^^
그러고보니 주변에 1칸으로 해서 쓰는 사람도 있었던 것 같네요.
어처면 tab자체를 안쓰고 스페이스를 썼던 사람이었을지도 모르겠어요.

암튼... 떠오르는 생각은 이렇습니다.
돼지군은 5를 써도 괜찮다고 생각한 것이 10진수에 익숙해서가 아닐까요?
10의 절반이 5니까... 그럼 컴퓨터에서는??? 2진수 또는 16진수를 쓰게 되잖아요.
그래서 16의 반인 8을, 또 그의 반인 4를 자연 스럽게 생각해서 그런게 아닐까 생각됩니다. ^^

jg의 이미지

새로운 스펀지 소재인건가요 ;)

$Myoungjin_JEON=@@=qw^rekcaH lreP rehtonA tsuJ^;$|++;{$i=$like=pop@@;unshift@@,$i;$~=18-length$i;print"\r[","~"x abs,(scalar reverse$i),"~"x($~-abs),"]"and select$good,$day,$mate,1/$~for 0..$~,-$~+1..-1;redo}

bushi의 이미지

근본이 타자기였는지 알 수는 없지만,
라인프린터가 모니터 대접을 받던 시절,
\t 문자에 대해 프린터는 헤드를 8자 만큼 오른 쪽으로 움직입니다.
8 이라는 숫자는 이렇다 치고...

말이 되는 소린지 모르겠으나, 기계적으로 보면... tab 은 정렬이 아니라 압축에 도움이 되는 걸로 봐야겠지요. 파일크기도 크기지만 라인프린터에 데이터를 넘겨주는 효율성의 문제이기도 합니다.

cppig1995의 이미지

책("하드웨어와 소프트웨어 CODE")을 조금 찾아보니까 IBM 펀치카드가 80칸이었다고 하더군요.
찰스 펫졸드 아저씨 왈 그래서 지금까지도 텍스트 전용 출력장치의 한 줄을 '카드'라고도 한다고 합니다.

Real programmers /* don't */ comment their code.
If it was hard to write, it should be /* hard to */ read.