另一个问题,什么是垂直标签?,描述了垂直标签字符最初用于。

但是为什么人们认为U+000B VERTICAL TAB如此重要,以至于首先要用C语言和许多其他编程语言分配一个转义序列('\v')?

另请参阅:某人对此进行投诉

有帮助吗?

解决方案

创建C时,可能希望垂直制表符和钟形字符作为将在ASCII和EBCDIC之间移植的代码中的定界符足够有用,该代码必须提供一种可读且可移植的方式注明他们。虽然可以写 通用标签

我不认为这种用法在C的最早方言中是合法的。此外,即使允许这种用法,使用特殊的宏作为引号的字符也可能被认为有点丑陋。我知道这些事情最终在printf便携式类型格式说明符中是必需的,但这并不意味着它很漂亮。

要考虑的另一件事是,C并非旨在成为人们在未来几十年中会使用的编程语言。它旨在解决一些紧急需求。在1970年代后,K&R不会在乎是否有人想要VTAB字符。如果他们的直属客户愿意使用它们,那是一个很好的理由将它们包括在内。

其他提示

正确答案:TELETYPE

它与定界符有关。我的父母处理大数据,许多广播公司和财富500强公司一直使用打孔卡,直到80年代。请记住,大多数语言最初都是为在电传打字机而非屏幕上输入和使用而设计的。打印机不仅像今天一样用于打印文档。 根本没有监视器。显示为打印输出。

请记住,垂直制表符非常有用。即使是在打字后,我的父母也通过覆盖已更改的部分来更快地渲染表格。因为那时甚至纯文本显示都太慢了!

有趣的视频: https://www.youtube.com/watch?v=qv5b1Xowxdk

但更重要的是:现代操作系统中的很多很多东西都是电传打字机的遗迹……而不仅仅是垂直制表符。我们对他们已经习以为常,以至于人们甚至不再考虑他们,但他们也同样不可思议。除非自70年代以来一直在编码,否则我肯定很多人不会意识到这些约定的来源。

  • 您是否在80列的文字或电子邮件中换行?
    因为IBM打孔卡的宽度为80个字符。

  • 您是否使用支持自底向上编码的图形(例如Windows位图)或原点位于下角的任何图形库?
    因为电传打字机从下向上滚动。

  • 您使用\ n表示新行吗?
    因为\ n代表换行,它来自电传打字机之前的手动打字机。

  • 您曾经在Linux下通过写/ dev / tty来向朋友发送消息吗?
    因为TTY是电传打字的缩写。

  • 您是否曾经告诉某人使用现有库而不是重新发明轮子?您是否曾经使用过库或框架?
    因为这就是旧代码的徘徊方式。当然,好处大于危害,但是建立在库顶部的库之上的库会导致这种蠕动的依赖关系,因此,即使原始库早已消失,与它兼容的所有内容也会导致其约定继续存在。 ...等等...

    这些电传打字约定非常牢固地扎根到操作系统本身中 。我完全希望这一直存在,直到有人从头开始编写操作系统为止,即使这样,我不太确定。毫无疑问,为什么C语言会选择它们。记住,C早于LISP,Forth,COBOL,FORTRAN,Pascal甚至是BASIC。

    P.S。使用铃铛字符作为分隔符将是一件疯狂的事情。研磨研磨研磨BEEP研磨研磨BEEEEEEP研磨chuka chuka BEEP研磨chuka研磨研磨BEEEP。 Whizzzz坏了。研磨研磨BEEP ...

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top