Language agnostic 选择常用注释符号的原因和历史
大多数编程语言使用Language agnostic 选择常用注释符号的原因和历史,language-agnostic,comments,interpreted-language,compiled-language,Language Agnostic,Comments,Interpreted Language,Compiled Language,大多数编程语言使用/或#作为单行注释(请参阅)。似乎#特别用于解释语言。根据解释,这似乎是因为早期的shell之一(bourne shell)使用了“#”作为注释并利用了它() 选择#作为注释符号是否有逻辑上的原因(例如,符号化通过#划掉)?为什么我们在许多编译语言中使用/作为注释符号(特别是在C语言中,因为它似乎是最早使用该符号的编译语言之一)?有没有合乎逻辑的原因?为什么不用代替/,或者用/代替 (在早期shell中)选择#作为注释符号是否有逻辑上的原因 Bourne shell标记器非常简
/
或#
作为单行注释(请参阅)。似乎#
特别用于解释语言。根据解释,这似乎是因为早期的shell之一(bourne shell)使用了“#”作为注释并利用了它()
选择#
作为注释符号是否有逻辑上的原因(例如,符号化通过#
划掉)?为什么我们在许多编译语言中使用/
作为注释符号(特别是在C语言中,因为它似乎是最早使用该符号的编译语言之一)?有没有合乎逻辑的原因?为什么不用
代替/
,或者用/
代替
(在早期shell中)选择#
作为注释符号是否有逻辑上的原因
Bourne shell标记器非常简单。要添加注释行支持,单字符标识符是最简单、合乎逻辑的选择
如果希望与EBCDIC和ASCII(当时使用的两个主要字符集)兼容,则可以选择的单个字符集非常小:
代码>(逻辑不在bc
)
#
%
(bc
中的模)
@
^
(电源输入bc
)
~
(用于路径)
现在,我列出了在同一时间段内使用的计算器bc中使用的那些,不是因为它们是一个原因,而是因为您应该了解Bourne shell开发人员和用户的上下文。bc
符号不是凭空出现的;流行的偏好影响了选择,因为开发人员希望语法是直观的,至少对他们自己是这样。因此,上面的bc
注释有助于展示当代开发人员与特定角色之间的关联。我并不想暗示卑诗省必然对伯恩壳牌公司产生影响,但我确实相信它确实产生了影响;开发Bourne shell的原因之一是使像bc
这样的工具的使用和自动化更容易
实际上,只有#
和@
是ASCII和EBCDIC中可用的“未使用”字符;看起来“哈希”胜过了“at”
为什么我们在许多编译语言中使用/
作为注释符号
/
注释样式来自。许多BCPL标记和运算符已经有多个字符长,我怀疑当时开发人员认为最好(为了互操作性)将已经使用的字符重新用于注释行标记,而不是引入一个全新的字符
我怀疑/
注释风格在页边空白注释中具有历史背景;一条双垂直线,用于将实际内容与注释或解释分隔开来,这是一个清晰的视觉分隔线,即使对于那些不熟悉该实践的人也是如此
为什么不使用
而不是/
,或者[反之亦然]
在上述两种情况下,都有明确的逻辑。然而,这并不意味着这些是唯一合乎逻辑的选择。在做出选择的时候,这些对开发人员来说是最有意义的——我试图解释一下可能的原因,上面提到的选择的背景
如果你对这类问题感兴趣,我建议你找到旧的数学和科学(特别是物理学)书籍,甚至可能是旧笔记的复制品。你看,最好的工具是直观的;要想找到某人的直觉,你需要找出他们工作的背景。我绝对相信,通过了解早期开发人员及其同事和导师的习惯,您可以找到有趣的“原因”——使某些选择对他们来说是合乎逻辑和直观的,而对我们来说,它们可能看起来很奇怪 喜欢绿色而不是蓝色有什么合乎逻辑的原因吗?@StoryTeller是的,例如,如果我想为森林中的人们放置重要的警告标志,而我只能在蓝色和绿色之间选择,我会为他们选择蓝色。@SearchSpace-在这种情况下,你会喜欢红色或黄色,因为你想让它们脱颖而出(你在这两种情况下都不受限制)。但这是离题的。你的问题要求解释语言设计师的想象力所做的事情。@StoryTeller是的,我会为应用程序选择合适的颜色(在这种情况下,我希望警告符号突出,我会选择一种对比度高的颜色)。问题是,为什么语言设计师喜欢choosen符号(他们的应用案例中考虑的是什么——因为我们的脑海中有“突出”的意思)。我不认为他们拿了骰子/立方体(你只是假设他们没有理由,因为你还没有看到,但这并不能保证没有理由[这可能不像警告标志示例中那样明显])你对
#
”很明显:/
注释格式,因为大多数