Ben*_*oyo 43 system-calls history posix
使用诸如 and 之类的难以理解的系统调用名称time而creat不是getCurrentTimeSecsand的原因是什么?createFile or 之,也许更适合 Unixget_current_time_secs和create_file. 这让我想到下一点:为什么有人想要cfsetospeed没有驼峰式大小写或至少下划线之类的东西以使其可读?当然,调用会有更多字符,但我们都知道代码的可读性更重要,对吗?
dr_*_*dr_ 60
这是由于当时的技术限制。POSIX标准创建于1980年代,简称UNIX,诞生于1970年。当时的几个C编译器都限制了标识符的长度为6或8个字符,从而确定了变量和函数的长度标准名称。
相关问题:
Lua*_*aan 26
dr_ 是对的,但还有另一个原因 - 可用性。过去,您没有像键盘那样舒适的东西来打字。如果你幸运的话,你有一台类似于老式打字机的东西。如果你不走运,你必须处理需要实际体力工作才能运行的系统(例如,按下“键”需要很大的力),或者你手动在卡片上打孔。
这意味着即使在 6 到 8 个字符的限制内,您也尝试使命令尽可能短。这就是为什么你有ls而不是list,而creat不是create。那个时代的代码充满了变量,比如a,x和i- 当然,x2还有朋友。打字是一项繁重的工作——今天,你打字的力度listIndex比以前“打字”要少i——而且它甚至不再那么慢(尤其是使用自动完成等附加技术)。
真正的问题是 - 为什么这么多 Unix 习语即使不再需要,仍然存在?
zwo*_*wol 22
除了其他答案之外,我想指出 Unix 是作为对 Multics、CTSS 和其他当代操作系统的反应而开发的,这些操作系统在命名约定方面更加冗长。您可以在http://www.multicians.org/devdoc.html 上了解这些操作系统。例如,http://www.multicians.org/mspm-bx-1-00.html给出change_name了重命名文件的命令;比较 Unix mv。
此外,非常短的系统调用名称持续存在的主要原因是向后兼容性。您会注意到较新的 API 往往更加明确;例如gettimeofday,clock_gettime而不仅仅是time.
(即使在今天,在我的书中使用whateverIndex而不是ifor 循环索引是自动代码审查失败;-)
use*_*421 11
Dennis Ritchie 用 C 给自己设置了一个约束,它不依赖于 Fortran 不需要的任何链接器功能。因此,外部名称限制为 6 个字符。
| 归档时间: |
|
| 查看次数: |
5263 次 |
| 最近记录: |