and 대신 and time
같은 이해하기 어려운 시스템 호출 이름을 사용하는 이유는 아마도 Unix 및 에 더 적합할 것입니다 . 그러면 다음 요점으로 넘어가겠습니다: 왜 누군가가 읽을 수 있도록 낙타 대문자나 최소한 밑줄도 없는 것을 원하는 걸까요? 물론 호출에는 더 많은 문자가 포함되지만 코드 가독성이 더 중요하다는 것은 모두가 알고 있는 사실입니다.creat
getCurrentTimeSecs
createFile
get_current_time_secs
create_file
cfsetospeed
답변1
이는 당시 기술적인 한계 때문이었습니다. POSIX 표준은 1970년에 탄생한 UNIX를 참조하여 1980년대에 만들어졌습니다. 일부 C 컴파일러에서는 시간 제한 식별자를 6~8자로 지정하여 변수 및 함수에 대한 표준 이름 길이를 설정합니다.
관련 질문:
답변2
dr_의 말이 맞습니다. 하지만 가용성이라는 또 다른 이유가 있습니다. 과거에는 키보드만큼 편안한 타이핑 도구가 없었습니다. 운이 좋다면 구식 타자기와 비슷한 것을 갖게 될 것입니다. 운이 좋지 않다면 실제 물리적 작업이 필요한 시스템을 다루거나(예: "키"를 누르는 데 많은 힘이 필요함) 수동으로 카드에 구멍을 뚫어야 합니다.
이는 6~8자 제한 내에서도 명령을 가능한 한 짧게 유지하려고 한다는 의미입니다. 그렇기 때문에 ls
대체 list
및 creat
대체가 있습니다 create
. 그 시대의 코드는 a
, x
그리고 i
물론 친구와 같은 변수로 가득 차 있었습니다 x2
. 타이핑은 많은 작업입니다. 오늘날에는 listIndex
예전의 "타이핑"보다 적은 에너지 로 타이핑하며 i
속도도 거의 느리지 않습니다(특히 자동 완성과 같은 추가 기술을 사용하면 더욱 그렇습니다).
진짜 질문은 - 인기가 떨어지고 있음에도 불구하고 왜 그렇게 많은 Unix 관용구가 여전히 존재하는가입니다.
답변3
다른 답변 외에도 Unix는 훨씬 더 장황한 명명 규칙을 사용하는 Multics, CTSS 및 기타 최신 운영 체제에 대한 반응으로 개발되었다는 점을 지적하고 싶습니다. 다음 운영 체제를 경험할 수 있습니다.http://www.multicians.org/devdoc.html. 예를 들어,http://www.multicians.org/mspm-bx-1-00.htmlchange_name
파일 이름을 바꾸는 명령을 제공합니다 . Unix mv
.
또한 시스템 호출 이름이 매우 짧은 주된 이유는~을 고집하다이전 버전과 호환됩니다. 예 를 gettimeofday
들어 .clock_gettime
time
(오늘날에도 for 루프 whateverIndex
대신 i
인덱스를 사용하면 자동 코드 검토가 실패하게 됩니다.내 거책;-)
답변4
Dennis Ritchie는 Fortran에 필요하지 않은 링커 기능에 의존하지 않도록 C에 제한을 설정했습니다. 따라서 외부 이름은 6자로 제한됩니다.